//灵石槽根据状态添加click事件 private void AddSlotOnClick(RuneSlotItem runeSlotItem) { runeSlotItem.onClickEvent = null; switch (runeSlotItem.state) { case RuneSlotState.CAN_UNLOCK: { runeSlotItem.onClickEvent = OnCanUnLockClick; break; } case RuneSlotState.CAN_BUY: { runeSlotItem.onClickEvent = OnShowRuneSlotBuyPanelClick; break; } case RuneSlotState.UNLOCK: { runeSlotItem.onClickEvent = OnShowRuneAvailablePanelClick; break; } case RuneSlotState.INLAID: { runeSlotItem.onClickEvent = OnShowRuneInformationClick; break; } } }
private void InitSlotByType(List <RunePageInfo.RuneSlotInfo> rundSlotInfoList, RuneSlotType type, Transform slottransform) { for (int i = 0; i < rundSlotInfoList.Count; i++) { RunePageInfo.RuneSlotInfo runeSlot = rundSlotInfoList[i]; RuneSlotItem runeSlotItem = slottransform.GetChild(i).GetComponent <RuneSlotItem>(); runeSlotItem.slotType = type; runeSlotItem.state = (RuneSlotState)runeSlot.state; runeSlotItem.slotId = runeSlot.id; runeSlotItem.itemId = runeSlot.itemId; runeSlotItem.pageId = currentRunePageId; runeSlotItem.gameObject.GetComponent <Toggle>().isOn = false; if (runeSlot.itemId != 0 && runeSlotItem.state == RuneSlotState.INLAID) { runeSlotItem.runeIcon = controller.GetRuneIcon(runeSlot.itemId); slotPageTotalLevel += controller.GetRuneLevel(runeSlot.itemId); } if (runeSlotItem.state == RuneSlotState.CAN_BUY) { canBuyRuneSoltList.Add(runeSlotItem); } runeSlotItem.InitItem(); AddSlotOnClick(runeSlotItem); } }