reaperrr
7ca9aa5e0b
Make INotifyDamage require explicit implementation
2018-04-29 11:59:49 +01:00
reaperrr
0c52ff3ae5
Cache TargetablePositions in Actor
...
To speed up Target.Positions.
2018-04-07 17:24:13 +01: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
Paul Chote
2fccfdf1ee
Add support for disabling IIssueDeployOrders.
2018-01-28 18:06:30 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
Mustafa Alperen Seki
fc07391c8c
Add Type Support for InfiltrateFor* traits
2017-12-27 11:13:09 +00:00
Unknown
4be593123d
add me (jongleur1983) to AUTHORS
...
#14558 : MovingToRefinery takes actor instead of CPos
DeliveryOffset (previously added by the harvester) is now taken into account by the AutoCarryable
fix whitespaces
2017-12-25 03:52:44 +01:00
GSonderling
488cec64b8
Added support for filtering exits by production type.
2017-12-13 04:08:52 +01:00
RoosterDragon
0899d02377
Avoid allocations when generating RadarSignatureCells.
...
The RadarWidget can supply a reusable buffer to each trait to avoid individual traits having to return new enumerables. Additionally, this allows the two traits to avoid LINQ and further allocations as they can manually enumerate and populate the buffer themselves.
2017-12-12 00:00:51 +01: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
reaperrr
786a0eb07f
Refactor PowerManager and RequiresPower to use conditions
...
Instead of Actor.IsDisabled.
Added INotifyPowerLevelChanged interface to do so as efficiently as possible.
2017-11-13 03:09:05 +02:00
Paul Chote
47634b25f9
Remove IFogVisibilityModifier.
2017-11-03 09:56:00 +01:00
reaperrr
0ce3c113e1
Require explicit ITargetableCells
2017-10-07 10:17:11 +02:00
Forcecore
18c6fe09db
Sound and Animation support for DonateCash
2017-10-06 18:07:18 +02:00
Matthias Mailänder
0018bf3063
Add start and stop repair overlay animation support.
2017-09-24 11:43:49 +01:00
abcdefg30
71f2026b32
Remove the hardcoded cloak reference from activities
2017-09-13 21:18:21 +02:00
Paul Chote
f5e38a4e2c
Move ISeedableResource interface to Mods.Common.
2017-09-10 18:36:39 +02:00
Paul Chote
1de767d9bf
Move objectives interfaces to Mods.Common.
2017-09-10 18:36:39 +02:00
Paul Chote
3f72076e1a
Move radar signature interfaces to Mods.Common.
2017-09-10 18:36:39 +02:00
Paul Chote
0648fc9f31
Move damage notification interfaces to Mods.Common.
2017-09-10 18:36:39 +02:00
Paul Chote
e3212d1e64
Move the IMove interface to Mods.Common.
2017-09-10 18:36:39 +02:00
Matthias Mailänder
4526344eed
Add WithNukeLaunchAnimation and -Overlay traits.
2017-09-02 15:10:35 +02:00
reaperrr
cab6a96b16
Allow skipping make anim for actors with WithMakeAnimation and GrantConditionOnDeploy
2017-08-17 22:03:42 +01:00
Paul Chote
afd8b9ab86
Rework harvester resource claiming:
...
* Maintains lists of claims, and only restricts
reservations for friendly units.
* Removes OnNotifyResourceClaimLost; it's not
clear whether that is still useful, and it
prevents future necessary cleanups.
* Moves other code without changing behaviour.
This fixed stale claims from dead units and enemy
claims from preventing otherwise valid harvest
activities.
2017-07-18 01:09:19 +02:00
Paul Chote
b2c3a55c12
Add IActorPreviewInitInfo interface.
2017-07-01 10:35:22 +01:00
Paul Chote
e8d6d63707
Add IIssueDeployOrder.
2017-06-06 08:53:54 -06:00
reaperrr
aa8d9f5dda
Fix GrantConditionOnDeploy to support multiple sprite bodies
2017-05-14 00:22:26 -05:00
reaperrr
d92d9f86fc
Add IBlocksProjectilesInfo interface
2017-05-13 11:15:38 -07:00
atlimit8
d433473249
Replace IConditionConsumer w/ variable observers for multiple variable expressions for traits.
2017-04-22 08:36:18 -05:00
atlimit8
65725efd04
Make ConditionExpression use counts.
2017-02-22 08:54:50 -06:00
Paul Chote
a8d46adb2d
Rename tesla attack logic and move to Mods.Cnc.
2017-02-11 16:19:58 +00:00
Paul Chote
2bd5a392d1
Add plumbing for custom movement layers.
2017-01-29 18:58:33 +00:00
Zimmermann Gyula
1544f24663
Implement experience multipliers.
2017-01-15 20:33:26 +01:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Paul Chote
bcb3d52eb0
Convert Parachutable to conditions.
2016-12-13 19:30:38 +00:00
reaperrr
d9d1fe2e73
Move VisibilityType enum to TraitsInterfaces
...
VisibilityTypes are used by several other traits as well, so it makes more sense to move it to a common, shared location.
2016-12-10 13:45:12 +01:00
Paul Chote
3f0b33992c
Rewrite UpgradeManager implementation to suit conditions.
2016-11-20 13:55:47 +00:00
reaperrr
162fef3da1
Fix style nit
2016-11-05 18:54:41 +01:00
reaperrr
ad6ea52bff
Make IPowerModifier require explicit implementation
...
Plus some 'collateral' explicit implementations on the affected traits.
2016-10-30 20:22:16 +01:00
reaperrr
2d0560dcb7
Make RangeModifier interfaces require explicit implementation
2016-10-30 20:22:16 +01:00
reaperrr
02f14f0761
Make IInaccuracyModifier require explicit implementation
2016-10-30 20:22:16 +01:00
reaperrr
80d9241bbe
Make IReloadModifier require explicit implementation
2016-10-30 20:22:16 +01:00
reaperrr
fc2f006ec1
Make IFirepowerModifier require explicit implementation
2016-10-30 20:22:16 +01:00
reaperrr
4af7134115
Require explicit ISpeedModifier implementation
...
Plus misc "collateral" explicit interfaces.
2016-10-30 20:22:16 +01:00
reaperrr
97c2c24e8d
Require explicit implementation of IDamageModifier
2016-10-30 20:22:16 +01:00
reaperrr
f8077dc113
Move combat modifier interfaces (damage, speed etc.) to mod code
2016-10-30 20:22:16 +01:00
reaperrr
9dfddaf5d9
Move IRenderInfantrySequenceModifier to mod code and require explicit...
...
implementation.
2016-10-30 20:22:16 +01:00
reaperrr
77a134da91
Move INotifyDamageStateChanged to mod code and require explicit implementation
2016-10-22 18:21:52 +02:00
reaperrr
a6b09342bc
Make INotifyBuildComplete require explicit implementation
2016-10-22 18:21:52 +02:00
reaperrr
d9ecba7b60
Make INotifyInfiltrated require explicit implementation
2016-10-22 18:21:52 +02:00