RTSEngine.Controllers.EnemyBuildingUpdater.Deserialize C# (CSharp) Method

Deserialize() public static method

public static Deserialize ( BinaryReader s, GameState state ) : EnemyBuildingUpdater
s System.IO.BinaryReader
state RTSEngine.Data.GameState
return EnemyBuildingUpdater
        public static EnemyBuildingUpdater Deserialize(BinaryReader s, GameState state)
        {
            int ti = s.ReadInt32();
            ViewedBuilding vb = new ViewedBuilding();
            vb.Team = s.ReadInt32();
            vb.Type = s.ReadInt32();
            vb.CellPoint = s.ReadPoint();
            vb.WorldPosition = s.ReadVector3();
            vb.ViewDirection = s.ReadVector2();
            int uuid = s.ReadInt32();
            RTSBuilding b = null;
            foreach(var building in state.teams[vb.Team].Buildings) {
                if(building.UUID == uuid) {
                    b = building;
                    break;
                }
            }
            EnemyBuildingUpdater ebu = new EnemyBuildingUpdater(state, ti, vb, b);
            ebu.Added = s.ReadBoolean();
            ebu.isDead = s.ReadBoolean();
            if(ebu.Added) {
                state.teams[ebu.teamIndex].ViewedEnemyBuildings.Add(vb);
            }
            return ebu;
        }