Genesis Game Client Project Setup
This commit is contained in:
11
Assets/02_Scripts/UI/Menu/MenuButton.cs
Normal file
11
Assets/02_Scripts/UI/Menu/MenuButton.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class MenuButton : MonoBehaviour
|
||||
{
|
||||
public string Name;
|
||||
public Image MenuImage;
|
||||
public GameObject GlowEffect;
|
||||
public UnityEvent ConfirmAction; //유니티가 제공해주는 event
|
||||
}
|
||||
2
Assets/02_Scripts/UI/Menu/MenuButton.cs.meta
Normal file
2
Assets/02_Scripts/UI/Menu/MenuButton.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a2487a13f17eba4bacda6db519183f1
|
||||
44
Assets/02_Scripts/UI/Menu/MenuLogic.cs
Normal file
44
Assets/02_Scripts/UI/Menu/MenuLogic.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class MenuLogic
|
||||
{
|
||||
private List<MenuButton> buttons;
|
||||
private int currentIndex = 0;
|
||||
|
||||
public MenuLogic(List<MenuButton> buttonList)
|
||||
{
|
||||
buttons = buttonList;
|
||||
RefreshUI();
|
||||
}
|
||||
|
||||
private void RefreshUI()
|
||||
{
|
||||
for (int i = 0; i < buttons.Count; i++)
|
||||
{
|
||||
// 현재 인덱스만 백그라운드 활성화!
|
||||
buttons[i].GlowEffect.SetActive(i == currentIndex);
|
||||
}
|
||||
}
|
||||
|
||||
public void MenuMoveUp()
|
||||
{
|
||||
MenuMove(1);
|
||||
}
|
||||
|
||||
public void MenuMoveDown()
|
||||
{
|
||||
MenuMove(-1);
|
||||
}
|
||||
|
||||
public void MenuMove(int direction)
|
||||
{
|
||||
currentIndex = (currentIndex + direction + buttons.Count) % buttons.Count;
|
||||
RefreshUI();
|
||||
}
|
||||
|
||||
public void MenuConfirm()
|
||||
{
|
||||
buttons[currentIndex].ConfirmAction.Invoke();
|
||||
}
|
||||
}
|
||||
2
Assets/02_Scripts/UI/Menu/MenuLogic.cs.meta
Normal file
2
Assets/02_Scripts/UI/Menu/MenuLogic.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a9d2da91d67ef747a7767f987c7c105
|
||||
Reference in New Issue
Block a user