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

Serialize() public static method

public static Serialize ( BinaryWriter s, RTSUnit e ) : void
s System.IO.BinaryWriter
e RTSUnit
return void
        public static void Serialize(BinaryWriter s, RTSUnit e)
        {
            s.Write(e.Data.Index);
            s.Write(e.UUID);
            s.Write(e.State);
            s.Write(e.ViewDirection);
            s.Write(e.GridPosition);
            s.Write(e.Height);
            if(e.Target != null) {
                s.Write(true);
                s.Write(e.Target.UUID);
            }
            else {
                s.Write(false);
            }
            s.Write(e.Health);
            s.Write(e.MovementMultiplier);
            s.Write(e.Resources);
            if(e.ActionController != null) {
                s.Write(true);
                e.ActionController.Serialize(s);
            }
            else {
                s.Write(false);
            }
            if(e.CombatController != null) {
                s.Write(true);
                e.CombatController.Serialize(s);
            }
            else {
                s.Write(false);
            }
            if(e.MovementController != null) {
                s.Write(true);
                e.MovementController.Serialize(s);
            }
            else {
                s.Write(false);
            }
            if(e.AnimationController != null) {
                s.Write(true);
                e.AnimationController.Serialize(s);
            }
            else {
                s.Write(false);
            }
        }

Usage Example

Beispiel #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);
     }
 }