Exemplo n.º 1
0
        public static void StartScenario(Scenario scenario, bool save)
        {
            var players = scenario.Players.Split(',').RemoveNullOrEmpty().Select(id => int.Parse(id)).NullToEmptyList();

            Session.MainGame.loadingScreen = new LoadingScreen();
            Session.MainGame.loadingScreen.LoadScreenEvent += (sender0, e0) =>
            {
                var mainGameScreen = new MainGameScreen();
                mainGameScreen.InitializationFileName = scenario.Name;

                if (save)
                {
                    mainGameScreen.LoadScenarioInInitialization = false;
                    //CurrentScenario. scenario.ScenarioPath;Session.MainGame.mainGameScreen.InitializationFactionIDs = players;  // scenario.SelectedFactionIDs;
                }
                else
                {
                    mainGameScreen.LoadScenarioInInitialization = true;
                    mainGameScreen.InitializationFactionIDs     = players;
                    //scenario.SelectedFactionIDs;@"GameData/Scenario/" + CurrentScenario.Name + ".mdb";  // CurrentScenario. scenario.ScenarioPath;
                }

                mainGameScreen.Initialize();
                Session.MainGame.mainGameScreen = mainGameScreen;
            };
        }
Exemplo n.º 2
0
        public static void StartScenario(Scenario scenario, bool save)
        {
            //再加载commondata防止切换mod红字
            if (!save)
            {
                CommonData.Current = Tools.SimpleSerializer.DeserializeJsonFile <CommonData>(@"Content\Data\Common\CommonData.json", false, false);
                GameScenario.ProcessCommonData(CommonData.Current);
            }

            var players = scenario.Players.Split(',').RemoveNullOrEmpty().Select(id => int.Parse(id)).NullToEmptyList();

            Session.MainGame.loadingScreen = new LoadingScreen(save  ? "" : "Start", scenario.Name);

            Session.MainGame.loadingScreen.LoadScreenEvent += (sender0, e0) =>
            {
                var mainGameScreen = new MainGameScreen();
                mainGameScreen.InitializationFileName = scenario.Name;

                if (save)
                {
                    mainGameScreen.LoadScenarioInInitialization = false;
                    //CurrentScenario. scenario.ScenarioPath;Session.MainGame.mainGameScreen.InitializationFactionIDs = players;  // scenario.SelectedFactionIDs;
                }
                else
                {
                    mainGameScreen.LoadScenarioInInitialization = true;
                    mainGameScreen.InitializationFactionIDs     = players;
                    //scenario.SelectedFactionIDs;@"GameData/Scenario/" + CurrentScenario.Name + ".mdb";  // CurrentScenario. scenario.ScenarioPath;
                }

                mainGameScreen.Initialize();
                Session.MainGame.mainGameScreen = mainGameScreen;

                mainGameScreen.cloudLayer.Start();

                Session.Current.Scenario.AfterInit();
            };
        }