示例#1
0
        private PlayerSerializableData GetPlayerSerializableData(Player sourcePlayer)
        {
            PlayerSerializableData player = new PlayerSerializableData();

            player = new PlayerSerializableData()
            {
                ArcherImageUri    = sourcePlayer.ArcherImageUri,
                PeasantImageUri   = sourcePlayer.PeasantImageUri,
                SwordsmanImageUri = sourcePlayer.SwordsmanImageUri,
            };

            player.UnitStacksSerializableData = new List <UnitStackSerializableData>();

            foreach (var item in sourcePlayer.UnitStacks)
            {
                var unitStackSerializableData
                    = new UnitStackSerializableData
                    {
                    UnitsCapacity = item.UnitsCapacity,
                    Units         = item.Units,
                    UnitType      = item.UnitType,
                    CellIndex     = item.CellIndex
                    };

                var gameFieldCellSerializableData =
                    new GameFieldCellSerializableData
                {
                    CurrentUnitNumber = item.Cell.CurrentUnitNumber,
                    IsSelected        = item.Cell.IsSelected,
                    MaxUnitNumber     = item.Cell.MaxUnitNumber,
                };

                unitStackSerializableData.Cell = gameFieldCellSerializableData;

                player.UnitStacksSerializableData.Add(unitStackSerializableData);
            }

            return(player);
        }
示例#2
0
        private GameFieldSerializableData GetGameFieldSerializableData(GameField sourceField)
        {
            var gameFieldSerializableData = new GameFieldSerializableData
            {
                GameFieldCellsSerializableData = new List <GameFieldCellSerializableData>(),
                HorizCellsCount = Game.GameField.HorizCellsCount,
                VertCellsCount  = Game.GameField.VertCellsCount
            };

            foreach (var item in sourceField.GameFieldCells)
            {
                var gameFieldCellSerializableData =
                    new GameFieldCellSerializableData
                {
                    CurrentUnitNumber = item.CurrentUnitNumber,
                    IsSelected        = item.IsSelected,
                    MaxUnitNumber     = item.MaxUnitNumber,
                };

                gameFieldSerializableData.GameFieldCellsSerializableData.Add(gameFieldCellSerializableData);
            }

            return(gameFieldSerializableData);
        }