コード例 #1
0
ファイル: KeyButton.cs プロジェクト: Ronoman/synthesis
    public void OnClick()
    {
        if (selectedButton != null)
        {
            selectedButton.UpdateText();
        }

        selectedButton = this;

        if (mKeyText == null)
        {
            mKeyText = GetComponentInChildren <Text>();
        }

        mKeyText.text = "...";
    }
コード例 #2
0
ファイル: CreateButton.cs プロジェクト: ezhangle/synthesis
        public void UpdatePlayerSixButtons()
        {
            DestroyList();

            float maxNameWidth  = 0;
            float contentHeight = 4;

            ReadOnlyCollection <KeyMapping> keys = InputControl.GetPlayerKeys(5);

            foreach (KeyMapping key in keys)
            {
                //========================================================================================
                //                                   Key Text vs Key Buttons
                //Key Text: The labels/text in the first column of the InputManager menu (see Options tab)
                //Key Buttons: The buttons in the second and third column of the Input Manager menu
                //========================================================================================

                //Source: https://github.com/Gris87/InputControl
                #region Key text
                GameObject keyNameText = Instantiate(keyNamePrefab) as GameObject;
                keyNameText.name = key.name;

                RectTransform keyNameTextRectTransform = keyNameText.GetComponent <RectTransform>();

                keyNameTextRectTransform.transform.SetParent(namesTransform);
                keyNameTextRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
                keyNameTextRectTransform.localScale         = new Vector3(1, 1, 1);

                Text keyText = keyNameText.GetComponentInChildren <Text>();
                keyText.text = key.name;

                float keyNameWidth = keyText.preferredWidth + 8;

                if (keyNameWidth > maxNameWidth)
                {
                    maxNameWidth = keyNameWidth;
                }
                #endregion

                #region Key buttons
                GameObject keyButtons = Instantiate(keyButtonsPrefab) as GameObject;
                keyButtons.name = key.name;

                RectTransform keyButtonsRectTransform = keyButtons.GetComponent <RectTransform>();

                keyButtonsRectTransform.transform.SetParent(keysTransform);
                keyButtonsRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
                keyButtonsRectTransform.localScale         = new Vector3(1, 1, 1);

                for (int i = 0; i < 2; ++i)
                {
                    KeyButton buttonScript = keyButtons.transform.GetChild(i).GetComponent <KeyButton>();

                    buttonScript.keyMapping = key;
                    buttonScript.keyIndex   = i;

                    buttonScript.UpdateText();
                }
                #endregion
                //==============================================

                contentHeight += 28;
            }

            RectTransform namesRectTransform = namesTransform.GetComponent <RectTransform>();
            RectTransform keysRectTransform  = keysTransform.GetComponent <RectTransform>();
            RectTransform rectTransform      = GetComponent <RectTransform>();

            namesRectTransform.offsetMax = new Vector2(maxNameWidth, 0);
            keysRectTransform.offsetMin  = new Vector2(maxNameWidth, 0);
            rectTransform.sizeDelta      = new Vector2(0, contentHeight);

            GameObject.Find("SettingsMode").GetComponent <SettingsMode>().UpdateButtonStyle();
        }
