示例#1
0
        public void CloseLoadedApp(Screen newScreen = Screen.MainMenu)
        {
            if (loadedApp == null)
            {
                return;
            }

            if (loadedApp is CodeInput ci)
            {
                string digimon = ci.ReturnedDigimon;
                if (digimon != null)
                {
                    gm.logicMgr.SetDigimonUnlocked(digimon, true);
                    gm.logicMgr.SetDigicodeUnlocked(digimon, true);

                    gm.EnqueueAnimation(Animations.SummonDigimon(digimon));
                    gm.EnqueueAnimation(Animations.UnlockDigimon(digimon));
                    gm.EnqueueAnimation(Animations.CharHappy());
                }
            }

            if (IsEventPending)
            {
                currentScreen = Screen.Character;
            }
            else
            {
                currentScreen = newScreen;
            }

            loadedApp.Dispose();
            loadedApp = null;
            gm.CheckPendingEvents();
        }
示例#2
0
        public void CallBossBattle()
        {
            currentScreen = Screen.App;
            string boss = gm.WorldMgr.GetBossOfCurrentArea();

            loadedApp = gm.appLoader.LoadApp <Battle>(App.Battle, this).Initialize(boss, true, true);
            loadedApp.StartApp();
        }
示例#3
0
        public void CallRandomBattle(bool reduceDistance)
        {
            currentScreen = Screen.App;
            Digimon randomDigimon = Database.GetRandomDigimonForBattle(GetPlayerLevel());

            loadedApp = gm.appLoader.LoadApp <Battle>(App.Battle, this).Initialize(randomDigimon.name, reduceDistance);
            loadedApp.StartApp();
        }
示例#4
0
 private void OpenMaze()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <Maze>(App.Maze, this);
     loadedApp.StartApp();
 }
示例#5
0
 private void OpenDigiHunter()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <DigiHunter>(App.DigiHunter, this);
     loadedApp.StartApp();
 }
示例#6
0
 private void OpenSpeedRunner()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <SpeedRunner>(App.SpeedRunner, this);
     loadedApp.StartApp();
 }
示例#7
0
 private void OpenJackpotBox()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <JackpotBox>(App.JackpotBox, this);
     loadedApp.StartApp();
 }
示例#8
0
 private void OpenFinder()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <Finder>(App.Finder, this);
     loadedApp.StartApp();
 }
示例#9
0
 private void OpenCamp()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <Camp>(App.Camp, this);
     loadedApp.StartApp();
 }
示例#10
0
 private void OpenDigits()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <CodeInput>(App.CodeInput, this).Initialize(false);
     loadedApp.StartApp();
 }
示例#11
0
 private void OpenDatabase()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <DatabaseApp>(App.Database, this);
     loadedApp.StartApp();
 }
示例#12
0
 private void OpenStatus()
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <Status>(App.Status, this);
     loadedApp.StartApp();
 }
示例#13
0
 public void CallFixedBattle(string digimon, bool alterDistance, bool isBossBattle)
 {
     currentScreen = Screen.App;
     loadedApp     = gm.appLoader.LoadApp <Battle>(App.Battle, this).Initialize(digimon, alterDistance, isBossBattle);
     loadedApp.StartApp();
 }