RoosterDragon
649e7e8c28
Change classes that use FieldLoader to use read-only collections.
2025-12-08 17:39:28 +00:00
michaeldgg2
d657a72107
Remove BuildingInfo.AllowPlacementOnResources and use TerrainTypes to check whether a building can be placed on particular cell
2025-07-14 21:52:41 +03:00
RoosterDragon
79454d8fd2
Fix IDE0028, IDE0300, IDE0301, IDE0302, IDE0303, IDE0304.
...
Silence IDE0305.
2025-03-31 12:02:41 +03:00
RoosterDragon
ed90322a0b
Fix IDE0032
2024-11-15 22:28:18 +02:00
RoosterDragon
b7e0ed9b87
Improve lookups of nodes by key in MiniYaml.
...
When handling the Nodes collection in MiniYaml, individual nodes are located via one of two methods:
// Lookup a single key with linear search.
var node = yaml.Nodes.FirstOrDefault(n => n.Key == "SomeKey");
// Convert to dictionary, expecting many key lookups.
var dict = nodes.ToDictionary();
// Lookup a single key in the dictionary.
var node = dict["SomeKey"];
To simplify lookup of individual keys via linear search, provide helper methods NodeWithKeyOrDefault and NodeWithKey. These helpers do the equivalent of Single{OrDefault} searches. Whilst this requires checking the whole list, it provides a useful correctness check. Two duplicated keys in TS yaml are fixed as a result. We can also optimize the helpers to not use LINQ, avoiding allocation of the delegate to search for a key.
Adjust existing code to use either lnear searches or dictionary lookups based on whether it will be resolving many keys. Resolving few keys can be done with linear searches to avoid building a dictionary. Resolving many keys should be done with a dictionary to avoid quaradtic runtime from repeated linear searches.
2023-09-23 14:31:04 +02:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
Gustas
8d0fe52dd8
Remove unnecessary parentheses
2023-02-27 08:36:47 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
Eduardo Cáceres
7eb64ea6fc
Use read-only autoimplemented property when possible
2022-05-18 11:42:36 -05:00
Matthias Mailänder
0e7ad43425
Remove unused parameters.
2022-04-01 23:30:26 +02:00
Matthias Mailänder
b147da388a
Mark fields readonly.
2021-12-06 13:19:28 +01:00
Matthias Mailänder
07815143f1
Fix CA1825 warnings on empty array initialisation.
2021-12-06 13:19:28 +01:00
penev92
8ba6d13b2f
Removed unused using directives
2021-10-15 13:12:33 +02:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
teinarss
10676be377
Replace F extension with string interpolation
2021-05-08 22:20:59 +02:00
Paul Chote
a1df91b665
Allow BuildingInfluence to track overlapping buildings in the same cell.
2021-04-10 14:28:31 +02:00
Paul Chote
19c7e14393
Simplify BuildingInfo.IsCloseEnoughToBase adjacency checks.
2021-04-10 14:28:31 +02:00
teinarss
8b0a3ea680
Remove our own impl of ReadOnlyList and update usages
2021-04-03 11:33:31 +02:00
teinarss
e12ff2c59d
Remove our own ReadOnlyDictionary and update usages
2021-04-03 11:33:31 +02:00
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
teinarss
53b781960c
Change FieldLoader.LoadUsing to use nameof
2021-02-28 18:43:51 +01:00
Paul Chote
582e2774ac
Revert "Remove BuildingInfluence from building adjacency check."
...
This reverts commit 33a1ca5965d10079f89bd9aa1e33f1b07db72a48.
2020-12-05 17:06:04 +00:00
Paul Chote
5a52ce5330
Revert "Remove BuildingInfluence trait."
...
This reverts commit 34bf14332887267e206d217956aab143720fc87d.
2020-12-05 17:06:04 +00:00
abcdefg30
10f645bf77
Replace usage of the Stances dict by a method call
2020-11-14 11:04:41 +00:00
abcdefg30
eda9966d27
Rename Stance to PlayerRelationship
2020-11-14 11:04:41 +00:00
Paul Chote
72c82cb080
Remove BuildingInfluence trait.
2020-10-26 16:51:12 +01:00
Paul Chote
b9dd59cd63
Remove BuildingInfluence from building adjacency check.
2020-10-26 16:51:12 +01:00
teinarss
19b02875c7
Use Tuple syntax
2020-08-15 10:37:10 +01: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
Paul Chote
86f61298e6
Replace ITraitInfo interface with TraitInfo class.
2020-05-21 13:01:04 +02:00
Matthias Mailänder
c5139fb6c2
Remove the hard-coded ban of placing buildings on resources.
2020-03-23 23:48:33 -05:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
tovl
434c46058f
Disallow units idling on service depot.
2020-01-04 16:04:27 +00:00
Paul Chote
0ff078968d
Change IPlaceBuildingDecorationInfo to use annotations.
2019-10-20 23:46:33 +02:00
Paul Chote
78a70be0d4
Fix and enable SA1133, SA1134 style rules.
2019-05-24 10:47:57 +02:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Paul Chote
f6768fe624
Remove legacy editor actor properties plumbing.
2018-12-08 22:53:13 +01:00
Andre Mohren
b1a44086a0
Removed unused using directives.
2018-11-17 17:23:22 +00:00
Paul Chote
47a470e945
Remove legacy Building plumbing.
2018-11-03 15:09:14 +01:00
Paul Chote
18b84750aa
Reimplement demolition lock using conditions.
2018-11-03 15:09:14 +01:00
Andre Mohren
b86355cda6
Made MapBuildRadius optional for traits who do not require it.
2018-07-25 22:35:46 +01:00
Michael Silber
6b24271a17
Pass ActorInfo through building-placement-validation code.
2018-03-21 12:53:50 +01:00
reaperrr
d643d2ebda
Remove legacy .aud sound defaults from Common traits
...
While C&C-specific sound defaults might be acceptable for C&C-specific traits like MadTank and Chronoshiftable, for common, generic traits like Building they no longer are.
2018-03-09 18:58:49 +01:00
Mustafa Alperen Seki
c976bb1d7b
Make BaseProvider PausableConditional
2018-03-08 17:19:23 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
Paul Chote
373aaee004
Use World.(AddTo|RemoveFrom)Maps in Immobile/Building.
2017-12-11 19:45:07 +01:00
Paul Chote
9e18ec7314
Simplify ScreenMap bounds checking.
2017-12-11 19:45:07 +01:00