コード例 #3
0
ファイル: CreateButton.cs プロジェクト: ezhangle/synthesis
        private Transform keysTransform;  //The buttons of the controls (column 2 and column 3 of the control panel)

        // Use this for initialization
        void Start()
        {
            DestroyList();

            tankDriveSwitch      = Auxiliary.FindObject("TankDriveSwitch");
            unitConversionSwitch = Auxiliary.FindObject("UnitConversionSwitch");

            //Can change the default measurement HERE and also change the default value in the slider game object in main menu
            PlayerPrefs.SetString("Measure", "Metric");
            GameObject.Find("SettingsMode").GetComponent <SettingsMode>().UpdateAllText();

            namesTransform = transform.Find("Names");
            keysTransform  = transform.Find("Keys");

            float maxNameWidth  = 0;
            float contentHeight = 4;

            //Defaults to player one's keys at Start
            ReadOnlyCollection <KeyMapping> keys = InputControl.GetPlayerKeys(0);

            foreach (KeyMapping key in keys)
            {
                //========================================================================================
                //                                   Key Text vs Key Buttons
                //Key Text: The labels/text in the first column of the InputManager menu (see Options tab)
                //Key Buttons: The buttons in the second and third column of the Input Manager menu
                //========================================================================================

                //Source: https://github.com/Gris87/InputControl
                #region Key text
                GameObject keyNameText = Instantiate(keyNamePrefab) as GameObject;
                keyNameText.name = key.name;

                RectTransform keyNameTextRectTransform = keyNameText.GetComponent <RectTransform>();

                keyNameTextRectTransform.transform.SetParent(namesTransform);
                keyNameTextRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
                keyNameTextRectTransform.localScale         = new Vector3(1, 1, 1);

                Text keyText = keyNameText.GetComponentInChildren <Text>();
                keyText.text = key.name;

                float keyNameWidth = keyText.preferredWidth + 8;

                if (keyNameWidth > maxNameWidth)
                {
                    maxNameWidth = keyNameWidth;
                }
                #endregion

                #region Key buttons
                GameObject keyButtons = Instantiate(keyButtonsPrefab) as GameObject;
                keyButtons.name = key.name;

                RectTransform keyButtonsRectTransform = keyButtons.GetComponent <RectTransform>();

                keyButtonsRectTransform.transform.SetParent(keysTransform);
                keyButtonsRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
                keyButtonsRectTransform.localScale         = new Vector3(1, 1, 1);

                for (int i = 0; i < 2; ++i)
                {
                    KeyButton buttonScript = keyButtons.transform.GetChild(i).GetComponent <KeyButton>();

                    buttonScript.keyMapping = key;
                    buttonScript.keyIndex   = i;

                    buttonScript.UpdateText();
                }
                #endregion
                //==============================================

                contentHeight += 28;
            }

            RectTransform namesRectTransform = namesTransform.GetComponent <RectTransform>();
            RectTransform keysRectTransform  = keysTransform.GetComponent <RectTransform>();
            RectTransform rectTransform      = GetComponent <RectTransform>();

            namesRectTransform.offsetMax = new Vector2(maxNameWidth, 0);
            keysRectTransform.offsetMin  = new Vector2(maxNameWidth, 0);
            rectTransform.sizeDelta      = new Vector2(0, contentHeight); //Controls the height on the control panel

            //Updates the current active player's button (at start, we default to player one.)
            GameObject.Find("SettingsMode").GetComponent <SettingsMode>().UpdateButtonStyle();

            //Loads controls (if changed in another scene) and updates their button text.
            Controls.Load();
            GameObject.Find("Content").GetComponent <CreateButton>().UpdatePlayerOneButtons();
            GameObject.Find("SettingsMode").GetComponent <SettingsMode>().UpdateAllText();
        }
コード例 #4
0
ファイル: CreateButton.cs プロジェクト: Ronoman/synthesis
    public void UpdateButtons()
    {
        namesTransform = transform.Find("Names");
        keysTransform  = transform.Find("Keys");
        foreach (Transform child in namesTransform)
        {
            Destroy(child.gameObject);
        }
        foreach (Transform child in keysTransform)
        {
            Destroy(child.gameObject);
        }

        float maxNameWidth  = 0;
        float contentHeight = 4;

        ReadOnlyCollection <KeyMapping> keys = InputControl.getKeysList();

        foreach (KeyMapping key in keys)
        {
            //Key Text vs Key Buttons
            //Key Text: The labels/text in the first column of the InputManager menu (see Options tab)
            //Key Buttons: The buttons in the second and third column of the Input Manager menu
            #region Key text
            GameObject keyNameText = Instantiate(keyNamePrefab) as GameObject;
            keyNameText.name = key.name;

            RectTransform keyNameTextRectTransform = keyNameText.GetComponent <RectTransform>();

            keyNameTextRectTransform.transform.SetParent(namesTransform);
            keyNameTextRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
            keyNameTextRectTransform.localScale         = new Vector3(1, 1, 1);

            Text keyText = keyNameText.GetComponentInChildren <Text>();
            keyText.text = key.name;

            float keyNameWidth = keyText.preferredWidth + 8;

            if (keyNameWidth > maxNameWidth)
            {
                maxNameWidth = keyNameWidth;
            }
            #endregion

            #region Key buttons
            GameObject keyButtons = Instantiate(keyButtonsPrefab) as GameObject;
            keyButtons.name = key.name;

            RectTransform keyButtonsRectTransform = keyButtons.GetComponent <RectTransform>();

            keyButtonsRectTransform.transform.SetParent(keysTransform);
            keyButtonsRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
            keyButtonsRectTransform.localScale         = new Vector3(1, 1, 1);

            for (int i = 0; i < 2; ++i)
            {
                KeyButton buttonScript = keyButtons.transform.GetChild(i).GetComponent <KeyButton>();

                buttonScript.keyMapping = key;
                buttonScript.keyIndex   = i;

                buttonScript.UpdateText();
            }
            #endregion

            Controls.Save();

            contentHeight += 28;
        }

        RectTransform namesRectTransform = namesTransform.GetComponent <RectTransform>();
        RectTransform keysRectTransform  = keysTransform.GetComponent <RectTransform>();
        RectTransform rectTransform      = GetComponent <RectTransform>();

        namesRectTransform.offsetMax = new Vector2(maxNameWidth, 0);
        keysRectTransform.offsetMin  = new Vector2(maxNameWidth, 0);
        rectTransform.offsetMin      = new Vector2(0, -contentHeight);
    }
