commit dd6f236b360640b4c5ca2bfefdddf11482ab1bcf
Author: Anton Tarasenko <dkanus@gmail.com>
Date: Mon Jul 4 03:55:45 2022 +0700
Change `AcediaConfig` to use new collections
When parsing values inside JSON object/array, stored objects and arrays
would always be parsed as `DynamicArray`/`AssociativeArray`, despite
starting parsing as new collections.
Trading time pausing has a set of problems: not properly resetting pause
once trading time somehow ended, pausing time during the wave would
result in reducing next trading time to 1 second, initial time
(countdown before wave 1) was not considered trading time.
All of these issues are resolved in this commit.
We are just copying `DynamicArray` into `ArrayList` with slightly
different behavior. There are still no tests and some small errors pop
up due to changes being made. This patch fixes them.
Before this patch `othersConsole` didn't address any targeted players,
now it addresses all players expect command's instigator and a player
for who `ExecutedFor()` is currently being called.
There are many occasions for Acedia where we might want to limit names
of objects to a certain predictable and manageable set and limitations
placed on config names seem to fit all of these cases.
That is why we rename `IsValidConfigName()` into a more
generic-sounding method name.
Additional change is limiting length of a "valid name" to 50 characters
at most, since Unreal Engine doesn't like loing config lines.