private void UpdateInputSprite() { if (m_CurrentInputKey == EInputKey.Invalid) { m_CurrentInputKey = GamePadManager.GetPlayerGamepadInputMapping((int)m_Player, m_DefaultInputKey); if (m_CurrentInputKey == EInputKey.Invalid) { m_CurrentInputKey = m_DefaultInputKey; } } InputUIInfo associatedInputUIInfo = UIConfig.Instance.GetAssociatedInputUIInfo(m_CurrentInputKey); if (associatedInputUIInfo != null) { m_PS4ImageInput.sprite = associatedInputUIInfo.m_PS4Sprite; m_XboxImageInput.sprite = associatedInputUIInfo.m_XboxSprite; } }
// ===== /// <summary> /// /// </summary> /// <param name="groupName"></param> /// <param name="key"></param> /// <param name="inputUI"></param> public void Initialise(string groupName, Key key, InputUIManager uiManager) { // keyRef = key; this.uiManager = uiManager; inputInfo = new InputUIInfo( groupName, key.name, key.keyCode.ToString() ); // editButton = GetComponentInChildren <Button>(); thisComponent = this; // keyTitle.text = inputInfo.keyTitle; keyText.text = inputInfo.keyName; }
void DisplayInputs() { InputManager.GetAttackInputList(m_PlayerInfoComponentToDisplay.GetPlayerIndex(), m_PlayerMovementComponentToDisplay.IsLeftSide(), ref m_AttackInputs); if (m_AttackInputs.Count > 0) { // LB is not assigned m_AttackInputs.RemoveAll(input => input.GetInputKey() == PlayerGamePad.K_DEFAULT_UNASSIGNED_INPUT); } if (m_AttackInputs.Count > 0) { m_TriggeredInputs.Add(new List <GameInput>(m_AttackInputs)); if (m_TriggeredInputs.Count > m_GameInputList.transform.childCount) { m_TriggeredInputs.RemoveRange(0, (int)(m_TriggeredInputs.Count - m_GameInputList.transform.childCount)); } int triggeredInputIndex; for (int i = 0; i < m_TriggeredInputs.Count; i++) { triggeredInputIndex = (m_TriggeredInputs.Count - 1) - i; Transform gameInputs = m_GameInputList.transform.GetChild(i); for (int j = 0; j < gameInputs.childCount; j++) { if (j < m_TriggeredInputs[triggeredInputIndex].Count) { if (m_TriggeredInputs[triggeredInputIndex][j].GetInputKey() == EInputKey.LT) { // Check that it remains at least 2 gameinputs image to fill, else stop now if (j < m_GameInputsImage[i].Count - 2) { InputUIInfo inputInfoA = UIConfig.Instance.GetAssociatedInputUIInfo(EInputKey.B); m_GameInputsImage[i][j].sprite = inputInfoA.m_GameSprite; m_GameInputsImage[i][j].enabled = true; j++; InputUIInfo inputInfoB = UIConfig.Instance.GetAssociatedInputUIInfo(EInputKey.A); m_GameInputsImage[i][j].sprite = inputInfoB.m_GameSprite; m_GameInputsImage[i][j].enabled = true; } else { break; } } else if (m_TriggeredInputs[triggeredInputIndex][j].GetInputKey() == EInputKey.RT) { // Check that it remains at least 2 gameinputs image to fill, else stop now if (j < m_GameInputsImage[i].Count - 2) { InputUIInfo inputInfoY = UIConfig.Instance.GetAssociatedInputUIInfo(EInputKey.Y); m_GameInputsImage[i][j].sprite = inputInfoY.m_GameSprite; m_GameInputsImage[i][j].enabled = true; j++; InputUIInfo inputInfoX = UIConfig.Instance.GetAssociatedInputUIInfo(EInputKey.X); m_GameInputsImage[i][j].sprite = inputInfoX.m_GameSprite; m_GameInputsImage[i][j].enabled = true; } else { break; } } else { InputUIInfo inputInfo = UIConfig.Instance.GetAssociatedInputUIInfo(m_TriggeredInputs[triggeredInputIndex][j].GetInputKey()); if (inputInfo != null) { m_GameInputsImage[i][j].sprite = inputInfo.m_GameSprite; m_GameInputsImage[i][j].enabled = true; } } } else { m_GameInputsImage[i][j].enabled = false; } } } #if UNITY_EDITOR if (m_TextToDisplayInputs != null) { m_TextToDisplayInputs.text = string.Empty; for (int i = 0; i < m_TriggeredInputs.Count; i++) { for (int j = 0; j < m_TriggeredInputs[i].Count; j++) { m_TextToDisplayInputs.text += m_TriggeredInputs[i][j].GetInputString(); } } } if (m_TextToDisplayInputsAttack != null) { m_TextToDisplayInputsAttack.text = m_PlayerAttackComponentToDisplay.GetTriggeredInputsString(); } #endif } }