コード例 #1
0
        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;
            }
        }
コード例 #2
0
    public override void DoUndo()
    {
        CurrentArmy = Army;

        if (!RedoGenerated)
        {
            HistoryArmyChange.GenerateRedo(Undo.Current.Prefabs.ArmyChange).Register();
        }
        RedoGenerated = true;
        DoRedo();
    }
コード例 #3
0
    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();
    }
コード例 #4
0
    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);
    }
コード例 #5
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);
    }
コード例 #6
0
 public void ReturnFromArmy()
 {
     SelectedArmy = null;
     UpdateList();
 }
コード例 #7
0
 public void ForceCurrentArmy(ScenarioLua.Army Army)
 {
     SelectedArmy = Army;
 }
コード例 #8
0
 public ArmyChangeHistoryParameter(ScenarioLua.Army CurrentArmy)
 {
     this.CurrentArmy = CurrentArmy;
 }