Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PlayerInGameMenu : MonoBehaviour
- {
- public EventSystem eventSystem;
- public bool IsUsingDebugging = true;
- Selectable SelectedButton;
- public Selectable Status;
- public Selectable Settings;
- public Selectable Save;
- public Selectable Quit;
- public bool Paused;
- List<Selectable> buttons;
- int selecteButtonIndex = 0;
- public Canvas Menu;
- void Start()
- {
- Menu.enabled = false;
- buttons = new List<Selectable>();
- buttons.Add(Status);
- buttons.Add(Settings);
- buttons.Add(Save);
- buttons.Add(Quit);
- SelectedButton = buttons[0];
- }
- void Update()
- {
- CheckInput();
- if (Paused && !Menu.enabled)
- {
- ShowMenu();
- }
- else if (!Paused && Menu.enabled)
- {
- HideMenu();
- }
- }
- void ShowMenu()
- {
- Paused = true;
- Menu.enabled = true;
- Time.timeScale = 0.0f;
- }
- void HideMenu()
- {
- if (Menu.enabled)
- {
- Paused = false;
- Menu.enabled = false;
- Time.timeScale = 1.0f;
- }
- }
- void CheckInput()
- {
- if (cInput.GetKeyDown("Pause"))
- {
- Paused = !Paused;
- SelectedButton = buttons[selecteButtonIndex];
- eventSystem.SetSelectedGameObject(SelectedButton.gameObject, new BaseEventData(eventSystem));
- }
- if (Paused)
- {
- float v = cInput.GetAxis("Vertical");
- if (v >= 0.5)
- {
- StartCoroutine(CoroutineUtil.DeferredExecutorByEndOfFrame(() =>
- {
- GoDown();
- }));
- }
- else if (v <= -0.5)
- {
- StartCoroutine(CoroutineUtil.DeferredExecutorByEndOfFrame(() =>
- {
- GoUp();
- }));
- }
- }
- }
- void GoDown()
- {
- if (selecteButtonIndex > buttons.Count - 1)
- {
- selecteButtonIndex = buttons.Count - 1;
- }
- else
- {
- selecteButtonIndex = selecteButtonIndex + 1;
- }
- }
- void GoUp()
- {
- if (selecteButtonIndex < 0)
- {
- selecteButtonIndex = 0;
- }
- else
- {
- selecteButtonIndex = selecteButtonIndex - 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment