Ejemplo n.º 1
0
    public static void TriggerEvent(MenuEventType eventType)
    {
        UnityEvent thisEvent = null;

        if (instance.eventDictionary.TryGetValue(eventType, out thisEvent))
        {
            thisEvent.Invoke();
        }
    }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
 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);
         }
     }
 }
Ejemplo n.º 5
0
        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;
            }
        }