Paul Chote
506b677527
Add ModelAnimation.IsVisible property.
2017-12-11 19:45:07 +01:00
Paul Chote
041431d966
Add ISpriteSequence.Bounds and Animation(WithOffset).ScreenBounds.
...
The bounds define the smallest Rectangle that covers all frames within a sequence.
2017-12-11 19:45:07 +01:00
reaperrr
85c5259361
Fix AI crashing when trying to make parachuted harvester search map for resources while mid-air
2017-12-11 01:55:18 +01:00
reaperrr
b5ffe17d60
Make AI skip harvester orders if map has no resources
2017-12-11 01:55:18 +01:00
reaperrr
9ad0d78cdd
Make the AI only consider harvesters 'idle' if last resource search failed
...
Otherwise the AI would consider the harvester 'idle' in too many situations.
This way, the AI now only uses its own resource search algorithm if the next resource patch is too far away for the FindResources activity to find it.
2017-12-11 01:55:18 +01:00
reaperrr
4d553900cf
Move up harv.IsEmpty check in HackyAI
...
This is a fairly cheap check, so we should perform it before the activity checks
2017-12-11 01:55:18 +01:00
RoosterDragon
70ffa99203
Fix some uses of Exts.IsTraitEnabled.
2017-12-11 01:46:41 +01:00
RoosterDragon
ec84b61316
Reduce memory required in MovementClassDomainIndex
...
The number of distinct domains on a map is often dozens, or at most hundreds. We can use a ushort to represent this easily, and reduce the size of the backing storage required to track domain indicies over the whole map.
2017-12-11 01:41:07 +01:00
RoosterDragon
5338784e45
Fix bad uses of FirstEnabledTraitOrDefault on TraitInfos.
...
These are not traits so this method does not work. We can use EnabledByDefault on the ConditionalTraitInfo instead.
2017-12-10 13:39:24 +00:00
RoosterDragon
7a7eed4fb7
Add FirstEnabledTraitOrDefault helper method.
...
This avoids the allocations caused by LINQ when using traits.FirstOrDefault(Exts.IsTraitEnabled). This is important in FrozenActorLayer.RefreshState which is called very often. We apply the new helper method to all areas using the old pattern. An overload that takes an array allows arrays to be enumerated without causing allocations.
2017-12-10 13:39:24 +00:00
Paul Chote
cb670d83b3
Set PredictedStance when changing stance from Lua.
2017-12-08 01:54:55 +01:00
Paul Chote
b4c5346346
Migrate hotkey linter to HotkeyManager.
2017-12-08 01:29:15 +01:00
Paul Chote
74c390d1d0
Migrate input settings to HotkeyManager.
2017-12-08 01:29:15 +01:00
Paul Chote
2f79173044
Migrate hotkey consumers to HotkeyManager.
2017-12-08 01:29:15 +01:00
Paul Chote
811427adc4
Add HotkeyReference.IsActivatedBy method.
2017-12-08 01:29:15 +01:00
Paul Chote
c4237d6a1a
Rename NamedHotkey to HotkeyReference.
2017-12-08 01:29:15 +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
Paul Chote
9d2935935c
Add a debug visualization for screen map rectangles.
2017-12-04 23:10:23 +01:00
Pavel Penev
450cbeea96
Added an extra bit of installer data to Install.log
2017-12-02 00:08:50 +01:00
Paul Chote
8fea476a0d
Fix NRE when ProvidesPrerequisite is defined on the player actor.
2017-11-26 19:51:46 +01:00
Paul Chote
b898b5001a
Rename AttackBase.IsAttacking to IsAiming to make its uses and assumptions clear.
2017-11-26 15:58:00 +01:00
Paul Chote
ea05221180
Count AttackStatus.NeedsToTurn as valid for AttackBase.IsAttacking.
2017-11-26 15:58:00 +01:00
Marwan
8a38c6ef23
WithTextDecoration Fix
2017-11-26 15:35:50 +01:00
Paul Chote
855042894c
Fix bogus cached PowerState for map placed actors.
2017-11-26 03:37:33 +01:00
reaperrr
5ec3ad0957
Fix turrets following target even if AttackTurreted is disabled or paused
2017-11-25 03:55:56 +02:00
reaperrr
456d32f3eb
Make Attack* traits PausableConditional and replace IsDisabled with IsTraitDisabled checks
2017-11-25 03:55:56 +02:00
reaperrr
68487d1197
Replace turret IsDisabled check with AT.IsTraitDisabled check
2017-11-25 03:55:56 +02:00
reaperrr
cea2658f31
Remove IsDisabled from AffectsShroud traits
...
Makes them only disableable via conditions.
2017-11-25 03:55:56 +02:00
reaperrr
ede6d5a57d
Remove Actor.IsDisabled check from Cloak
...
Makes cloaking only disableable via conditions.
2017-11-25 03:55:56 +02:00
reaperrr
56b6aabbb8
Use new IAutoRenderSize for determining actor render bounds
2017-11-21 01:00:09 +02:00
reaperrr
5a596d27c9
Switch RenderNameTag to use SelectionOverlayBounds
2017-11-21 01:00:09 +02:00
reaperrr
6711af63eb
Move SelectionBarsRenderable to Mods.Common
2017-11-21 01:00:09 +02:00
reaperrr
be290cfabd
Split Actor.Bounds into RenderBounds and SelectableBounds
...
Additionally, internally renamed VisualBounds to SelectionOverlayBounds to avoid confusion with RenderBounds.
This step was necessary to prevent actors with selectable area smaller than their graphics to be removed too early from ScreenMap even though part of the graphics should still be visible.
RA cruisers were a prime example, but to a lesser extent several other actors were affected as well.
This separation also serves as preparation to determine the final RenderBounds from multiple source bounds later, to fix the remaining ScreenMap issues (building 'bibs', aircraft shadows).
2017-11-21 01:00:09 +02:00
Mustafa Alperen Seki
ca1448c7ba
Add Support of Types for GivesBuildableArea
2017-11-20 16:17:13 +02:00
Paul Chote
4cbc2ee6f3
Add support for custom sell cursors.
2017-11-19 23:40:33 +01:00
Paul Chote
5030a2257e
Delegate cursor selection to GlobalButtonOrderGenerator subclasses.
2017-11-19 23:40:33 +01:00
Andre Mohren
25968ee66f
Allow WithIdleOverlayInfo to render while the actor is being build.
2017-11-19 16:52:59 +00:00
Forcecore
c762453607
(External)Capturable are now conditional
2017-11-15 13:54:15 +02:00
reaperrr
a7620c97f0
Some internal renamings in power-related traits
2017-11-13 03:09:05 +02:00
reaperrr
7f5f2eac6f
Don't scale RepairIndicator with zoom
2017-11-13 03:09:05 +02:00
reaperrr
99edc71c54
PowerDown/low power refactor upgrade rule
2017-11-13 03:09:05 +02:00
reaperrr
917c6884ed
Make WithSpriteBody a pausable trait
...
Allowing to drop the PauseAnimationWhenDisabled property (in favor of using PausOnCondition).
2017-11-13 03:09:05 +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
reaperrr
6c02e3f2b7
Refactor CanPowerDown to provide a condition instead of triggering IsDisabled
2017-11-13 03:09:05 +02:00
reaperrr
d602ec6485
Rename SelfReloads to AutoReloads
2017-11-12 19:48:06 +00:00
reaperrr
18c371d702
Changed AmmoCondition to support condition stacking
2017-11-12 19:48:06 +00:00
reaperrr
9dabc9d672
Upgrade rule for adapting to removal of Armament.OutOfAmmo
2017-11-12 19:48:06 +00:00
reaperrr
8b7a71685c
Remove AmmoPool-awareness from Armament
2017-11-12 19:48:06 +00:00
reaperrr
ded92f394c
Upgrade rule for AmmoPool.SelfReloads removal
2017-11-12 19:48:06 +00:00
reaperrr
6f95080aa4
Add ReloadAmmoPool and adapt AmmoPool
...
Refactored and simplified Rearm activity.
Uses local Reload now.
Removed AmmoPool.SelfReloads.
2017-11-12 19:48:06 +00:00