コード例 #1
0
ファイル: EffectCommand.cs プロジェクト: 01010100b/AoE2Lang
 public EnableDisableUnitCommand(YTY.AocDatLib.Effect effect)
 {
     UnitId = effect.Arg1;
     if (effect.Arg2 == 1)
     {
         Enable = true;
     }
     else
     {
         Enable = false;
     }
 }
コード例 #2
0
ファイル: EffectCommand.cs プロジェクト: 01010100b/AoE2Lang
        public static EffectCommand Get(YTY.AocDatLib.Effect effect)
        {
            switch (effect.Command)
            {
            case 0:
            case 4:
            case 5: return(new AttributeModifierCommand(effect));

            case 2: return(new EnableDisableUnitCommand(effect));

            case 3: return(new UpgradeUnitCommand(effect));

            case 102: return(new DisableTechCommand(effect));
            }

            return(null);
        }
コード例 #3
0
ファイル: EffectCommand.cs プロジェクト: 01010100b/AoE2Lang
        public AttributeModifierCommand(YTY.AocDatLib.Effect effect)
        {
            UnitId    = effect.Arg1;
            Class     = (UnitClass)effect.Arg2;
            Attribute = (Attribute)effect.Arg3;
            Amount    = effect.Arg4;

            switch (effect.Command)
            {
            case 0: Mode = ModifierMode.Set; break;

            case 4: Mode = ModifierMode.Add; break;

            case 5: Mode = ModifierMode.Multiply; break;
            }

            ArmorId = 0;
            if (Attribute == Attribute.Armor || Attribute == Attribute.Attack)
            {
                var a = (int)Amount;
                ArmorId = a / 256;
                Amount  = a % 256;
            }
        }
コード例 #4
0
ファイル: EffectCommand.cs プロジェクト: 01010100b/AoE2Lang
 public UpgradeUnitCommand(YTY.AocDatLib.Effect effect)
 {
     FromUnitId = effect.Arg1;
     ToUnitId   = effect.Arg2;
 }
コード例 #5
0
ファイル: EffectCommand.cs プロジェクト: 01010100b/AoE2Lang
 public DisableTechCommand(YTY.AocDatLib.Effect effect)
 {
     TechId = (int)effect.Arg4;
 }