|
@@ -315,13 +315,26 @@ public IEnumerable<EntityPrototype> GetAllGameRulePrototypes()
|
|
|
|
|
|
|
|
private void UpdateGameRules()
|
|
private void UpdateGameRules()
|
|
|
{
|
|
{
|
|
|
- var query = EntityQueryEnumerator<DelayedStartRuleComponent, GameRuleComponent>();
|
|
|
|
|
- while (query.MoveNext(out var uid, out var delay, out var rule))
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (_gameMapManager.GetSelectedMap() is { } mapPrototype)
|
|
|
{
|
|
{
|
|
|
- if (_gameTiming.CurTime < delay.RuleStartTime)
|
|
|
|
|
- continue;
|
|
|
|
|
|
|
+ var map = mapPrototype;
|
|
|
|
|
+ if (map.FixedPreset != "")
|
|
|
|
|
+ {
|
|
|
|
|
+ SetGamePreset(map.FixedPreset);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ var query = EntityQueryEnumerator<DelayedStartRuleComponent, GameRuleComponent>();
|
|
|
|
|
+ while (query.MoveNext(out var uid, out var delay, out var rule))
|
|
|
|
|
+ {
|
|
|
|
|
+ if (_gameTiming.CurTime < delay.RuleStartTime)
|
|
|
|
|
+ continue;
|
|
|
|
|
|
|
|
- StartGameRule(uid, rule);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ StartGameRule(uid, rule);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|