/// <summary> /// 获取焦点 /// </summary> /// <param name="moveType"></param> public void GetKeyDown(UIFocusPath.MoveType moveType) { Action <UIFocusPath.MoveType> MoveNextAction = (_moveType) => { if (!nowUIFocus) { nowUIFocus = uiFocusPath.GetFirstFocus(); } if (nowUIFocus) { UIFocus nextUIFocus = uiFocusPath.GetNewNextFocus(nowUIFocus, _moveType); if (nextUIFocus != null) { nowUIFocus = nextUIFocus; } nowUIFocus.SetForcus(); } }; switch (moveType) { case UIFocusPath.MoveType.LEFT: case UIFocusPath.MoveType.RIGHT: MoveNextAction(moveType); break; case UIFocusPath.MoveType.OK: UIFocusButton uiFocusButton = nowUIFocus as UIFocusButton; if (uiFocusButton) { uiFocusButton.ClickThisButton(); //激活事件 } break; } }
/// <summary> /// 创建时输入名字状态的手柄输入检测 /// </summary> /// <param name="keyType"></param> /// <param name="rockValue"></param> private void CreateNameInputType_HandleUpdate(UIManager.KeyType keyType, Vector2 rockValue) { if (nowNameInputFocus == null && nameInputUIFocusPath) { nowNameInputFocus = nameInputUIFocusPath.GetFirstFocus(); if (nowNameInputFocus) { nowNameInputFocus.SetForcus(); } } if (nowNameInputFocus) { //判断键位 Action <UIFocusPath.MoveType> MoveFocusAction = (moveType) => { UIFocus next = nameInputUIFocusPath.GetNewNextFocus(nowNameInputFocus, moveType);// uiFocusPath.GetNextFocus(nowFocus, moveType, true); if (next) { nowNameInputFocus.LostForcus(); nowNameInputFocus = next; nowNameInputFocus.SetForcus(); } }; switch (keyType) { case UIManager.KeyType.A: if (nowNameInputFocus) { UIFocusButton uiFocusButton = nowNameInputFocus as UIFocusButton; UIFocusInputField uiFocusInputField = nowNameInputFocus as UIFocusInputField; if (uiFocusButton) { uiFocusButton.ClickThisButton(); } else if (uiFocusInputField) { uiFocusInputField.EnterInputField(); } } break; case UIManager.KeyType.LEFT: MoveFocusAction(UIFocusPath.MoveType.LEFT); break; case UIManager.KeyType.RIGHT: MoveFocusAction(UIFocusPath.MoveType.RIGHT); break; case UIManager.KeyType.UP: MoveFocusAction(UIFocusPath.MoveType.UP); break; case UIManager.KeyType.DOWN: MoveFocusAction(UIFocusPath.MoveType.DOWN); break; } } }
/// <summary> /// 创建时选择种族状态的手柄输入检测 /// </summary> /// <param name="keyType"></param> /// <param name="rockValue"></param> private void CreateSelectRoleOfRaceType_HandleUpdate(UIManager.KeyType keyType, Vector2 rockValue) { if (nowRoleOfRaceFocus == null && roleOfRaceUIFocusPath) { nowRoleOfRaceFocus = roleOfRaceUIFocusPath.GetFirstFocus(); if (nowRoleOfRaceFocus) { nowRoleOfRaceFocus.SetForcus(); } } if (nowRoleOfRaceFocus) { //判断键位 Action <UIFocusPath.MoveType> MoveFocusAction = (moveType) => { UIFocus next = roleOfRaceUIFocusPath.GetNewNextFocus(nowRoleOfRaceFocus, moveType);// uiFocusPath.GetNextFocus(nowFocus, moveType, true); if (next) { nowRoleOfRaceFocus = next; CreateSelectRoleOfRaceUpdateNowFocus(); } }; switch (keyType) { case UIManager.KeyType.A: if (nowRoleOfRaceFocus) { UIFocusButton uiFocusButton = nowRoleOfRaceFocus as UIFocusButton; if (uiFocusButton) { uiFocusButton.ClickThisButton(); } } break; case UIManager.KeyType.LEFT: MoveFocusAction(UIFocusPath.MoveType.LEFT); break; case UIManager.KeyType.RIGHT: MoveFocusAction(UIFocusPath.MoveType.RIGHT); break; case UIManager.KeyType.UP: MoveFocusAction(UIFocusPath.MoveType.UP); break; case UIManager.KeyType.DOWN: MoveFocusAction(UIFocusPath.MoveType.DOWN); break; } } }
/// <summary> /// 按键检测 /// </summary> /// <param name="keyType"></param> /// <param name="rockValue"></param> private void Instance_KeyUpHandle(UIManager.KeyType keyType, Vector2 rockValue) { if (!fisrtKeyUP) { fisrtKeyUP = true; return; } if (UIAction.isSaving) { return; } Action <UIFocusPath.MoveType> MoveNextEndAction = (moveType) => { if (nowUIFocus) { UIFocus uiFocus = uiFocusPath.GetNewNextFocus(nowUIFocus, moveType); if (uiFocus) { nowUIFocus.LostForcus(); nowUIFocus = uiFocus; nowUIFocus.SetForcus(); } } else { nowUIFocus = uiFocusPath.GetFirstFocus(); nowUIFocus.SetForcus(); } }; switch (keyType) { case UIManager.KeyType.A: UIFocusButton uiFocusButton = nowUIFocus as UIFocusButton; if (uiFocusButton) { uiFocusButton.ClickThisButton(); } break; case UIManager.KeyType.UP: MoveNextEndAction(UIFocusPath.MoveType.UP); break; case UIManager.KeyType.DOWN: MoveNextEndAction(UIFocusPath.MoveType.DOWN); break; } }