public override void Register(HistoryParameter Param) { parameter = Param as ArmyChangeHistoryParameter; Army = parameter.CurrentArmy; ArmyName = Army.Name; NoRushX = Army.NoRush.X; NoRushY = Army.NoRush.Y; Mass = Army.Data.Economy.mass; Energy = Army.Data.Economy.energy; personality = Army.Data.personality; plans = Army.Data.plans; color = Army.Data.color; faction = Army.Data.faction; nextPlatoonBuilderId = Army.Data.nextPlatoonBuilderId; Alliances = new SaveLua.Army.Aliance[Army.Data.Alliances.Count]; for (int i = 0; i < Alliances.Length; i++) { Alliances[i] = new SaveLua.Army.Aliance(); Alliances[i].AllianceType = Army.Data.Alliances[i].AllianceType; Alliances[i].ConnectedArmy = Army.Data.Alliances[i].ConnectedArmy; } }
public override void DoUndo() { CurrentArmy = Army; if (!RedoGenerated) { HistoryArmyChange.GenerateRedo(Undo.Current.Prefabs.ArmyChange).Register(); } RedoGenerated = true; DoRedo(); }
public void AddArmy(TeamListObject TeamObject) { //TODO Register Undo Undo.Current.RegisterArmiesChange(); ScenarioLua.Army CreatedArmy; //string CreatedName; int c = 0; if (TeamObject.InstanceId == -1) { CreatedArmy = new ScenarioLua.Army(); CreatedArmy.Name = "NewExtraArmy" + (MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].ExtraArmys.Count + 1); CreatedArmy.NoRush = new ScenarioLua.NoRusnOffset(); CreatedArmy.Data = new SaveLua.Army(); MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].ExtraArmys.Add(CreatedArmy); } else if (TeamObject.InstanceId < 0 || TeamObject.InstanceId >= MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams.Length) { return; } else { string NewArmyName = "ARMY_1"; int ArmyNameCounter = 1; for (int i = 0; i < MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams[TeamObject.InstanceId].Armys.Count; i++) { if (MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams[TeamObject.InstanceId].Armys[i].Name == NewArmyName) { ArmyNameCounter++; NewArmyName = "ARMY_" + ArmyNameCounter; } else { break; } } CreatedArmy = new ScenarioLua.Army(); CreatedArmy.Name = NewArmyName; CreatedArmy.NoRush = new ScenarioLua.NoRusnOffset(); CreatedArmy.Data = new SaveLua.Army(); MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams[TeamObject.InstanceId].Armys.Add(CreatedArmy); } UpdateList(); }
public override void Register() { int c = 0; Teams = new ScenarioLua.Team[MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams.Length]; MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].Teams.CopyTo(Teams, 0); TeamNames = new string[Teams.Length]; TeamArmies = new ScenarioLua.Army[Teams.Length][]; for (int t = 0; t < Teams.Length; t++) { TeamArmies[t] = new ScenarioLua.Army[Teams[t].Armys.Count]; Teams[t].Armys.CopyTo(TeamArmies[t]); TeamNames[t] = Teams[t].name; } ExtraArmies = new ScenarioLua.Army[MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].ExtraArmys.Count]; MapLuaParser.Current.ScenarioLuaFile.Data.Configurations[c].ExtraArmys.CopyTo(ExtraArmies, 0); }
public override void Register() { Army = CurrentArmy; ArmyName = Army.Name; NoRushX = Army.NoRush.X; NoRushY = Army.NoRush.Y; Mass = Army.Data.Economy.mass; Energy = Army.Data.Economy.energy; personality = Army.Data.personality; plans = Army.Data.plans; color = Army.Data.color; faction = Army.Data.faction; nextPlatoonBuilderId = Army.Data.nextPlatoonBuilderId; Alliances = new SaveLua.Army.Aliance[Army.Data.Alliances.Length]; Army.Data.Alliances.CopyTo(Alliances, 0); }
public void ReturnFromArmy() { SelectedArmy = null; UpdateList(); }
public void ForceCurrentArmy(ScenarioLua.Army Army) { SelectedArmy = Army; }
public ArmyChangeHistoryParameter(ScenarioLua.Army CurrentArmy) { this.CurrentArmy = CurrentArmy; }