public static void TriggerEvent(MenuEventType eventType) { UnityEvent thisEvent = null; if (instance.eventDictionary.TryGetValue(eventType, out thisEvent)) { thisEvent.Invoke(); } }
public static void StopListening(MenuEventType eventType, UnityAction listener) { if (eventSystem == null) { return; } UnityEvent thisEvent = null; if (instance.eventDictionary.TryGetValue(eventType, out thisEvent)) { thisEvent.RemoveListener(listener); } }
public static void StartListening(MenuEventType eventType, UnityAction listener) { UnityEvent thisEvent = null; if (instance.eventDictionary.TryGetValue(eventType, out thisEvent)) { thisEvent.AddListener(listener); } else { thisEvent = new UnityEvent(); thisEvent.AddListener(listener); instance.eventDictionary.Add(eventType, thisEvent); } }
private void MenuEventHandler(Screen s,MenuEventType et) { if (s is MenuScreen) { if (et == MenuEventType.Exit) Exit(); else if (et == MenuEventType.Continue) { nextScreen = gameScreen; toBeRemoved.Add(s); } else if (et == MenuEventType.MainMenu) { nextScreen = titleScreen; toBeRemoved.Add(s); } else if (et == MenuEventType.Start) { gameScreen = new WindowsGame1.Game1(); gameScreen.Initialize(Services); gameScreen.LoadContent(); gameScreen.Event += new Game1.EventHandler(MenuEventHandler); nextScreen = gameScreen; toBeRemoved.Add(s); } Console.Out.WriteLine("Title!" + et); } else if (s == gameScreen) { if(et == MenuEventType.Load){ loadingScreen = new LoadingScreen(); loadingScreen.Initialize(Services); loadingScreen.LoadContent(); nextScreen = loadingScreen; toBeRemoved.Add(s); } if (et == MenuEventType.Pause) { pauseScreen = new PauseScreen(); pauseScreen.Initialize(Services); pauseScreen.LoadContent(); pauseScreen.Event += new PauseScreen.EventHandler(MenuEventHandler); nextScreen = pauseScreen; toBeRemoved.Add(s); } else if (et == MenuEventType.Exit) { gameScreen = null; nextScreen = titleScreen; toBeRemoved.Add(s); } } }
public void OnMenuEventRecieved(MenuType menuType, MenuEventType eventType) { switch (eventType) { //Start Menu case MenuEventType.SinglePlayerMenu: OpenMenu(MenuType.SinglePlayerMenu); break; case MenuEventType.ScoreMenu: OpenMenu(MenuType.ScoreMenu); break; //Single Player Menu case MenuEventType.NewGame: if (isGamePlaying) DestroyGame(); OpenMenu(MenuType.LevelMenu); break; case MenuEventType.SaveGame: if (isGamePlaying) SaveGame(); break; case MenuEventType.LoadGame: var savedGame = LoadGame(); if (savedGame != null) { if (isGamePlaying) DestroyGame(); OpenMenu(MenuType.PlayMenu); StartGame_Loading(savedGame); } break; case MenuEventType.ResumeGame: if (isGamePlaying) { PauseGame(); OpenMenu(MenuType.PlayMenu); } break; //Game Level Menu case MenuEventType.EasyLevel: OpenMenu(MenuType.PlayMenu); StartGame_New(GameLevel.Easy); break; case MenuEventType.MediumLevel: OpenMenu(MenuType.PlayMenu); StartGame_New(GameLevel.Medium); break; case MenuEventType.HardLevel: OpenMenu(MenuType.PlayMenu); StartGame_New(GameLevel.Hard); break; //Quit&ESC case MenuEventType.Quit: case MenuEventType.ESC_Pressed: switch (menuType) { case MenuType.StartMenu: Application.Quit(); break; case MenuType.PlayMenu: PauseGame(); OpenMenu(MenuType.SinglePlayerMenu); break; case MenuType.LevelMenu: OpenMenu(MenuType.SinglePlayerMenu); break; case MenuType.SinglePlayerMenu: if (isGamePlaying) DestroyGame(); OpenMenu(MenuType.StartMenu); break; case MenuType.ScoreMenu: OpenMenu(MenuType.StartMenu); break; } break; } }