Remove requirement for server to explicitly generate maps.
This commit is contained in:
committed by
Gustas Kažukauskas
parent
156122f9e3
commit
ed1ebd536b
@@ -953,6 +953,26 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return map;
|
||||
}
|
||||
|
||||
public bool TryGenerateMetadata(ModData modData, MapGenerationArgs args, out MapPlayers players, out Dictionary<string, MiniYaml> ruleDefinitions)
|
||||
{
|
||||
try
|
||||
{
|
||||
var playerCount = FieldLoader.GetValue<int>("Players", args.Settings.NodeWithKey("Players").Value.Value);
|
||||
|
||||
// Generated maps use the default ruleset
|
||||
ruleDefinitions = [];
|
||||
players = new MapPlayers(modData.DefaultRules, playerCount);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
players = null;
|
||||
ruleDefinitions = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override object Create(ActorInitializer init)
|
||||
{
|
||||
return new ClassicMapGenerator(init, this);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using OpenRA.Mods.Common.MapGenerator;
|
||||
@@ -93,6 +94,14 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return map;
|
||||
}
|
||||
|
||||
public bool TryGenerateMetadata(ModData modData, MapGenerationArgs args, out MapPlayers players, out Dictionary<string, MiniYaml> ruleDefinitions)
|
||||
{
|
||||
ruleDefinitions = [];
|
||||
players = new MapPlayers(modData.DefaultRules, 0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override object Create(ActorInitializer init)
|
||||
{
|
||||
return new ClearMapGenerator(this);
|
||||
|
||||
Reference in New Issue
Block a user