Example #1
0
        void CreateToolButton(Action onClickAction, ButtonSpriteSet buttonSpriteSet, string toolName, uint toolID, int buttonIndex = -1)
        {
            GameObject prefab    = null;
            Transform  container = null;

            if (SettingsManager.Instance.InAdvancedMode)
            {
                prefab    = advancedToolButtonPrefab;
                container = advancedToolsContainer;
            }
            else
            {
                prefab = toolButtonPrefab;

                if (buttonIndex != -1)
                {
                    container = toolContainers[buttonIndex];
                    addToolButtons[buttonIndex].gameObject.SetActive(false);
                }
            }

            if (container != null)
            {
                GameObject toolButtonObject = Instantiate(prefab, container);
                ToolButton toolButton       = toolButtonObject.GetComponent <ToolButton>();

                if (prefab == toolButtonPrefab)
                {
                    toolButton.OnDisposed.AddListener(() => addToolButtons[buttonIndex].gameObject.SetActive(true));
                }

                toolButton.OnButtonClick += onClickAction;
                toolButton.SetUpTool(buttonSpriteSet, toolName, toolID);
            }
        }
 public void SetUpTool(ButtonSpriteSet buttonSpriteSet, string name, uint toolID)
 {
     this.buttonSpriteSet = buttonSpriteSet;
     this.toolID          = toolID;
     toolIcon.sprite      = buttonSpriteSet.normal;
     toolNameText.text    = name;
 }