Exemplo n.º 1
0
    public void Open()
    {
        this.gameObject.SetActive(true);
        Clear();

        GameObject tempPiece;
        string     key;

        for (int i = 0; i < InputMap.Map.Count; i++)
        {
            tempPiece = ResourcesLoader.Instance.GetRecycledObject("KeyBindingPiece");
            tempPiece.transform.SetParent(Container, false);
            key = InputMap.Map.Keys.ElementAt(i);
            KeyBindingPieceUI KeyBindingPiece = tempPiece.GetComponent <KeyBindingPieceUI>();
            KeyBindingPiece.SetInfo(key, InputMap.Map[key]);
            KeyBindingPiece.m_btn.onClick.AddListener(delegate { OnKeyBindingPieceClicked(KeyBindingPiece); });
        }
    }
Exemplo n.º 2
0
    public void OnKeyBindingPieceClicked(KeyBindingPieceUI KeyBindingPiece)
    {
        bool IsPieceAlreadyActive = KeyBindingPiece.isWaitingForKey;

        if (LastClickedPiece != null)
        {
            LastClickedPiece.CloseBinding();
        }

        if (IsPieceAlreadyActive)
        {
            // keep the piece disabled and clear the last clicked piece
            LastClickedPiece = null;
        }
        else
        {
            // save the last piece so it can be closed if another one is clicked
            LastClickedPiece = KeyBindingPiece;
            KeyBindingPiece.OnClick();
        }
    }