コード例 #5
0
ファイル: CreateButton.cs プロジェクト: solomondg/synthesis
    // Use this for initialization
    void Start()
    {
        DestroyList();
        tankDriveSwitch      = AuxFunctions.FindObject("TankDriveSwitch");
        unitConversionSwitch = AuxFunctions.FindObject("UnitConversionSwitch");
        //Can change the default measure HERE and also change the default value in the slider game object in main menu
        PlayerPrefs.SetString("Measure", "Metric");
        GameObject.Find("SettingsMode").GetComponent <SettingsMode>().UpdateAllText();
        namesTransform = transform.Find("Names");
        keysTransform  = transform.Find("Keys");

        float maxNameWidth  = 0;
        float contentHeight = 4;

        //Defaults to player one's keys
        ReadOnlyCollection <KeyMapping> keys = InputControl.getPlayerKeys(0);

        foreach (KeyMapping key in keys)
        {
            //===============================Key Text vs Key Buttons==================================
            //Key Text: The labels/text in the first column of the InputManager menu (see Options tab)
            //Key Buttons: The buttons in the second and third column of the Input Manager menu
            #region Key text
            GameObject keyNameText = Instantiate(keyNamePrefab) as GameObject;
            keyNameText.name = key.name;

            RectTransform keyNameTextRectTransform = keyNameText.GetComponent <RectTransform>();

            keyNameTextRectTransform.transform.SetParent(namesTransform);
            keyNameTextRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
            keyNameTextRectTransform.localScale         = new Vector3(1, 1, 1);

            Text keyText = keyNameText.GetComponentInChildren <Text>();
            keyText.text = key.name;

            float keyNameWidth = keyText.preferredWidth + 8;

            if (keyNameWidth > maxNameWidth)
            {
                maxNameWidth = keyNameWidth;
            }
            #endregion

            #region Key buttons
            GameObject keyButtons = Instantiate(keyButtonsPrefab) as GameObject;
            keyButtons.name = key.name;

            RectTransform keyButtonsRectTransform = keyButtons.GetComponent <RectTransform>();

            keyButtonsRectTransform.transform.SetParent(keysTransform);
            keyButtonsRectTransform.anchoredPosition3D = new Vector3(0, 0, 0);
            keyButtonsRectTransform.localScale         = new Vector3(1, 1, 1);

            for (int i = 0; i < 2; ++i)
            {
                KeyButton buttonScript = keyButtons.transform.GetChild(i).GetComponent <KeyButton>();

                buttonScript.keyMapping = key;
                buttonScript.keyIndex   = i;

                buttonScript.UpdateText();
            }
            #endregion

            contentHeight += 28;
        }

        RectTransform namesRectTransform = namesTransform.GetComponent <RectTransform>();
        RectTransform keysRectTransform  = keysTransform.GetComponent <RectTransform>();
        RectTransform rectTransform      = GetComponent <RectTransform>();

        namesRectTransform.offsetMax = new Vector2(maxNameWidth, 0);
        keysRectTransform.offsetMin  = new Vector2(maxNameWidth, 0);
        rectTransform.offsetMin      = new Vector2(0, -contentHeight);
    }