public override SingleItemInfo GetCurSelectedWeaponInfo() { SingleItemInfo itemInfo = null; switch (CurrentSelected) { case 0: itemInfo = null; break; case 1: itemInfo = BagManager.Instance.Weapon1; break; case 2: itemInfo = BagManager.Instance.Weapon2; break; case 3: itemInfo = BagManager.Instance.Magic1; break; case 4: itemInfo = BagManager.Instance.Magic2; break; } return(itemInfo); }
void LoadObtainedProgressionItemsFromSave(Level level) { var itemsInMap = this.Select(l => l.ItemInfo.Identifier) .Distinct().ToHashSet(); var updateTracker = false; foreach (var progressionItem in UnlockingMap.AllProgressionItems) { if (level.GameSave.HasItem(progressionItem) && !itemsInMap.Contains(progressionItem)) { var item = new SingleItemInfo(UnlockingMap, progressionItem); item.OnPickup(level); Add(new ExternalItemLocation(item)); updateTracker = true; } } if (updateTracker) { ItemTrackerUplink.UpdateState(ItemTrackerState.FromItemLocationMap(this)); } }
public void Should_equal() { var a = new SingleItemInfo(new ItemUnlockingMap(Seed.Zero), new ItemIdentifier(EInventoryRelicType.Dash)); var b = new SingleItemInfo(new ItemUnlockingMap(Seed.Zero), new ItemIdentifier(EInventoryRelicType.Dash)); Assert.That(a, Is.EqualTo(b)); }
public void DropedToOtherSlot() { image.sprite = ResourcesManager.Instance.GetUITexture("Null"); MessageCenter.Send(Meaningless.EMessageType.UnEquipItem, equippedItemType); canDrag = false; ItemInfo = null; }
static int GetAnimationIndex(ItemIdentifier itemInfo) { if (AnimationIndexes.TryGetValue(itemInfo, out int index)) { return(index); } var animationIndex = new SingleItemInfo(itemInfo).AnimationIndex; AnimationIndexes.Add(itemInfo, animationIndex); return(animationIndex); }
public void ThrowAway() { image.sprite = ResourcesManager.Instance.GetUITexture("Null"); BagManager.Instance.UnequipItem(equippedItemType); if (ItemInfo.itemType != ItemType.Gem) { CameraBase.Instance.player.GetComponent <PlayerController>().UnEquip(equippedItemType); } CameraBase.Instance.player.GetComponent <PlayerController>().DiscardItem(ItemInfo.ItemID); MessageCenter.Send(Meaningless.EMessageType.RefreshBagList, null); canDrag = false; ItemInfo = null; }
void ReceiveItem(NetworkItem networkItem, Level level) { if (TryGetLocation(networkItem, out var location) && networkItem.Player == slot) { //ignore message if its from my slot and a location i already picked up if (location.IsPickedUp && personalLocationItemKeys.Contains(location.Key)) { return; } } else { location = new ExternalItemLocation(); Add(location); } if (!TryGetItemIdentifier(networkItem, out var itemIdentifier)) { return; } // itemInfoProvider's cache is out of date here when it comes to pyramid unlocks var item = new SingleItemInfo(UnlockingMap, itemIdentifier); location.SetItem(item); location.IsPickedUp = true; item.OnPickup(level); level.GameSave.AddItem(level, itemIdentifier); if (itemIdentifier.LootType == LootType.ConstRelic) { level.AsDynamic().UnlockRelic(itemIdentifier.Relic); } if (!firstPass || item.IsProgression) { level.ShowItemAwardPopup(itemIdentifier); } if (item.IsProgression) { ItemTrackerUplink.UpdateState(ItemTrackerState.FromItemLocationMap(this)); } }
void Start() { player = CameraBase.Instance.player; NullInfo.weaponProperties = new WeaponProperties(); NullInfo.weaponProperties = null; NullInfo.magicProperties = new MagicProperties(); NullInfo.magicProperties = null; NullInfo.armorProperties = new ArmorProperties(); NullInfo.armorProperties = null; NullInfo.expendableProperties = new ExpendableProperties(); NullInfo.expendableProperties = null; NullInfo.gemProperties = new GemProperties(); NullInfo.gemProperties = null; NullInfo.magicProperties = new MagicProperties(); NullInfo.magicProperties = null; NullInfo.ItemID = 0; NullInfo.ItemName = null; NullInfo.ResName = ""; Head = NullInfo; HeadGem1 = NullInfo; HeadGem2 = NullInfo; Body = NullInfo; BodyGem1 = NullInfo; BodyGem2 = NullInfo; Weapon1 = NullInfo; Weapon1_Gem1 = NullInfo; Weapon1_Gem2 = NullInfo; Weapon2 = NullInfo; Weapon2_Gem1 = NullInfo; Weapon2_Gem2 = NullInfo; Magic1 = NullInfo; Magic2 = NullInfo; skillAttributesList[0].skillInfo = new SingleItemInfo(); skillAttributesList[0].skillInfo.magicProperties = new MagicProperties(); skillAttributesList[1].skillInfo = new SingleItemInfo(); skillAttributesList[1].skillInfo.magicProperties = new MagicProperties(); defaultCharacterStatus = MeaninglessJson.LoadJsonFromFile <CharacterStatus>(MeaninglessJson.Path_StreamingAssets + "CharacterStatus.json"); characterStatus.HP = defaultCharacterStatus.HP; //MessageCenter.AddListener_Multparam(EMessageType.EquipItem, (object[] obj) => { EquipItem((EquippedItem)obj[0], (SingleItemInfo)obj[1]); }); MessageCenter.AddListener(EMessageType.UseItem, (object obj) => { UseItem((int)obj); }); }
public void ThrowAway() { if (Item.itemType == ItemType.Gem || Item.itemType == ItemType.Expendable) { BagManager.Instance.List_PickUp.RemoveAt(Index); } else { BagManager.Instance.List_Equip.RemoveAt(Index); } CameraBase.Instance.player.GetComponent <PlayerController>().DiscardItem(Item.ItemID); PressedSlider.value = 0; txt.text = ""; img.sprite = null; Item = null; gameObject.SetActive(false); Destroy(dragObj); }
public void DropedToList() { if (!bagListFull) { image.sprite = ResourcesManager.Instance.GetUITexture("Null"); BagManager.Instance.PickItem(ItemInfo.ItemID); BagManager.Instance.UnequipItem(equippedItemType); if (ItemInfo.itemType != ItemType.Gem) { CameraBase.Instance.player.GetComponent <PlayerController>().UnEquip(equippedItemType); } //MessageCenter.Send(Meaningless.EMessageType.PickedupItem, ItemInfo.ItemID); //MessageCenter.Send(Meaningless.EMessageType.UnEquipItem, equippedItemType); MessageCenter.Send(Meaningless.EMessageType.RefreshBagList, null); canDrag = false; ItemInfo = null; } }
// Use this for initialization void Start() { ItemsInfo itemsInfo = new ItemsInfo() { ItemInfoList = new List <SingleItemInfo>() }; SingleItemInfo singleItemInfo = new SingleItemInfo() { itemType = ItemType.Weapon, ItemName = "棍棒", ResName = "Bat", OccurrenceProbability = 0.10f, weaponProperties = new WeaponProperties() { weaponType = WeaponType.Club, CDTime = 0f, Damage = 40 }, armorProperties = null }; itemsInfo.ItemInfoList.Add(singleItemInfo); singleItemInfo = new SingleItemInfo() { itemType = ItemType.Armor, ItemName = "角斗士头盔", ResName = "Helmet_Gladiator", OccurrenceProbability = 0.20f, weaponProperties = null, armorProperties = new ArmorProperties() { ForWeaponType = WeaponType.Club, Rate_Attack = 1.10f, Rate_DecreasedDurationTime = 0f, Rate_MagicalDefend = 0f, Rate_MoveSpeed = 0f, Rate_PhysicalDefend = 0f, Rate_Recovery = 0f, } }; itemsInfo.ItemInfoList.Add(singleItemInfo); MeaninglessJson.SavaJsonAsFile(MeaninglessJson.Path_StreamingAssets + "ItemsInfo.json", MeaninglessJson.ToJson(itemsInfo)); }
/// <summary> /// 脱下物品 /// </summary> /// <param name="equippedItem"></param> public void UnequipItem(EquippedItem equippedItem) { switch (equippedItem) { case EquippedItem.Head: //当头盔脱下,头盔上的宝石将不再生效 if (HeadGem1 != NullInfo) { armorAttributes.rate_Attack_Magic -= HeadGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= HeadGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= HeadGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= HeadGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= HeadGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= HeadGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= HeadGem1.gemProperties.Rate_Recovery; } if (HeadGem2 != NullInfo) { armorAttributes.rate_Attack_Magic -= HeadGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= HeadGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= HeadGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= HeadGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= HeadGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= HeadGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= HeadGem2.gemProperties.Rate_Recovery; } Head = NullInfo; break; case EquippedItem.HeadGem1: if (Head != NullInfo) { armorAttributes.rate_Attack_Magic -= HeadGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= HeadGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= HeadGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= HeadGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= HeadGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= HeadGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= HeadGem1.gemProperties.Rate_Recovery; } HeadGem1 = NullInfo; break; case EquippedItem.HeadGem2: if (Head != NullInfo) { armorAttributes.rate_Attack_Magic -= HeadGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= HeadGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= HeadGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= HeadGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= HeadGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= HeadGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= HeadGem2.gemProperties.Rate_Recovery; } HeadGem2 = NullInfo; break; case EquippedItem.Body: //当身体防具脱下,身体防具上的宝石将不再生效 if (BodyGem1 != NullInfo) { armorAttributes.rate_Attack_Magic -= BodyGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= BodyGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= BodyGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= BodyGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= BodyGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= BodyGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= BodyGem1.gemProperties.Rate_Recovery; } if (BodyGem2 != NullInfo) { armorAttributes.rate_Attack_Magic -= BodyGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= BodyGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= BodyGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= BodyGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= BodyGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= BodyGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= BodyGem2.gemProperties.Rate_Recovery; } armorAttributes.rate_Defend_Magic -= Body.armorProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= Body.armorProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= Body.armorProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= Body.armorProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= Body.armorProperties.Rate_Recovery; Body = NullInfo; break; case EquippedItem.BodyGem1: if (Body != NullInfo) { armorAttributes.rate_Attack_Magic -= BodyGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= BodyGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= BodyGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= BodyGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= BodyGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= BodyGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= BodyGem1.gemProperties.Rate_Recovery; } BodyGem1 = NullInfo; break; case EquippedItem.BodyGem2: if (Body != NullInfo) { armorAttributes.rate_Attack_Magic -= BodyGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Attack_Physics -= BodyGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Defend_Magic -= BodyGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics -= BodyGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic -= BodyGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed -= BodyGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery -= BodyGem2.gemProperties.Rate_Recovery; } BodyGem2 = NullInfo; break; case EquippedItem.Weapon1_Gem1: List_WeaponAttributes[0].rate_Attack_Magic -= Weapon1_Gem1.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics -= Weapon1_Gem1.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic -= Weapon1_Gem1.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics -= Weapon1_Gem1.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic -= Weapon1_Gem1.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed -= Weapon1_Gem1.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery -= Weapon1_Gem1.gemProperties.Rate_Recovery; Weapon1_Gem1 = NullInfo; break; case EquippedItem.Weapon1_Gem2: List_WeaponAttributes[0].rate_Attack_Magic -= Weapon1_Gem2.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics -= Weapon1_Gem2.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic -= Weapon1_Gem2.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics -= Weapon1_Gem2.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic -= Weapon1_Gem2.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed -= Weapon1_Gem2.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery -= Weapon1_Gem2.gemProperties.Rate_Recovery; Weapon1_Gem2 = NullInfo; break; case EquippedItem.Weapon2_Gem1: List_WeaponAttributes[1].rate_Attack_Magic -= Weapon2_Gem1.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics -= Weapon2_Gem1.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic -= Weapon2_Gem1.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics -= Weapon2_Gem1.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic -= Weapon2_Gem1.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed -= Weapon2_Gem1.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery -= Weapon2_Gem1.gemProperties.Rate_Recovery; Weapon2_Gem1 = NullInfo; break; case EquippedItem.Weapon2_Gem2: List_WeaponAttributes[1].rate_Attack_Magic -= Weapon2_Gem2.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics -= Weapon2_Gem2.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic -= Weapon2_Gem2.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics -= Weapon2_Gem2.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic -= Weapon2_Gem2.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed -= Weapon2_Gem2.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery -= Weapon2_Gem2.gemProperties.Rate_Recovery; Weapon2_Gem2 = NullInfo; break; case EquippedItem.Weapon1: Weapon1 = NullInfo; break; case EquippedItem.Weapon2: Weapon2 = NullInfo; break; case EquippedItem.Magic1: skillAttributesList[0].skillInfo = NullInfo; skillAttributesList[0].remainCount = 0; Magic1 = NullInfo; break; case EquippedItem.Magic2: skillAttributesList[1].skillInfo = NullInfo; skillAttributesList[1].remainCount = 0; Magic2 = NullInfo; break; } }
/// <summary> /// 装备物品 /// </summary> /// <param name="equippedItem"></param> /// <param name="itemInfo"></param> public void EquipItem(EquippedItem equippedItem, SingleItemInfo itemInfo) { switch (equippedItem) { case EquippedItem.Head: //1.使用UnequipItem(EquippedItem.Head)后,直接脱下头盔将会减去头盔上宝石的属性,所以装备头盔时,当宝石存在,即再次加上宝石属性. //2.先装备了宝石再装备头盔,宝石属性仍未添加,所以装备头盔时,当宝石存在,即再次加上宝石属性. if (HeadGem1 != NullInfo) { armorAttributes.rate_Attack_Physics += HeadGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += HeadGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += HeadGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += HeadGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += HeadGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += HeadGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += HeadGem1.gemProperties.Rate_Recovery; } if (HeadGem2 != NullInfo) { armorAttributes.rate_Attack_Physics += HeadGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += HeadGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += HeadGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += HeadGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += HeadGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += HeadGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += HeadGem2.gemProperties.Rate_Recovery; } //添加身体防具属性 armorAttributes.rate_Defend_Magic += itemInfo.armorProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics += itemInfo.armorProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.armorProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.armorProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.armorProperties.Rate_Recovery; Head = itemInfo; break; case EquippedItem.Body: //1.使用UnequipItem(EquippedItem.Body)后,直接脱下身体防具将会减去身体防具上宝石的属性,所以装备身体防具时,当宝石存在,即再次加上宝石属性. //2.先装备了宝石再装备身体防具,宝石属性仍未添加,所以装备身体防具时,当宝石存在,即再次加上宝石属性. if (BodyGem1 != NullInfo) { armorAttributes.rate_Attack_Physics += BodyGem1.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += BodyGem1.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += BodyGem1.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += BodyGem1.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += BodyGem1.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += BodyGem1.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += BodyGem1.gemProperties.Rate_Recovery; } if (BodyGem2 != NullInfo) { armorAttributes.rate_Attack_Physics += BodyGem2.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += BodyGem2.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += BodyGem2.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += BodyGem2.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += BodyGem2.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += BodyGem2.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += BodyGem2.gemProperties.Rate_Recovery; } //添加身体防具属性 armorAttributes.rate_Defend_Magic += itemInfo.armorProperties.Rate_MagicalDefend; armorAttributes.rate_Defend_Physics += itemInfo.armorProperties.Rate_PhysicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.armorProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.armorProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.armorProperties.Rate_Recovery; Body = itemInfo; break; case EquippedItem.HeadGem1: HeadGem1 = itemInfo; if (Head != NullInfo) { armorAttributes.rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.HeadGem2: HeadGem2 = itemInfo; if (Head != NullInfo) { armorAttributes.rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } HeadGem2 = itemInfo; break; case EquippedItem.BodyGem1: BodyGem1 = itemInfo; if (Body != NullInfo) { armorAttributes.rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.BodyGem2: BodyGem2 = itemInfo; if (Body != NullInfo) { armorAttributes.rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; armorAttributes.rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; armorAttributes.rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; armorAttributes.rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; armorAttributes.rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; armorAttributes.rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; armorAttributes.rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.Weapon1: //1.使用UnequipItem(EquippedItem.Weapon1)后,直接脱下武器将会减去武器上宝石的属性,所以装备武器时,当宝石存在,即再次加上宝石属性. //2.先装备了宝石再装备Weapon1,宝石属性仍未添加,所以装备武器时,当宝石存在,即再次加上宝石属性. if (Weapon1_Gem1 != NullInfo) { List_WeaponAttributes[0].rate_Attack_Magic += Weapon1_Gem1.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics += Weapon1_Gem1.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic += Weapon1_Gem1.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics += Weapon1_Gem1.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic += Weapon1_Gem1.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed += Weapon1_Gem1.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery += Weapon1_Gem1.gemProperties.Rate_Recovery; } if (Weapon1_Gem2 != NullInfo) { List_WeaponAttributes[0].rate_Attack_Magic += Weapon1_Gem2.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics += Weapon1_Gem2.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic += Weapon1_Gem2.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics += Weapon1_Gem2.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic += Weapon1_Gem2.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed += Weapon1_Gem2.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery += Weapon1_Gem2.gemProperties.Rate_Recovery; } Weapon1 = itemInfo; break; case EquippedItem.Weapon2: //1.使用UnequipItem(EquippedItem.Weapon2)后,直接脱下武器将会减去武器上宝石的属性,所以装备武器时,当宝石存在,即再次加上宝石属性. //2.先装备了宝石再装备Weapon2,宝石属性仍未添加,所以装备武器时,当宝石存在,即再次加上宝石属性. if (Weapon2_Gem1 != NullInfo) { List_WeaponAttributes[1].rate_Attack_Magic += Weapon2_Gem1.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics += Weapon2_Gem1.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic += Weapon2_Gem1.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics += Weapon2_Gem1.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic += Weapon2_Gem1.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed += Weapon2_Gem1.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery += Weapon2_Gem1.gemProperties.Rate_Recovery; } if (Weapon2_Gem2 != NullInfo) { List_WeaponAttributes[1].rate_Attack_Magic += Weapon2_Gem2.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics += Weapon2_Gem2.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic += Weapon2_Gem2.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics += Weapon2_Gem2.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic += Weapon2_Gem2.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed += Weapon2_Gem2.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery += Weapon2_Gem2.gemProperties.Rate_Recovery; } Weapon2 = itemInfo; break; case EquippedItem.Weapon1_Gem1: Weapon1_Gem1 = itemInfo; if (Weapon1 != NullInfo) { List_WeaponAttributes[0].rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } Magic1 = itemInfo; break; case EquippedItem.Weapon1_Gem2: Weapon1_Gem2 = itemInfo; if (Weapon1 != NullInfo) { List_WeaponAttributes[0].rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[0].rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[0].rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[0].rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[0].rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[0].rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[0].rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.Weapon2_Gem1: Weapon2_Gem1 = itemInfo; if (Weapon2 != NullInfo) { List_WeaponAttributes[1].rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.Weapon2_Gem2: Weapon2_Gem2 = itemInfo; if (Weapon2 != NullInfo) { List_WeaponAttributes[1].rate_Attack_Magic += itemInfo.gemProperties.Rate_MagicalAttack; List_WeaponAttributes[1].rate_Attack_Physics += itemInfo.gemProperties.Rate_PhysicalAttack; List_WeaponAttributes[1].rate_Defend_Magic += itemInfo.gemProperties.Rate_MagicalDefend; List_WeaponAttributes[1].rate_Defend_Physics += itemInfo.gemProperties.Rate_PhysicalDefend; List_WeaponAttributes[1].rate_DurationTime_Magic += itemInfo.gemProperties.Rate_DecreasedDurationTime; List_WeaponAttributes[1].rate_MoveSpeed += itemInfo.gemProperties.Rate_MoveSpeed; List_WeaponAttributes[1].rate_Recovery += itemInfo.gemProperties.Rate_Recovery; } break; case EquippedItem.Magic1: Magic1 = itemInfo; skillAttributesList[0].skillInfo = itemInfo; skillAttributesList[0].isOn = true; skillAttributesList[0].isUse = false; skillAttributesList[0].Timer = itemInfo.magicProperties.CDTime; skillAttributesList[0].remainCount = (int)itemInfo.magicProperties.UsableCount; break; case EquippedItem.Magic2: Magic2 = itemInfo; skillAttributesList[1].skillInfo = itemInfo; skillAttributesList[1].isOn = true; skillAttributesList[1].isUse = false; skillAttributesList[1].Timer = itemInfo.magicProperties.CDTime; skillAttributesList[1].remainCount = (int)itemInfo.magicProperties.UsableCount; break; default: break; } }
public void OnDrop(PointerEventData eventData) { if (canDrag == false) { if (eventData.pointerDrag != null) { BagListitem bagListitem = eventData.pointerDrag.GetComponent <BagListitem>(); DropItem dropItem = eventData.pointerDrag.GetComponent <DropItem>(); switch (equippedItemType) { case EquippedItem.BodyGem1: case EquippedItem.BodyGem2: case EquippedItem.HeadGem1: case EquippedItem.HeadGem2: case EquippedItem.Weapon1_Gem1: case EquippedItem.Weapon1_Gem2: case EquippedItem.Weapon2_Gem1: case EquippedItem.Weapon2_Gem2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Gem) { image.sprite = bagListitem.img.sprite; object[] param = new object[2]; param[0] = equippedItemType; param[1] = bagListitem.Item; MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); ItemInfo = bagListitem.Item; bagListitem.UseItem(); canDrag = true; } } if (dropItem != null) { if (dropItem.ItemInfo.itemType == ItemType.Gem) { image.sprite = dropItem.image.sprite; MessageCenter.Send(Meaningless.EMessageType.UnEquipItem, dropItem.equippedItemType); object[] param = new object[2]; param[0] = equippedItemType; param[1] = dropItem.ItemInfo; MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); ItemInfo = dropItem.ItemInfo; canDrag = true; dropItem.DropedToOtherSlot(); } } break; case EquippedItem.Head: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Armor) { if (bagListitem.Item.armorProperties.armorType == ArmorType.Head) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); CameraBase.Instance.player.GetComponent <PlayerController>().EquipHelmet(bagListitem.Item.ItemID); NetworkManager.SendPlayerEquipHelmet(bagListitem.Item.ItemID); //发送戴头盔消息 canDrag = true; } } } break; case EquippedItem.Body: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Armor) { if (bagListitem.Item.armorProperties.armorType == ArmorType.Body) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); CameraBase.Instance.player.GetComponent <PlayerController>().EquipClothes(bagListitem.Item.ItemID); NetworkManager.SendPlayerEquipClothe(bagListitem.Item.ItemID); //发送着衫消息 canDrag = true; } } } break; case EquippedItem.Weapon1: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Weapon) { if (bagListitem.Item.weaponProperties.weaponType != WeaponType.Shield) { image.sprite = bagListitem.img.sprite; // MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); BagManager.Instance.CurrentSelected = 1; CameraBase.Instance.player.GetComponent <PlayerController>().ChangeWeapon(1); NetworkManager.SendPlayerEquipWeapon(bagListitem.Item.ItemID); //发送换武器消息 ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } } break; case EquippedItem.Weapon2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Weapon) { if (bagListitem.Item.weaponProperties.weaponType != WeaponType.Shield) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); BagManager.Instance.CurrentSelected = 2; CameraBase.Instance.player.GetComponent <PlayerController>().ChangeWeapon(2); NetworkManager.SendPlayerEquipWeapon(bagListitem.Item.ItemID); //发送换武器消息 ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } } break; case EquippedItem.Magic1: case EquippedItem.Magic2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Magic) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } break; } } } }