RTSEngine.Data.Team.RTSRace.Serialize C# (CSharp) Method

Serialize() public static method

public static Serialize ( BinaryWriter s, RTSRace race ) : void
s System.IO.BinaryWriter
race RTSRace
return void
        public static void Serialize(BinaryWriter s, RTSRace race)
        {
            s.Write(race.FriendlyName);
            s.Write(race.ActiveUnits.Length);
            foreach(var d in race.ActiveUnits) {
                s.Write(d.Index);
                RTSUnitData.Serialize(s, d);
            }
            s.Write(race.ActiveBuildings.Length);
            foreach(var d in race.ActiveBuildings) {
                s.Write(d.Index);
                RTSBuildingData.Serialize(s, d);
            }
            s.Write(race.SCAction.TypeName);
            s.Write(race.SCMovement.TypeName);
            s.Write(race.SCTargeting.TypeName);
        }

Usage Example

Ejemplo n.º 1
0
 public static void Serialize(BinaryWriter s, RTSTeam team)
 {
     s.Write(team.Type);
     RTSRace.Serialize(s, team.Race);
     if (team.Input != null)
     {
         s.Write(true);
         s.Write(ReflectedScript.GetKey(team.Input));
         team.Input.Serialize(s);
     }
     else
     {
         s.Write(false);
     }
     s.Write(team.ColorScheme.Name);
     s.Write(team.ColorScheme.Primary);
     s.Write(team.ColorScheme.Secondary);
     s.Write(team.ColorScheme.Tertiary);
     s.Write(team.Buildings.Count);
     foreach (var building in team.Buildings)
     {
         RTSBuilding.Serialize(s, building);
     }
     s.Write(team.Units.Count);
     foreach (var unit in team.Units)
     {
         RTSUnit.Serialize(s, unit);
     }
     s.Write(team.Squads.Count);
     foreach (var squad in team.Squads)
     {
         RTSSquad.Serialize(s, squad);
     }
 }