public void OnCellForItems(ScrollGridCell itemCell) { int index = itemCell.index; ItemBean itemBean = listItemData[index]; ItemsInfoBean itemInfo = GameItemsHandler.Instance.manager.GetItemsById(itemBean.itemId); ItemGameBackpackEquipCpt backpackCpt = itemCell.GetComponent <ItemGameBackpackEquipCpt>(); backpackCpt.SetData(characterData, itemInfo, itemBean); }
/// <summary> /// 设置装备 /// </summary> /// <param name="itemInfo"></param> /// <param name="isTFequip">是否是幻化</param> public void SetEquip(ItemsInfoBean itemInfo, bool isTFequip) { if (itemInfo == null) { return; } GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); ItemGameBackpackEquipCpt itemCpt = null; long unloadEquipId = 0; GeneralEnum itemType = itemInfo.GetItemsType(); switch (itemType) { case GeneralEnum.Hat: if (isTFequip) { itemCpt = equipTFHat; unloadEquipId = characterData.equips.hatTFId; characterData.equips.hatTFId = itemInfo.id; } else { itemCpt = equipHat; unloadEquipId = characterData.equips.hatId; characterData.equips.hatId = itemInfo.id; } break; case GeneralEnum.Clothes: if (isTFequip) { itemCpt = equipTFClothes; unloadEquipId = characterData.equips.clothesTFId; characterData.equips.clothesTFId = itemInfo.id; } else { itemCpt = equipClothes; unloadEquipId = characterData.equips.clothesId; characterData.equips.clothesId = itemInfo.id; } break; case GeneralEnum.Shoes: if (isTFequip) { itemCpt = equipTFShoes; unloadEquipId = characterData.equips.shoesTFId; characterData.equips.shoesTFId = itemInfo.id; } else { itemCpt = equipShoes; unloadEquipId = characterData.equips.shoesId; characterData.equips.shoesId = itemInfo.id; } break; case GeneralEnum.Chef: case GeneralEnum.Waiter: case GeneralEnum.Accoutant: case GeneralEnum.Accost: case GeneralEnum.Beater: if (isTFequip) { itemCpt = equipTFHand; unloadEquipId = characterData.equips.handTFId; characterData.equips.handTFId = itemInfo.id; } else { itemCpt = equipHand; unloadEquipId = characterData.equips.handId; characterData.equips.handId = itemInfo.id; } break; } itemCpt.SetData(characterData, itemInfo, null); //如果有卸载的装备 则添加到背包 if (unloadEquipId != 0) { gameData.AddItemsNumber(unloadEquipId, 1); } //刷新场景中的人物 if (SceneUtil.GetCurrentScene() == ScenesEnum.GameInnScene) { NpcHandler.Instance.builderForWorker.RefreshWorkerData(); NpcHandler.Instance.builderForFamily.RefreshFamilyData(); } }