Exemple #1
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "AbilityID": return(AbilityID);

                case "AbilityName": return(AbilityName);

                case "AttackType": return(AttackType);

                case "AbilityProperty": return(AbilityProperty);

                case "AttackUnit": return(AttackUnit);

                case "AttackTaget": return(AttackTaget);

                case "RatioNum": return(RatioNum);

                case "IsIncrease": return(IsIncrease);

                case "HitPercent": return(HitPercent);

                case "IsCorrect": return(IsCorrect);

                case "IsIncreaseCorrect": return(IsIncreaseCorrect);

                case "AbilityType": return(AbilityType);

                case "BaseEffectNum": return(BaseEffectNum);

                case "IncreaseNum": return(IncreaseNum);

                case "EffectCount": return(EffectCount);

                case "RatioIncreaseNum": return(RatioIncreaseNum);

                case "EffectDesc": return(EffectDesc);

                case "AbilityDesc": return(AbilityDesc);

                case "IsMove": return(IsMove);

                case "EffectID1": return(EffectID1);

                case "EffectID2": return(EffectID2);

                case "Version": return(Version);

                case "AbilityStyle": return(AbilityStyle);

                case "HeadID": return(HeadID);

                case "DemandLv": return(DemandLv);

                case "ChangeAbility": return(ChangeAbility);

                case "AfterAbility": return(AfterAbility);

                case "MaxHeadID": return(MaxHeadID);

                case "Probability": return(Probability);

                case "FntHeadID": return(FntHeadID);

                case "IsActive": return(IsActive);

                case "AbilityQuality": return(AbilityQuality);

                default: throw new ArgumentException(string.Format("AbilityInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "AbilityID":
                    _AbilityID = value.ToInt();
                    break;

                case "AbilityName":
                    _AbilityName = value.ToNotNullString();
                    break;

                case "AttackType":
                    _AttackType = value.ToEnum <AttackType>();
                    break;

                case "AbilityProperty":
                    _AbilityProperty = value.ToEnum <AbilityProperty>();
                    break;

                case "AttackUnit":
                    _AttackUnit = value.ToEnum <AttackUnit>();
                    break;

                case "AttackTaget":
                    _AttackTaget = value.ToEnum <AttackTaget>();
                    break;

                case "RatioNum":
                    _RatioNum = value.ToDecimal();
                    break;

                case "IsIncrease":
                    _IsIncrease = value.ToBool();
                    break;

                case "HitPercent":
                    _HitPercent = value.ToDecimal();
                    break;

                case "IsCorrect":
                    _IsCorrect = value.ToBool();
                    break;

                case "IsIncreaseCorrect":
                    _IsIncreaseCorrect = value.ToBool();
                    break;

                case "AbilityType":
                    _AbilityType = value.ToNotNullString();
                    break;

                case "BaseEffectNum":
                    _BaseEffectNum = value.ToNotNullString();
                    break;

                case "IncreaseNum":
                    _IncreaseNum = value.ToNotNullString();
                    break;

                case "EffectCount":
                    _EffectCount = value.ToShort();
                    break;

                case "RatioIncreaseNum":
                    _RatioIncreaseNum = value.ToDecimal();
                    break;

                case "EffectDesc":
                    _EffectDesc = value.ToNotNullString();
                    break;

                case "AbilityDesc":
                    _AbilityDesc = value.ToNotNullString();
                    break;

                case "IsMove":
                    _IsMove = value.ToBool();
                    break;

                case "EffectID1":
                    _EffectID1 = value.ToNotNullString();
                    break;

                case "EffectID2":
                    _EffectID2 = value.ToNotNullString();
                    break;

                case "Version":
                    _Version = value.ToInt();
                    break;

                case "AbilityStyle":
                    _AbilityStyle = value.ToShort();
                    break;

                case "HeadID":
                    _HeadID = value.ToNotNullString();
                    break;

                case "DemandLv":
                    _DemandLv = value.ToShort();
                    break;

                case "ChangeAbility":
                    _ChangeAbility = value.ToEnum <AbilityType>();
                    break;

                case "AfterAbility": _AfterAbility = value.ToEnum <AbilityType>();
                    break;

                case "MaxHeadID":
                    _MaxHeadID = value.ToNotNullString();
                    break;

                case "Probability":
                    _Probability = value.ToDecimal();
                    break;

                case "FntHeadID":
                    _FntHeadID = value.ToNotNullString();
                    break;

                case "IsActive":
                    _IsActive = value.ToShort();
                    break;

                case "AbilityQuality":
                    _AbilityQuality = value.ToInt();
                    break;

                default: throw new ArgumentException(string.Format("AbilityInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
 /// <summary>
 /// 获取攻击单位
 /// </summary>
 /// <param name="position">攻击方的位置</param>
 /// <param name="attackType">攻击方式</param>
 /// <param name="attackTaget">攻击目标</param>
 /// <param name="targetEmbattle"></param>
 private static CombatGeneral[] GetTargetUnit(int position, AttackUnit attackType, AttackTaget attackTaget, EmbattleQueue targetEmbattle)
 {
     IGeneral[] generalList = new IGeneral[0];
     List<CombatGeneral> targetGeneralList = new List<CombatGeneral>();
     switch (attackType)
     {
         case AttackUnit.Single:
             CombatGeneral cg = null;
             if (attackTaget == AttackTaget.Self)
             {
                 cg = (CombatGeneral)targetEmbattle.GetGeneral(position);
             }
             else
             {
                 cg = (CombatGeneral)targetEmbattle.FindGeneral(position);
             }
             if (cg != null)
             {
                 generalList = new IGeneral[] { cg };
             }
             break;
         case AttackUnit.Horizontal:
             generalList = targetEmbattle.FindHorizontal(position);
             break;
         case AttackUnit.Vertical:
             generalList = targetEmbattle.FindVertical(position);
             break;
         case AttackUnit.All:
             generalList = targetEmbattle.FindAll();
             break;
         default:
             break;
     }
     foreach (IGeneral general in generalList)
     {
         targetGeneralList.Add((CombatGeneral)general);
     }
     return targetGeneralList.ToArray();
 }
Exemple #3
0
        /// <summary>
        /// 获取攻击单位
        /// </summary>
        /// <param name="position">攻击方的位置</param>
        /// <param name="attackType">攻击方式</param>
        /// <param name="attackTaget">攻击目标</param>
        /// <param name="targetEmbattle"></param>
        private static CombatGeneral[] GetTargetUnit(int position, AttackUnit attackType, AttackTaget attackTaget, EmbattleQueue targetEmbattle)
        {
            IGeneral[]           generalList       = new IGeneral[0];
            List <CombatGeneral> targetGeneralList = new List <CombatGeneral>();

            switch (attackType)
            {
            case AttackUnit.Single:
                CombatGeneral cg = null;
                if (attackTaget == AttackTaget.Self)
                {
                    cg = (CombatGeneral)targetEmbattle.GetGeneral(position);
                }
                else
                {
                    cg = (CombatGeneral)targetEmbattle.FindGeneral(position);
                }
                if (cg != null)
                {
                    generalList = new IGeneral[] { cg };
                }
                break;

            case AttackUnit.Horizontal:
                generalList = targetEmbattle.FindHorizontal(position);
                break;

            case AttackUnit.Vertical:
                generalList = targetEmbattle.FindVertical(position);
                break;

            case AttackUnit.All:
                generalList = targetEmbattle.FindAll();
                break;

            default:
                break;
            }
            foreach (IGeneral general in generalList)
            {
                targetGeneralList.Add((CombatGeneral)general);
            }
            return(targetGeneralList.ToArray());
        }
Exemple #4
0
 protected override object this[string index]
 {
     get
     {
         #region
         switch (index)
         {
             case "AbilityID": return AbilityID;
             case "AbilityName": return AbilityName;
             case "AttackType": return AttackType;
             case "AbilityProperty": return AbilityProperty;
             case "AttackUnit": return AttackUnit;
             case "AttackTaget": return AttackTaget;
             case "RatioNum": return RatioNum;
             case "IsIncrease": return IsIncrease;
             case "HitPercent": return HitPercent;
             case "IsCorrect": return IsCorrect;
             case "IsIncreaseCorrect": return IsIncreaseCorrect;
             case "AbilityType": return AbilityType;
             case "BaseEffectNum": return BaseEffectNum;
             case "IncreaseNum": return IncreaseNum;
             case "EffectCount": return EffectCount;
             case "RatioIncreaseNum": return RatioIncreaseNum;
             case "EffectDesc": return EffectDesc;
             case "AbilityDesc": return AbilityDesc;
             case "IsMove": return IsMove;
             case "EffectID1": return EffectID1;
             case "EffectID2": return EffectID2;
             case "Version": return Version;
             case "AbilityStyle": return AbilityStyle;
             case "HeadID": return HeadID;
             case "DemandLv": return DemandLv;
             case "ChangeAbility": return ChangeAbility;
             case "AfterAbility": return AfterAbility;
             case "MaxHeadID": return MaxHeadID;
             case "Probability": return Probability;
             case "FntHeadID": return FntHeadID;
             case "IsActive": return IsActive;
             case "AbilityQuality": return AbilityQuality;
             default: throw new ArgumentException(string.Format("AbilityInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
     set
     {
         #region
         switch (index)
         {
             case "AbilityID":
                 _AbilityID = value.ToInt();
                 break;
             case "AbilityName":
                 _AbilityName = value.ToNotNullString();
                 break;
             case "AttackType":
                 _AttackType = value.ToEnum<AttackType>();
                 break;
             case "AbilityProperty":
                 _AbilityProperty = value.ToEnum<AbilityProperty>();
                 break;
             case "AttackUnit":
                 _AttackUnit = value.ToEnum<AttackUnit>();
                 break;
             case "AttackTaget":
                 _AttackTaget = value.ToEnum<AttackTaget>();
                 break;
             case "RatioNum":
                 _RatioNum = value.ToDecimal();
                 break;
             case "IsIncrease":
                 _IsIncrease = value.ToBool();
                 break;
             case "HitPercent":
                 _HitPercent = value.ToDecimal();
                 break;
             case "IsCorrect":
                 _IsCorrect = value.ToBool();
                 break;
             case "IsIncreaseCorrect":
                 _IsIncreaseCorrect = value.ToBool();
                 break;
             case "AbilityType":
                 _AbilityType = value.ToNotNullString();
                 break;
             case "BaseEffectNum":
                 _BaseEffectNum = value.ToNotNullString();
                 break;
             case "IncreaseNum":
                 _IncreaseNum = value.ToNotNullString();
                 break;
             case "EffectCount":
                 _EffectCount = value.ToShort();
                 break;
             case "RatioIncreaseNum":
                 _RatioIncreaseNum = value.ToDecimal();
                 break;
             case "EffectDesc":
                 _EffectDesc = value.ToNotNullString();
                 break;
             case "AbilityDesc":
                 _AbilityDesc = value.ToNotNullString();
                 break;
             case "IsMove":
                 _IsMove = value.ToBool();
                 break;
             case "EffectID1":
                 _EffectID1 = value.ToNotNullString();
                 break;
             case "EffectID2":
                 _EffectID2 = value.ToNotNullString();
                 break;
             case "Version":
                 _Version = value.ToInt();
                 break;
             case "AbilityStyle":
                 _AbilityStyle = value.ToShort();
                 break;
             case "HeadID":
                 _HeadID = value.ToNotNullString();
                 break;
             case "DemandLv":
                 _DemandLv = value.ToShort();
                 break;
             case "ChangeAbility":
                 _ChangeAbility = value.ToEnum<AbilityType>();
                 break;
             case "AfterAbility": _AfterAbility = value.ToEnum<AbilityType>();
                 break;
             case "MaxHeadID":
                 _MaxHeadID = value.ToNotNullString();
                 break;
             case "Probability":
                 _Probability = value.ToDecimal();
                 break;
             case "FntHeadID":
                 _FntHeadID = value.ToNotNullString();
                 break;
             case "IsActive":
                 _IsActive = value.ToShort();
                 break;
             case "AbilityQuality":
                 _AbilityQuality = value.ToInt();
                 break;
             default: throw new ArgumentException(string.Format("AbilityInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
 }