void Interact(UI_LevelItem item)
    {
        if (_currentHoveredItem == null)
        {
            return;
        }

        var index = LevelItems.ToList().IndexOf(item);

        switch (index)
        {
        case 0:
            _menuControl.OpenHTP();
            break;

        case 1:
            ChargeAScene();
            break;

        case 2:
            _menuControl.OpenSettings();
            break;

        default:
            break;
        }
    }
    void Update()
    {
        if (_menuControl.IsSettingsActive)
        {
            return;
        }

        var mousePos = _inputInstance.Data.MousePosition;

        for (int i = 0; i < LevelItems.Length; i++)
        {
            var item    = LevelItems[i];
            var itemPos = LevelItems[i].transform.position;
            var diff    = new Vector3(mousePos.x, mousePos.y, 0f) - new Vector3(itemPos.x - item.Size.x / 2, itemPos.y - item.Size.y / 2, 0f);

            var ishovered = Vector3.SqrMagnitude(diff) < (2f * 2f);

            item.UpdateItem(ishovered);

            if (ishovered)
            {
                _currentHoveredItem = item;
            }
        }

        if (_inputInstance.Data.MouseClick)
        {
            Interact(_currentHoveredItem);
        }
    }
Example #3
0
    UI_LevelItem CreateLevel()
    {
        GameObject go = GameObject.Instantiate(m_StageItemObj) as GameObject;

        GameObject.Destroy(go.GetComponent <UI_StageItem>());
        UI_LevelItem item = new UI_LevelItem(go);

        item.SetOnClick(OnLevelItemClick);
        item.SetParent(m_StageListObj.transform);

        return(item);
    }