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; }