Esempio n. 1
0
        public LevelPathDefinition getLevelPathDefinition(string worldMapUid, int id)
        {
            WorldMapDefinition worldMapDefinition = getWorldMapDefinition(worldMapUid);

            foreach (LevelPathDefinition levelPathDefinition in worldMapDefinition.levelPathDefinitions)
            {
                if (levelPathDefinition.id == id)
                {
                    return(levelPathDefinition);
                }
            }
            return(null);
        }
Esempio n. 2
0
        public LevelIconDefinition getLevelIconDefinition(string worldMapUid, string levelIconUid)
        {
            WorldMapDefinition worldMapDefinition = getWorldMapDefinition(worldMapUid);

            foreach (LevelIconDefinition levelIconDefinition in worldMapDefinition.levelIconDefinitions)
            {
                if (levelIconDefinition.uid == levelIconUid)
                {
                    return(levelIconDefinition);
                }
            }
            return(null);
        }
Esempio n. 3
0
        // Create world map manager
        private static WorldMapManager createWorldMapManager()
        {
            List <WorldMapDefinition> definitions     = new List <WorldMapDefinition>();
            List <XElement>           allWorldMapData = ResourceManager.worldMapResources;

            foreach (XElement worldMapData in allWorldMapData)
            {
                WorldMapDefinition worldMapDefinition = new WorldMapDefinition(worldMapData.Attribute("uid").Value, worldMapData.Attribute("texture_uid").Value, Loader.loadVector2("position", Vector2.Zero));

                foreach (XElement levelIconData in worldMapData.Elements("LevelIcon"))
                {
                    worldMapDefinition.levelIconDefinitions.Add(
                        new LevelIconDefinition(
                            worldMapDefinition,
                            levelIconData.Attribute("uid").Value,
                            levelIconData.Attribute("level_uid").Value,
                            levelIconData.Attribute("finished_texture_uid").Value,
                            levelIconData.Attribute("unfinished_texture_uid").Value,
                            levelIconData.Attribute("title").Value,
                            levelIconData.Attribute("description").Value,
                            Loader.loadVector2(levelIconData.Attribute("position"), Vector2.Zero)));
                }

                foreach (XElement levelPathData in worldMapData.Elements("LevelPath"))
                {
                    LevelPathDefinition levelPathDefinition = new LevelPathDefinition(
                        worldMapDefinition,
                        int.Parse(levelPathData.Attribute("id").Value),
                        levelPathData.Attribute("level_icon_a_uid").Value,
                        levelPathData.Attribute("level_icon_b_uid").Value);

                    foreach (XElement pathKeyData in levelPathData.Elements("PathKey"))
                    {
                        levelPathDefinition.pathKeys.Add(
                            new LevelPathKey(
                                levelPathDefinition,
                                Loader.loadVector2(pathKeyData.Attribute("p0"), Vector2.Zero),
                                Loader.loadVector2(pathKeyData.Attribute("p1"), Vector2.Zero),
                                Loader.loadVector2(pathKeyData.Attribute("p2"), Vector2.Zero),
                                Loader.loadVector2(pathKeyData.Attribute("p3"), Vector2.Zero)));
                    }

                    worldMapDefinition.levelPathDefinitions.Add(levelPathDefinition);
                }

                definitions.Add(worldMapDefinition);
            }

            return(new WorldMapManager(definitions));
        }