Paul Chote
cd9bf53e1a
Use nameof() to reference image fields.
2020-09-12 17:52:46 +02:00
Paul Chote
7803686aec
Rewrite sequence linting / missing file handling.
...
- Distinguish between missing sequences and missing sprites
- Lint default sequences as well as maps
- Improved performance
- Correctly handle null images
2020-09-12 17:52:46 +02:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
teinarss
19b02875c7
Use Tuple syntax
2020-08-15 10:37:10 +01:00
Andre Mohren
006a87692a
Removed unused imports.
2020-07-28 18:22:51 +02:00
Paul Chote
b856613194
Add ISingleInstanceInit interface.
...
Inits that are logically singletons (e.g. actor
location or owner) should implement this interface
to avoid runtime inconsistencies.
Duplicate instances are rejected at init-time,
allowing simpler queries when they are used.
2020-06-19 17:57:56 +02:00
Paul Chote
7c6ec577dc
Rewrite ActorInit queries.
2020-05-28 19:04:53 +02:00
abcdefg30
07c16cee1d
Add TargetTypes to HealActorsCrateAction
2020-05-21 14:08:14 +02:00
abcdefg30
15a2341a91
Rename HealUnitsCrateAction to HealActorsCrateAction
2020-05-21 14:08:14 +02:00
Paul Chote
86f61298e6
Replace ITraitInfo interface with TraitInfo class.
2020-05-21 13:01:04 +02:00
reaperrr
6220d7e62e
Introduce WarheadArgs
...
- Passes additional arguments to warheads on impact
- Uses that to reduce parameter count of DoImpact by 1
2020-01-21 19:31:34 +01:00
abcdefg30
15b2d6b9e0
Let all Positionable traits notify visual position changes
2020-01-18 23:07:23 +00:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
abcdefg30
4717e98c48
Add a subCell parameter to IPositionableInfo.CanEnterCell
2019-11-21 14:13:17 +01:00
tovl
4a609bbee8
Allow units to give way when path is blocked by oncoming unit.
2019-09-15 17:51:34 +01:00
tovl
2d394f33b8
Fix units from transports appearing at load point.
2019-08-19 00:33:38 +02:00
teinarss
277906c657
Fixes on blocking logic
2019-08-10 17:34:11 +02:00
teinarss
cc84daacea
Added cache for cell cost and blocking
2019-07-26 15:54:22 +02:00
Mustafa Alperen Seki
ccc68b0272
Make Crate trait public.
2019-06-02 15:34:06 +02:00
Paul Chote
78a70be0d4
Fix and enable SA1133, SA1134 style rules.
2019-05-24 10:47:57 +02:00
Mustafa Alperen Seki
2bb2d6e9c5
Add ability to grant condition multipile times to GrantExternalConditionCrateAction
2019-04-22 20:51:23 +02:00
Paul Chote
3e404f6ac2
Remove HSLColor.
2019-03-04 18:26:42 +00:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
reaperrr
eb86160021
Remove CrateEffect in favor of using updated SpriteEffect
2018-12-05 09:04:29 +13:00
Andre Mohren
b1a44086a0
Removed unused using directives.
2018-11-17 17:23:22 +00:00
Mustafa Alperen Seki
98006d3870
Make CrateAction>Sound to play for everyone
2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
5f17f0b5b0
Add actual notification support for *CrateAction traits
2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
f066655bb7
Rename CrateAction>Notification to Sound
2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
f3cbc5f72b
Make CrateAction conditional.
2018-10-24 15:13:04 +01:00
Andre Mohren
640078a2b1
Refactored Health usage to IHealth.
2018-09-29 18:12:40 +02:00
Chris Forbes
51e000599a
Convert crushclasses to bitset
2018-07-28 21:28:46 +01:00
Paul Chote
c65d6d1484
Suppress negative cash crate action if the collector has no cash.
2018-05-07 19:47:41 +02:00
GSonderling
bf4dbd9b80
Added checks to make sure cash can't be < 0.
2018-05-07 19:47:41 +02:00
reaperrr
81343926b6
Split Locomotor trait from Mobile
...
Add GrantConditionOn*Layer traits
This allows to
- drop some booleans from Locomotor
- drop a good part of the subterranean- and jumpjet-specific code/hacks from Mobile
- grant more than 1 condition per layer type (via multiple traits)
- easily add more traits of this kind for other layers
2018-05-03 10:49:21 +02:00
Chris Forbes
dddd057e3d
Add IPositionable.CanExistInCell
...
This is like CanEnterCell, but doesn't take into account conflicting
actors, etc.
2018-04-10 01:01:53 +02:00
RoosterDragon
5bd5a384b7
Use a BitSet for representing target types.
...
- Rename Bits<T> to BitSet<T>.
- Implement set based helpers for BitSet<T>.
- When representing TargetTypes of ITargetable in various traits, use a BitSet<TargetableType> instead of HashSet<string> for better performance & reduced memory usage.
- Fix FieldLoader to trim input values when generating a BitSet<T>.
- Require T in BitSet<T> and BitSetAllocator<T> to be a class since it's just a marker value. This allows the JIT to instantiate generic code for these classes once, as they don't benefit from specialized code for T. (Typically JITs will generate shared code for all reference types, and unique code for every value type encountered).
2018-03-21 12:07:44 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
RoosterDragon
c8c7629bce
Convert some stray spaces to tabs.
2017-12-16 15:53:03 +00:00
RoosterDragon
62ab6ae6f1
OccupiedCells and TargetableCells must return arrays, not just enumerables.
...
This allows callers to efficiently enumerate these returned collections without the allocation and overhead imposed by the IEnumerable interface. All implementations were already returning arrays, so this only required a signature change.
2017-12-07 20:39:30 +02:00
Paul Chote
47634b25f9
Remove IFogVisibilityModifier.
2017-11-03 09:56:00 +01:00
reaperrr
8533debc44
Require explicit INotifyAddedToWorld and INotifyRemovedFromWorld
2017-10-07 10:17:11 +02:00
reaperrr
28e1f391e0
Make ITick require explicit implementation
2017-09-16 15:51:37 +02:00
Paul Chote
da5a725458
Add support for per-source and total external condition caps.
2017-02-18 19:10:22 +00:00
abcdefg30
ce97b3a3a2
Fix IPositionableInfo not inheriting IOccupySpaceInfo
2017-02-09 22:04:33 +01:00
abcdefg30
a385835939
Fix GiveUnitCrateAction being limited to MobileInfo
2017-02-09 22:04:32 +01:00
Paul Chote
255214e77c
Fix timed external conditions being rejected instead of reset.
2017-01-26 22:52:26 +00:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Paul Chote
d0270ab866
Rename comments and documentation.
2016-12-23 15:17:02 +00:00
Paul Chote
f360c10569
Rename ConditionManager variables.
2016-12-23 15:02:52 +00:00
Paul Chote
dcad5c3f7c
Rename UpgradeManager to ConditionManager.
2016-12-23 14:57:56 +00:00