public void Equip(PlayerInfo playerInfo) { //Debug.Log("调用了防具装备函数"); if (IsEqu) { throw new System.Exception("已经装备了该物品"); } IsEqu = true; playerInfo.DEF += DEF; switch (armorType) { case ArmorType.Clothes: if (playerInfo.equipments.IsClEquip) { //Debug.Log("已经装备了衣服,因此"); playerInfo.equipments.clothes.Unequip(playerInfo); } playerInfo.equipments.IsClEquip = true; playerInfo.equipments.clothes = this; //Debug.Log("装备了衣服"); SystemMessages.AddMessage("装备了衣服"); break; case ArmorType.Helmet: if (playerInfo.equipments.IsHmEquip) { //Debug.Log("已经装备了头饰,因此"); playerInfo.equipments.helmet.Unequip(playerInfo); } playerInfo.equipments.IsHmEquip = true; playerInfo.equipments.helmet = this; //Debug.Log("装备了头饰"); SystemMessages.AddMessage("装备了头饰"); break; case ArmorType.WristBand: if (playerInfo.equipments.IsWBEquip) { //Debug.Log("已经装备了护腕,因此"); playerInfo.equipments.wristband.Unequip(playerInfo); } playerInfo.equipments.IsWBEquip = true; playerInfo.equipments.wristband = this; //Debug.Log("装备了护腕"); SystemMessages.AddMessage("装备了护腕"); break; case ArmorType.Shoes: if (playerInfo.equipments.IsShEquip) { //Debug.Log("已经装备了鞋履,因此"); playerInfo.equipments.shoes.Unequip(playerInfo); } playerInfo.equipments.IsShEquip = true; playerInfo.equipments.shoes = this; //Debug.Log("装备了鞋履"); SystemMessages.AddMessage("装备了鞋履"); break; } if (enchant != null) { enchant.Enchanting(playerInfo); } if (suitEffect != null) { if (playerInfo.equipments.suitEffect != null) { SuitEffectInfo sinfo = playerInfo.equipments.suitEffect.Find(s => s.SuittID == suitEffect.SuittID); if (sinfo != null) { sinfo.currentNum++; sinfo.TryEffect(playerInfo); } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect.Add(suitEffect); } } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect = new List <SuitEffectInfo> { suitEffect }; } } ItemInfo info = playerInfo.bag.itemList.Find(i => i.Item == this); info.Quantity--; playerInfo.bag.itemList.Remove(info); playerInfo.bag.Current_Size--; }
public void Equip(PlayerInfo playerInfo) { //Debug.Log("调用了首饰装备函数"); if (IsEqu) { throw new System.Exception("已经装备了该物品"); } IsEqu = true; power_Add.TryPowerUp(playerInfo); switch (jewelry_Type) { case JewelryType.Necklace: if (playerInfo.equipments.IsNlEquip) { //Debug.Log("已经装备了项链,因此"); playerInfo.equipments.necklace.Unequip(playerInfo, 0); } playerInfo.equipments.IsNlEquip = true; playerInfo.equipments.necklace = this; //Debug.Log("装备了项链"); break; case JewelryType.Belt: if (playerInfo.equipments.IsBtEquip) { //Debug.Log("已经装备了腰饰,因此"); playerInfo.equipments.belt.Unequip(playerInfo, 0); } playerInfo.equipments.IsBtEquip = true; playerInfo.equipments.belt = this; //Debug.Log("装备了腰饰"); break; case JewelryType.Ring: if (playerInfo.equipments.IsRgEquip_1 && !playerInfo.equipments.IsRgEquip_2) { playerInfo.equipments.IsRgEquip_2 = true; playerInfo.equipments.ring_2 = this; } else { if (playerInfo.equipments.IsRgEquip_1 && playerInfo.equipments.IsRgEquip_2) { //Debug.Log("两手都装备了戒指,因此"); playerInfo.equipments.ring_1.Unequip(playerInfo, 1); } playerInfo.equipments.IsRgEquip_1 = true; playerInfo.equipments.ring_1 = this; } //Debug.Log("装备了戒指"); break; } if (enchant != null) { enchant.Enchanting(playerInfo); } if (suitEffect != null) { if (playerInfo.equipments.suitEffect != null) { SuitEffectInfo sinfo = playerInfo.equipments.suitEffect.Find(s => s.SuittID == suitEffect.SuittID); if (sinfo != null) { sinfo.currentNum++; sinfo.TryEffect(playerInfo); } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect.Add(suitEffect); } } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect = new List <SuitEffectInfo> { suitEffect }; } } ItemInfo info = playerInfo.bag.itemList.Find(i => i.Item == this); info.Quantity--; playerInfo.bag.itemList.Remove(info); playerInfo.bag.Current_Size--; }
public void Equip(PlayerInfo playerInfo) { //Debug.Log("调用了武器装备函数"); if (IsEqu) { throw new System.Exception("已经装备了该物品"); } if (!CheckEquipAble(playerInfo)) { throw new System.Exception("武器不符,无法装备"); } IsEqu = true; playerInfo.ATK += ATK; if (this.weaponType == WeaponType.Knife) { if (playerInfo.equipments.IsSdEquip) { //Debug.Log("已经装备了副武器,因此"); playerInfo.equipments.shield.Unequip(playerInfo); } playerInfo.equipments.IsSdEquip = true; playerInfo.equipments.shield = this; //Debug.Log("装备了副武器"); SystemMessages.AddMessage("装备了副武器"); } else { if (playerInfo.equipments.IsWpEquip) { //Debug.Log("已经装备了主武器,因此"); playerInfo.equipments.weapon.Unequip(playerInfo); } playerInfo.equipments.IsWpEquip = true; playerInfo.equipments.weapon = this; //Debug.Log("装备了主武器"); SystemMessages.AddMessage("装备了主武器"); } if (enchant != null) { enchant.Enchanting(playerInfo); } if (suitEffect != null) { if (playerInfo.equipments.suitEffect != null) { SuitEffectInfo sinfo = playerInfo.equipments.suitEffect.Find(s => s.SuittID == suitEffect.SuittID); if (sinfo != null) { sinfo.currentNum++; sinfo.TryEffect(playerInfo); } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect.Add(suitEffect); } } else { suitEffect.currentNum++; playerInfo.equipments.suitEffect = new List <SuitEffectInfo> { suitEffect }; } } ItemInfo info = playerInfo.bag.itemList.Find(i => i.Item == this); info.Quantity--; playerInfo.bag.itemList.Remove(info); playerInfo.bag.Current_Size--; }