Paul Chote
d52ba83f96
Replace terniary null checks with coalescing.
2021-03-08 18:11:25 +01:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
Paul Chote
87790069e9
Add ITerrainInfo interface.
2021-01-11 21:57:55 +01:00
Paul Chote
02a2624bcc
Add a per-player handicap option to the lobby.
...
Handicaps reduce unit health, firepower, and build speed.
2021-01-10 22:23:52 +01:00
Paul Chote
3e7665146a
Avoid BuildUnit crash if the item is invalidated before the task runs.
2021-01-10 01:34:51 +01:00
Paul Chote
6e7ad9df25
Remove vestigial translation plumbing.
...
This was never completed to the level required to
be properly used ingame.
2020-12-25 16:18:28 +01:00
abcdefg30
ef9f26a60d
Fix MissionObjectives not properly ending the game
2020-12-12 14:59:49 +01:00
abcdefg30
e7e50cc101
Remove WorldUtils.AreMutualAllies
2020-11-15 16:37:51 +01:00
abcdefg30
6de1b7b915
Always mark defeated/victorious players as spectating
2020-11-15 09:45:16 +01:00
Paul Chote
79019b06ca
Remove BuildingInfluence from Plug placement.
2020-10-26 16:51:12 +01:00
Paul Chote
daa8c74c37
Improve Replaceable logic:
...
- Remove BuildingInfluence checks
- Support multiple Replaceable/Replacement traits on the same actors
- Fix description typos
2020-10-22 22:15:43 +02:00
RoosterDragon
e11c8436bd
Misc changes to reduce allocation:
...
- Avoid creating new strings in SpriteRenderer.Flush.
- ProductionQueue.CancelUnbuildableItems can exit early if the queue is empty. It can also use a set of names for quicker lookups.
- OpenGL.CheckGLError avoids a Enum.HasFlag call.
2020-10-17 23:48:48 +02:00
abcdefg30
0dac4520ad
Add a 'refundableValue' parameter to 'Produce'
2020-10-02 11:51:48 +02:00
Paul Chote
cd9bf53e1a
Use nameof() to reference image fields.
2020-09-12 17:52:46 +02:00
abcdefg30
3fc5859f08
Add 'AddToAssetsValue' to 'UpdatesPlayerStatistics'
2020-09-11 23:44:30 +02:00
reaperrr
1344b1f2e3
Remove system order checks from PlayerStatistics
...
ResolveOrder for actors isn't even used
for these.
2020-09-05 17:22:04 +01:00
reaperrr
c8afa4a2a8
Remove defenderStats look-up from UpdatePlayerStatistics
...
playerStats is updated on owner change,
so it should always be identical to the removed defenderStats.
2020-09-05 11:12:38 +02:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
teinarss
27f1a7ab27
Use out var syntax
2020-08-19 18:11:07 +01:00
Paul Chote
ef69a3de66
Use nameof() in PaletteReference.
2020-08-15 13:41:45 +02: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
b3ee8b447e
Reduce duplication between Map and PlayerRadarTerrain.
2020-07-07 22:12:22 +02:00
Paul Chote
5f588561b6
Rewrite TS minimap rendering:
...
* Rename LeftColor and RightColor to MinColor and MaxColor
These are mapped from LowRadarColor and HighRadarColor in
the original inis, and appear to be used to set the bounding
values for selecting a random colour, NOT for left/right
pixels (which caused noticeably wrong banding).
* Adjust brightness based on terrain height.
MinHeightColorBrightness and MaxHeightColorBrightness
were chosen by trial/error to match the original
map preview rendering.
2020-07-07 22:12:22 +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
b38018af9c
Replace IActorInit with an abstract class.
...
A shared ValueActorInit<T> is introduced to reduce duplication
in the most common init cases, and an ActorInitActorReference
allow actors to be referenced by map.yaml name.
2020-06-08 19:18:38 +02:00
abcdefg30
27d0465891
Remove workarounds for querying the PlayerActor in Created
2020-05-30 19:47:29 +02:00
Paul Chote
7c6ec577dc
Rewrite ActorInit queries.
2020-05-28 19:04:53 +02:00
Paul Chote
86f61298e6
Replace ITraitInfo interface with TraitInfo class.
2020-05-21 13:01:04 +02:00
Zimmermann Gyula
7b7c1da18d
Add a shared parallel production queue.
2020-03-24 13:35:15 -05:00
Matthias Mailänder
9050a2447b
Add remappable support to production icons.
2020-03-04 22:02:30 +01:00
Ivaylo Draganov
1dd1786469
Reduce duplication of "Battlefield Control" chat line label
2020-02-22 15:58:00 +00:00
Paul Chote
689049cc12
Fix NRE in ArmyUnit constructor.
2020-02-16 13:57:19 +01:00
teinarss
b81ede2d64
Added widget showing the army for players in spec
2020-02-09 16:37:21 +01:00
tovl
695d9a6cb1
Centralize shroud changes in one pass to improve performance.
2020-01-12 04:50:25 +01:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
teinarss
a47f60d3a6
Add a trait PlayerRadarTerrain to track explored terrain
2019-11-20 16:24:56 +01:00
Abdurrahmaan Iqbal
023750db06
Prevent showing wall connections in unexplored terrain
2019-11-01 22:13:38 +01:00
abc013
c4f48ad521
Use another plug location for placing plugs on a building when current plug location is already blocked
2019-10-11 22:52:55 +02:00
abcdefg30
3672b4e674
Keep army and income graph disabled if they were disabled once
2019-10-11 21:48:24 +02:00
abcdefg30
ee839869fc
Replace "$/min" by "Income" and increase graph update rates
2019-10-11 21:48:24 +02:00
teinarss
c15f66aa62
PlayerStatistics should stop ticking after lost/win
2019-09-13 21:42:11 +01:00
teinarss
6fe31e44cb
More robust logic for ThisMinute stats
2019-09-06 14:00:42 +02:00
teinarss
ce29dcad87
Update PlayerResources capacity from INotify* methods
2019-08-28 00:32:01 +02:00
teinarss
f46cad5347
Fix game minute in PlayerStatistics
2019-07-21 14:23:25 +02:00
Paul Chote
1e23c0a7b7
Fix bot PlaceBuilding orders.
2019-06-20 18:51:02 +01:00
Paul Chote
b59ae476e4
Add PlaceBuildingVariant trait.
2019-06-10 11:46:32 +02:00
Paul Chote
dabc7ec8dd
Remove unnecessary this. references.
2019-06-08 13:19:27 +02:00
Paul Chote
52fd32c311
Split IPlaceBuildingPreviewGeneratorInfo from PBOG.
2019-05-31 15:44:09 +02:00
teinarss
12484caf04
Added field to ProductionQueue to customize ordering in ObserverProductionIconsWidget
2019-05-26 19:04:54 +01:00