fix radial menu

This commit is contained in:
2023-11-17 13:52:06 +02:00
parent 8456ce0356
commit 37da3bd61a
14 changed files with 40 additions and 27 deletions
+16 -6
View File
@@ -8,9 +8,13 @@ public class RadialMenuItem : MonoBehaviour
{
[SerializeField]
private Button _radialMenuItemPrefab;
private Action<RadialMenuActionSO> _menuButtonClick=null;
List<RadialMenuActionSO> _actions;
public void ShowButtons(List<RadialMenuActionSO> actions, Action<RadialMenuActionSO> menuButtonClick)
{
_actions = actions;
_menuButtonClick = menuButtonClick;
for (int buttonsCount = 0; buttonsCount < actions.Count; buttonsCount++)
{
var button = Instantiate(_radialMenuItemPrefab);
@@ -27,14 +31,20 @@ public class RadialMenuItem : MonoBehaviour
textMeshPro.text = actions[buttonsCount].ActionName;
}
button.onClick.AddListener(() =>
{
Hide();
CloseDialog();
menuButtonClick?.Invoke(actions[1]);
});
AddEvent(button, buttonsCount);
}
}
void AddEvent(Button b, int i)
{
b.onClick.AddListener(() =>
{
Hide();
_menuButtonClick?.Invoke(_actions[i]);
CloseDialog();
});
}
private void CloseDialog()
{
UIManager.Instance.Unfreeze();