Commit Graph

90 Commits

Author SHA1 Message Date
penev92
623642f9d5 Moved RenderSprites.cs from Mods.RA to Common 2014-11-02 18:33:47 +02:00
Oliver Brakmann
7b1ab34392 Make crates not suck
* allow for crates without any associated CrateActions
* allow for crates to not auto-remove
2014-10-26 00:38:31 +02:00
Paul Chote
8ec8f82178 Destroy a paradropped crate if it lands on something that can’t collect it. Fixes #5953, #6427. 2014-09-12 20:06:52 +12:00
atlimit8
8ad1140921 Reduce ICrushable trait lookup & drop -SubCell suffix.
Replace `a.HasTrait<ICrushable>()` with a.TraitsImplementing<ICrushable>().Any() or equivalent.
2014-08-30 04:43:57 -05:00
atlimit8
e29b9edfc1 Changes to map.cs, rename IPositionable.IsLeaving{ => Cell}, add IPositionable.GetValidSubCell 2014-08-29 23:30:16 -05:00
atlimit8
63c28ee4d7 Refactored in new enum SubCell 2014-08-29 23:00:53 -05:00
atlimit8
27ad5208fb Fixed Mobile.SetPosition & other FixUnloadCargo touch-ups
Fixed Mobile.SetPosition
Finally removed old SubCell enum
Folded MobileInfo.CanEnterCell overloads into one
Renamed IPositionable.{IsMovingFrom => IsLeaving}
Changed Crate.IsLeaving to use crate lifetime
2014-08-29 23:00:53 -05:00
atlimit8
b2c9064545 Refactored [sub-]cell availability logic in IPositionable & ActorMap
Moved the logic from IPositionable.CanEnterCell & integrated sub-cell selection.
Added IPositionable.IsMovingFrom(CPos location, int subCell = -1) - to detect transient actors
Renamed IPositionable.{GetDesiredSubcell => GetAvailableSubcell} - since it checks for available sub-cells
Reduced IPositionable.CanEnterCell to one method that usually uses IPositionable.GetAvailableSubcell
Added actor checking to ActorMap.{HasFreeSubCell, FreeSubCell, AnyUnitsAt} - used by [sub-]cell availability logic
2014-08-29 23:00:53 -05:00
atlimit8
ff7ad53dee Fixed UnloadCargo stacking using new subcell API exposure 2014-08-29 23:00:53 -05:00
atlimit8
fe57417aa8 Added int subCell = -1 to IMove.MoveIntoWorld & IPositionable.SetPosition(Actor self, CPos cell) 2014-08-29 23:00:53 -05:00
Alexander Fast
070d00c678 Fixes year numbers in license text in file headers. 2014-08-21 11:27:52 +02:00
atlimit8
43478dd500 enum SubCell => int & Dictionary<SubCell, WVec> => WVec[] 2014-08-04 18:09:26 -05:00
Matthias Mailänder
aa8ce199c2 self-document CrushClass of crates 2014-08-03 16:26:19 +02:00
Matthias Mailänder
91b612fa47 ITeleportable does not exist anymore 2014-08-03 16:26:18 +02:00
Paul Chote
51abbad5ff Move RenderSprites and RenderSimple into Mods.RA. 2014-07-22 16:43:39 +12:00
Matthias Mailänder
1a0bb726e6 document for modders 2014-07-05 09:13:51 +02:00
Matthias Mailänder
0feb5a7bdc check for building influence when growing resources
closes #5556
2014-07-04 09:22:14 +02:00
Paul Chote
9487f49cd5 Replace WPos.ToCPos -> Map.CellContaining. 2014-06-27 23:30:40 +12:00
Paul Chote
7b52fa52b6 Replace CPos.CenterPosition -> Map.CenterOfCell. 2014-06-27 23:30:40 +12:00
Paul Chote
5560f276ca Map: Rename IsInMap -> Contains. 2014-06-27 22:07:03 +12:00
Paul Chote
2026747f2a Use Map.IsInMap(CPos) for things that are checking CPos. 2014-06-27 19:20:46 +12:00
ScottNZ
dbffce81a6 Remove unused usings 2014-06-15 22:16:40 +12:00
Pavlos Touboulidis
c282fa1077 Move GetTerrainIndex/Info from WorldUtils to Map 2014-06-13 13:57:32 +03:00
Pavlos Touboulidis
092352729f Change terrain type from string based dictionaries to arrays 2014-06-13 11:20:54 +03:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Chris Forbes
a5316a488f Merge pull request #4360 from cjshmyr/crates
CrateSpawner changes
2013-12-27 19:11:12 -08:00
Curtis Shmyr
fa9e98d844 Use add and remove world notifications on Crate to maintain the CrateSpawner list of crates 2013-12-26 16:22:31 -07:00
Paul Chote
fd235f11cf Remove redundant AddInfluence. 2013-12-27 10:22:26 +13:00
Paul Chote
e9e2e353f7 Change crate graphics for christmas. Closes #4296. 2013-12-15 18:16:15 +13:00
Taryn Hill
e3e7d0b38c Add ignoreActor and checkTransientActors to IPositionable.CanEnterCell
Improved 'return' checks
Removed unnecessary 'using'
Fixed defaults.yaml spelling error
2013-10-13 20:24:29 -04:00
Paul Chote
e03ec690ff Track actor positions in ActorMap. 2013-09-27 15:36:51 +12:00
Paul Chote
b00cc6108d Make ActorMap addition explicit. 2013-09-27 15:36:51 +12:00
Paul Chote
dfd51c0caa Introduce ScreenMap trait for caching screen-coord queries. 2013-09-27 15:36:25 +12:00
Paul Chote
c3f04cc32e Convert non-aircraft positioning to world coords.
This removes the incomplete and unused hover code
on Mobile, which would be more trouble that it is
currently worth to carry over.
2013-07-21 17:35:47 +12:00
Paul Chote
6a435752fd Remove *PxPosition from IOccupySpace/IPositionable. 2013-07-21 17:35:46 +12:00
Paul Chote
19165d259d Add world coord overloads to IOccupySpace and IPositionable. 2013-07-21 17:35:46 +12:00
Paul Chote
048bed0a5e Rename ITeleportable -> IPositionable. 2013-07-21 17:35:41 +12:00
Paul Chote
ecc119cb29 Combine IHasLocation -> IOccupySpace, IMove -> ITeleportable. 2013-07-21 17:33:32 +12:00
Paul Chote
e7aa6ce998 Change traits to use RenderSprites directly. 2013-05-28 22:34:58 +12:00
Chris Forbes
82eddfdf98 #2354 fixed - multiple collection of crates 2012-08-09 10:25:45 +12:00
Chris Forbes
9201b1cced fixed #2198 - crates are collected when landing on top of a unit 2012-07-01 09:04:49 +12:00
Chris Forbes
b9365a149f remove old crates list 2012-06-30 17:06:15 +12:00
James Dunne
9c49143534 New types for cell and pixel coordinate position/vectors. 2012-06-21 15:36:59 -05:00
Chris Forbes
e9656795a2 RenderCargo depends on IMove on the containing actor 2012-05-22 19:24:53 +12:00
Chris Forbes
c4916bd997 #2038 fixed - add shadow to crates on the ground 2012-04-24 19:17:41 +12:00
Chris Forbes
55036cd58c fix trailing whitespace everywhere 2011-09-26 08:40:39 +13:00
Chris Forbes
6a99ff7931 reinstate CrateAction.ExcludedActorTypes; custom maps use this. 2011-07-16 19:09:28 +12:00
Paul Chote
19ead53223 Add a WarnCrush method to ICrushable which is called when a crusher begins to enter the cell. 2011-07-15 20:10:21 +12:00
Paul Chote
98ae8c7630 Take ownership into account when determining crushability. Fixes the important half of #951 (tanks crushing your own walls). 2011-07-14 21:00:50 +12:00
Paul Chote
11a9bc7e43 Remove ExcludedActors from crate actions. Use a tag trait for cloakable actors. Ban MCV from receiving cloak. 2011-07-01 00:07:04 +12:00