Example #1
0
 public ServerWorld(SerializableWorld world)
 {
     this.world = world;
     authId     = null;
     id         = null;
     shareCode  = null;
 }
Example #2
0
 public static void SaveGame(IEnumerable<Vector3> dronePosition, IEnumerable<SerializableMessage> messages, IEnumerable<SerializableTrade> trades, int playerIndex, string filePath)
 {
   string directory = System.IO.Path.GetDirectoryName(filePath);
   if (!System.IO.Directory.Exists(directory))
     System.IO.Directory.CreateDirectory(directory);
   System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
   System.IO.Stream stream = new System.IO.FileStream(filePath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.None);
   SerializableWorld world = new SerializableWorld();
   List<SerializableVector3> lp = new List<SerializableVector3>(dronePosition.Count());
   List<SerializableMessage> lm = new List<SerializableMessage>(messages.Count());
   List<SerializableTrade> lt = new List<SerializableTrade>(trades.Count());
   foreach (var position in dronePosition)
   {
     lp.Add(new SerializableVector3(position.x, position.y, position.z));
   }
   foreach (var message in messages)
   {
     lm.Add(message);
   }
   foreach (var trade in trades)
   {
     lt.Add(trade);
   }
   world.DronePositions = lp;
   world.Messages = lm;
   world.Trades = lt;
   world.ActivePlayerIndex = playerIndex;
   formatter.Serialize(stream, world);
   stream.Close();
 }
Example #3
0
        // Serializes the game world using persistence manager
        public void SaveActiveWorld()
        {
            SerializableWorld updatedWorld = new SerializableWorld(Tiles, resources);

            updatedWorld.Name                = persistenceManager.SelectedWorld.world.Name;
            updatedWorld.CreationTime        = persistenceManager.SelectedWorld.world.CreationTime;
            updatedWorld.IsTutorialCompleted = persistenceManager.SelectedWorld.world.IsTutorialCompleted;


            persistenceManager.SelectedWorld.world = updatedWorld;
            persistenceManager.SaveGameState(persistenceManager.SelectedWorld);
        }
Example #4
0
        private void BuildWorldFromSerialized(SerializableWorld world)
        {
            boardSize = world.WorldData.GetLength(0);
            tiles     = new Tile[boardSize, boardSize];

            for (int x = 0; x < boardSize; x++)
            {
                for (int z = 0; z < boardSize; z++)
                {
                    SerializableTile serialTile = world.WorldData[x, z];
                    Tile             tile       = CreateTileAt(x, z, serialTile.TileType);
                    if (serialTile.Entity != null)
                    {
                        tile.Entity       = entityFactory.Get(serialTile.Entity.EntityType);
                        tile.Entity.Level = serialTile.Entity.Level;
                    }
                }
            }

            RebakeNavMesh();

            resources.Money      = world.ResourceData.Money;
            resources.Population = world.ResourceData.Population;
        }