/// <summary> /// 当点击组合技能框时 /// </summary> public void CombineSkillLatticeClick(BaseEventData e) { PointerEventData pe = e as PointerEventData; if (pe == null) { return; } UIFocusSkillCombineLattice target = UITools.FindTargetPopup <UIFocusSkillCombineLattice>(pe.pointerCurrentRaycast.gameObject.transform); if (enumUISkillCombine == EnumUISkillCombine.CombineSkillItem || enumUISkillCombine == EnumUISkillCombine.CombineSkillLattice) { if (target) { if (nowUISkilCombineLattice) { nowUISkilCombineLattice.LostForcus(); } nowUISkilCombineLattice = target; nowUISkilCombineLattice.SetForcus(); SetSelectSkill(); } } }
/// <summary> /// 按键检测 /// </summary> /// <param name="keyType"></param> /// <param name="rockValue"></param> private void Instance_KeyUpHandle(UIManager.KeyType keyType, Vector2 rockValue) { switch (enumUISkillCombine) { case EnumUISkillCombine.CombineSkillItem: //处于左侧状态 switch (keyType) { case UIManager.KeyType.A: if (nowCombineSkillItem) { //设置技能框的边框显示 nowUISkilCombineLattice = uiFocusPath.GetFirstFocus <UIFocusSkillCombineLattice>(); if (nowUISkilCombineLattice) { nowUISkilCombineLattice.SetForcus(); } //同时将模式更改为CombineSkillLattice enumUISkillCombine = EnumUISkillCombine.CombineSkillLattice; uiCombineSkillList.CanClickListItem = false; } break; case UIManager.KeyType.UP: case UIManager.KeyType.DOWN: { UIListItem[] tempArrays = uiCombineSkillList.GetAllImtes(); int index = 0; if (nowCombineSkillItem) { index = tempArrays.ToList().IndexOf(nowCombineSkillItem); } if (index < 0) { index = 0; } switch (keyType) { case UIManager.KeyType.UP: index--; break; case UIManager.KeyType.DOWN: index++; break; } index = Mathf.Clamp(index, 0, tempArrays.Length - 1); if (index < tempArrays.Length) { uiCombineSkillList.ShowItem(tempArrays[index]); if (nowCombineSkillItem && nowCombineSkillItem.childImage) { nowCombineSkillItem.childImage.enabled = false; nowCombineSkillItem.childImage.gameObject.SetActive(false); } nowCombineSkillItem = tempArrays[index]; if (nowCombineSkillItem && nowCombineSkillItem.childImage) { nowCombineSkillItem.childImage.enabled = true; nowCombineSkillItem.childImage.gameObject.SetActive(true); } if (nowCombineSkillItem) { SetSkillCombineLatticeAndShowVadio((EnumSkillType[])nowCombineSkillItem.value); } } } break; } break; case EnumUISkillCombine.CombineSkillLattice: //处于右侧状态 switch (keyType) { case UIManager.KeyType.A: SetSelectSkill(); break; case UIManager.KeyType.B: if (nowUISkilCombineLattice) { nowUISkilCombineLattice.LostForcus(); } enumUISkillCombine = EnumUISkillCombine.CombineSkillItem; //切换模式到组合技能集合 uiCombineSkillList.CanClickListItem = true; break; case UIManager.KeyType.LEFT: case UIManager.KeyType.RIGHT: if (nowUISkilCombineLattice) { UIFocusSkillCombineLattice tempUIFocuesSkillCombineLattice = uiFocusPath.GetNewNextFocus(nowUISkilCombineLattice, keyType == UIManager.KeyType.LEFT ? UIFocusPath.MoveType.LEFT : UIFocusPath.MoveType.RIGHT) as UIFocusSkillCombineLattice; //uiFocusPath.GetNextFocus(nowUISkilCombineLattice, keyType == UIManager.KeyType.LEFT ? UIFocusPath.MoveType.LEFT : UIFocusPath.MoveType.RIGHT) as UIFocusSkillCombineLattice; if (tempUIFocuesSkillCombineLattice) { nowUISkilCombineLattice.LostForcus(); nowUISkilCombineLattice = tempUIFocuesSkillCombineLattice; nowUISkilCombineLattice.SetForcus(); } } break; } break; case EnumUISkillCombine.CombineSkillSelect: //处于选择技能状态 switch (keyType) { case UIManager.KeyType.A: ResetCombineSkillLattice(); break; case UIManager.KeyType.B: //切换状态 uiSelectSkillList.gameObject.SetActive(false); enumUISkillCombine = EnumUISkillCombine.CombineSkillLattice; break; case UIManager.KeyType.UP: case UIManager.KeyType.DOWN: { UIListItem[] tempArrays = uiSelectSkillList.GetAllImtes(); int index = 0; if (nowCombineSkillItem) { index = tempArrays.ToList().IndexOf(nowSelectSkillItem); } if (index < 0) { index = 0; } switch (keyType) { case UIManager.KeyType.UP: index--; break; case UIManager.KeyType.DOWN: index++; break; } index = Mathf.Clamp(index, 0, tempArrays.Length - 1); if (index < tempArrays.Length) { uiSelectSkillList.ShowItem(tempArrays[index]); if (uiSelectSkillList && nowSelectSkillItem.childImage) { nowSelectSkillItem.childImage.enabled = false; nowSelectSkillItem.childImage.gameObject.SetActive(false); } nowSelectSkillItem = tempArrays[index]; if (uiSelectSkillList && nowSelectSkillItem.childImage) { nowSelectSkillItem.childImage.enabled = true; nowSelectSkillItem.childImage.gameObject.SetActive(true); } } } break; } break; } }