コード例 #1
0
        public void LoadAndInitializeLevel()
        {
            XElement levelData = LoadLevelData();

            if (Data.Profile.PlayingRaceMode)
            {
                RaceLapCount = GetLapsForRace(levelData);
            }
            else
            {
                XElement rankFractionElement = levelData.Element(Rank_Fraction_Data_Element);
                RankACandyFraction = GetCandyFractionForRanking(rankFractionElement, "a", Rank_A_Candy_Fraction);
                RankBCandyFraction = GetCandyFractionForRanking(rankFractionElement, "b", Rank_B_Candy_Fraction);
            }

            WireUpCallElementFactoryCallbacks();

            Map = BlockFactory.CreateLevelBlockMap(levelData.Element(Terrain_Data_Element).Element(BlockFactory.Data_Group_Node_Name));

            CollectableFactory.LoadCollectables(levelData.Element(Terrain_Data_Element).Element(CollectableFactory.Data_Group_Node_Name));
            SignpostFactory.LoadSignposts(levelData.Element(Terrain_Data_Element).Element(SignpostFactory.Data_Group_Node_Name));
            FlagFactory.LoadFlags(levelData.Element(Terrain_Data_Element).Element(FlagFactory.Data_Group_Node_Name));

            Player = CharacterFactory.LoadPlayer(levelData.Element(CharacterFactory.Player_Data_Node_Name));

            FinalizeLevelSetup(levelData);
        }
コード例 #2
0
ファイル: Data.cs プロジェクト: Ben-P-Leda/Bopscotch-Editor
        public bool Load()
        {
            if ((RegisterComponent != null) && (UnregisterComponent != null))
            {
                FlushCurrentComponents();

                try
                {
                    XDocument loadData = XDocument.Load("BopscotchLevel.xml");
                    AttemptToLoadPlayerData(loadData.Element("leveldata"));
                    AttemptToLoadRaceData(loadData.Element("leveldata"));

                    BackgroundTexture = loadData.Element("leveldata").Element("background").Attribute("texture").Value;

                    BlockFactory.LoadBlocks(loadData.Element("leveldata").Element("terrain").Element(BlockFactory.Data_Group_Node_Name), RegisterComponent);
                    CollectableFactory.LoadCollectables(loadData.Element("leveldata").Element("terrain").Element(CollectableFactory.Data_Group_Node_Name), RegisterComponent);
                    SignpostFactory.LoadSignposts(loadData.Element("leveldata").Element("terrain").Element(SignpostFactory.Data_Group_Node_Name), RegisterComponent);
                    FlagFactory.LoadFlags(loadData.Element("leveldata").Element("terrain").Element(FlagFactory.Data_Group_Node_Name), RegisterComponent);

                    return(true);
                }
                catch (Exception)
                {
                }
            }

            return(false);
        }
コード例 #3
0
        public void LoadAndInitializeLevel()
        {
            XElement levelData = LoadLevelData();

            RaceLapCount = (Data.Profile.PlayingRaceMode ? GetLapsForRace(levelData) : 0);

            WireUpCallElementFactoryCallbacks();

            Map = BlockFactory.LoadBlocks(levelData.Element(Terrain_Data_Element).Element(BlockFactory.Data_Group_Node_Name));
            Map.ViewportDimensionsInTiles = new Point(
                (BackgroundDimensions.X / Definitions.Grid_Cell_Pixel_Size) + 1, BackgroundDimensions.Y / Definitions.Grid_Cell_Pixel_Size);

            CollectableFactory.LoadCollectables(levelData.Element(Terrain_Data_Element).Element(CollectableFactory.Data_Group_Node_Name));
            SignpostFactory.LoadSignposts(levelData.Element(Terrain_Data_Element).Element(SignpostFactory.Data_Group_Node_Name));
            FlagFactory.LoadFlags(levelData.Element(Terrain_Data_Element).Element(FlagFactory.Data_Group_Node_Name));

            Player     = CharacterFactory.LoadPlayer(levelData.Element(CharacterFactory.Player_Data_Node_Name));
            Player.Map = Map;

            CreateBackground(levelData.Element(Background_Data_Element));

            _registerGameObject(Map);
        }