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
Paul Chote
9ddfdc45b3
Introduce SoundType enum.
2016-12-23 11:34:23 +00:00
Paul Chote
bcb3d52eb0
Convert Parachutable to conditions.
2016-12-13 19:30:38 +00:00
Paul Chote
6e29dfecfe
Port GrantUpgradeCrateAction to GrantExternalConditionCrateAction.
2016-12-06 17:21:13 +00:00
Zimmermann Gyula
ecc65e4fe4
Do not apply the cell's Z offset twice during crate positioning.
2016-08-27 16:41:52 +02:00
Zimmermann Gyula
cf8fff2b99
Remove passing the warheads from DamageWarhead to AttackInfo.
...
Added a Damage class to pass damage value and damage(types) instead.
This removes a great amount of overhead and longterm opens possibilities to have damagetypes without warheads.
2016-07-12 10:09:49 +02:00
Oliver Brakmann
b080417db3
Prevent non-combatant players from receiving units from crate pickups
2016-07-08 13:24:25 +02:00
Paul Chote
9edf4be229
Disable hide map crate if explored map is enabled.
2016-06-18 14:18:05 +01:00
Paul Chote
a0b5b5ce66
Move initial map exploration to Shroud.
2016-05-14 18:54:44 +01:00
reaperrr
fd5a597966
Move Render traits to Traits.Render namespace
2016-04-15 20:43:04 +02:00
Bynnar18
a9ffe0a779
Paradrop Production
2016-03-30 02:46:19 +02:00
Oliver Brakmann
59d9eeaa08
Merge pull request #10795 from Mailaender/screenmap-bounds-crash
...
Fixed screen map updates for invisible mobile actors
2016-02-27 17:52:49 +01:00
Matthias Mailänder
9734054582
Reduce duplication.
2016-02-27 14:10:17 +01:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00
Matthias Mailänder
3885f0b559
Fix screen map updates for boundless actors.
2016-02-21 11:34:33 +01:00
abcdefg30
fe5754e2bd
Change the parameters of ICrushable.CrushableBy
2016-02-14 18:51:59 +01:00
abcdefg30
f21d1f52e7
Make the ICrushable implementation explicit
2016-02-14 18:51:57 +01:00
abcdefg30
8b59ce4dc2
Add a new INotifyCrushed interface
2016-02-14 18:51:56 +01:00
abcdefg30
e343803810
Remove an unnecessary Where in Crate.cs
2016-02-14 18:51:55 +01:00
RoosterDragon
8e89a6a696
Simplify names, remove unused usings, remove redundant casts.
2016-01-17 21:35:36 +00:00
abcdefg30
3c171569a7
Merge pull request #10193 from atlimit8/ITraitInfoInterface
...
TraitInfoInterface base for interfaces implemented by trait infos
2015-12-29 15:04:57 +01:00
RoosterDragon
dcf375a412
Store Targetables in Actor.
...
This can be used to avoid several lookups for these traits, as well as allow Actor to provide specialised methods to deal with target types efficiently. This also reduces some code duplication.
2015-12-12 20:55:17 +00:00
atlimit8
3d2aa751a3
TraitInfoInterface base for interfaces implemented by trait infos
2015-12-07 18:22:43 -06:00
atlimit8
b6f17df260
Add ActorsHavingTrait<TTrait>([Func<TTrait, bool])
2015-10-28 16:36:45 -05:00
reaperrr
2f69711341
Rename ActorMap *UnitsAt* occurences to *ActorsAt*
...
These enumerate actors in general, not just mobile actors (which the term 'unit' usually refers to).
2015-10-16 00:07:06 +02:00
Pavel Penev
0ed3ef0eb8
Merge pull request #9219 from deniz1a/hide-map-crate
...
Adds IncludeAllies option to hide-map crate.
2015-09-30 16:15:26 +03:00
Paul Chote
ef55d646f7
Unstatic the Sound class.
2015-09-20 14:11:06 +01:00
atlimit8
09984683a7
Add ActorInfo.TraitInfo[OrDefault]<T>() requiring ITraitIfo types
2015-09-19 09:56:14 -05:00
atlimit8
85fab45451
Remove Actor.HasTrait<T>()
2015-09-19 09:49:23 -05:00
atlimit8
1d9d28b540
HealUnitsCrateAction.Activate() use ActorsWithTrait<Health>()
2015-09-17 23:55:38 -05:00
atlimit8
578a92370b
Make DuplicateUnitCrateAction only check enabled targetability
2015-09-12 21:30:35 -05:00
deniz1a
07c0f489e3
Adds IncludeAllies option to hide-map crate.
2015-09-08 04:06:15 +03:00
atlimit8
8250f223c4
More HashSet trait fields & Lint support
2015-09-05 16:59:30 -05:00
RoosterDragon
901e604cf3
Replace arrays with sets.
...
In places where arrays were being treated as a set, just create a set directly. This reveals the intention of such collections better, and also improves performance by allowing set based methods to be used.
2015-09-03 20:09:24 +01:00