Beispiel #1
0
    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);
    }
Beispiel #2
0
 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);
     });
 }