/// <summary> /// Used in conversion/saving of the current colony in-game. /// </summary> /// <param name="persistentWorld"></param> /// <param name="game"></param> /// <param name="colonyColonyData"></param> /// <returns></returns> public static PersistentColony Convert(PersistentWorld persistentWorld, Game game, PersistentColonyData colonyColonyData = null) { var persistentColony = new PersistentColony() { ColonyData = PersistentColonyData.Convert(game, colonyColonyData), GameData = PersistentColonyGameData.Convert(game) }; return(persistentColony); }
public static PersistentColonyData Convert(Game game, PersistentColonyData colonyColonyData) { var persistentColonyData = new PersistentColonyData { //ColonyFaction = game.World.factionManager.OfPlayer, ColonyFaction = PersistentWorldManager.GetInstance().HasPersistentWorld ? new Faction() : game.World.factionManager.OfPlayer, Color = Random.ColorHSV(0f, 1f, 0f, 1f, 0f, 1f, 1f, 1f) }; if (PersistentWorldManager.GetInstance().HasPersistentWorld) { PersistentWorldManager.GetInstance().PersistentWorld.SetColonyFactionVarsToPlayerFaction(persistentColonyData); } if (colonyColonyData == null || colonyColonyData.ActiveWorldTiles.Count == 0) { foreach (var map in game.Maps) { if (persistentColonyData.ActiveWorldTiles.Contains(map.Tile)) { continue; } persistentColonyData.ActiveWorldTiles.Add(map.Tile); } } else { persistentColonyData.UniqueId = colonyColonyData.UniqueId; persistentColonyData.ActiveWorldTiles = colonyColonyData.ActiveWorldTiles; persistentColonyData.Color = colonyColonyData.Color; persistentColonyData.Leader = colonyColonyData.Leader; } return(persistentColonyData); }
public void SetColonyFactionVarsToPlayerFaction(PersistentColonyData data) { SetFactionVars(this.WorldData.FactionManager.OfPlayer, data.ColonyFaction, FactionMode.Save, false); }