コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public void SetColonyFactionVarsToPlayerFaction(PersistentColonyData data)
 {
     SetFactionVars(this.WorldData.FactionManager.OfPlayer, data.ColonyFaction, FactionMode.Save, false);
 }