private void SelectNextTool(bool reverse = false) { if (Tools.Length == 0) { return; } ToolGunTool nextTool = null; if (_activeTool) { var list = reverse ? Tools.Reverse() : Tools; nextTool = list .SkipWhile(x => x != _activeTool) .Skip(1) .FirstOrDefault(); _activeTool.gameObject.SetActive(false); } if (!nextTool) { nextTool = Tools[reverse ? Tools.Length - 1 : 0]; } nextTool.gameObject.SetActive(true); _activeTool = nextTool; OnToolChanged?.Invoke(_activeTool); ViewModel.Kick(.5f); }
public void Initialize(ToolGunTool tool) { _toolName.text = tool.ToolName; _labelBackground.color = new Color() { r = _labelBackground.color.r, g = _labelBackground.color.g, b = _labelBackground.color.b, a = 0 }; tool.OnSelected.AddListener(() => { LeanTween.alpha(_labelBackground.rectTransform, 1, 0.15f); }); tool.OnDeselected.AddListener(() => { LeanTween.alpha(_labelBackground.rectTransform, 0, 0.15f); }); }