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); }
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); }
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); }