/// <summary> /// 物品属性叠加 /// </summary> /// <param name="type"></param> /// <returns></returns> public int GetItemFightPropertySum(FightPropertyType type) { if (type == FightPropertyType.MaxLength) { return(0); } int value = 0; // 如果装备武器不为null,则叠加武器属性 if (equipedWeapon != null) { value += equipedWeapon.uniqueInfo.fightProperties[type]; } // 叠加所有饰品属性 foreach (Item item in items) { if (item != null && item.itemType == ItemType.Ornament) { value += (item as Ornament).uniqueInfo.fightProperties[type]; } } return(value); }
public int this[FightPropertyType type] { get { switch (type) { case FightPropertyType.HP: return(hp); case FightPropertyType.MP: return(mp); case FightPropertyType.STR: return(str); case FightPropertyType.MAG: return(mag); case FightPropertyType.SKL: return(skl); case FightPropertyType.SPD: return(spd); case FightPropertyType.DEF: return(def); case FightPropertyType.MDF: return(mdf); default: return(0); //throw new IndexOutOfRangeException("Not Supported"); } } //set //{ // switch (type) // { // case FightPropertyType.STR: // str = value; // break; // case FightPropertyType.MAG: // mag = value; // break; // case FightPropertyType.SKL: // skl = value; // break; // case FightPropertyType.SPD: // spd = value; // break; // case FightPropertyType.DEF: // def = value; // break; // case FightPropertyType.MDF: // mdf = value; // break; // default: // throw new IndexOutOfRangeException("Not Supported"); // } //} }
public void AddFightProperty(FightPropertyType type, int value) { self.fightProperties[type] += value; }
public int this[FightPropertyType type] { get { switch (type) { case FightPropertyType.HP: return(hp); case FightPropertyType.STR: return(str); case FightPropertyType.MAG: return(mag); case FightPropertyType.SKL: return(skl); case FightPropertyType.SPD: return(spd); case FightPropertyType.DEF: return(def); case FightPropertyType.MDF: return(mdf); default: return(0); } } set { switch (type) { case FightPropertyType.STR: str = value; break; case FightPropertyType.MAG: mag = value; break; case FightPropertyType.SKL: skl = value; break; case FightPropertyType.SPD: spd = value; break; case FightPropertyType.DEF: def = value; break; case FightPropertyType.MDF: mdf = value; break; default: throw new IndexOutOfRangeException("Not Supported"); } } }