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