public LevelInfo(LevelTags levelTags, string path, LevelTags actionTags, List <EntityInfo> entities, List <StructureInfo> structures, List <OffsetMapInfo> offsetMaps, ShaderInfo shader, BackdropInfo backdrop)
        {
            Name                 = levelTags.GetTag <string>("Name");
            MusicLoop            = levelTags.GetTag <string>("MusicLoop");
            WildPokemonFloor     = levelTags.TagExists("WildPokemon") && levelTags.GetTag <bool>("WildPokemon");
            ShowOverworldPokemon = !levelTags.TagExists("OverworldPokemon") || levelTags.GetTag <bool>("OverworldPokemon");
            CurrentRegion        = levelTags.TagExists("CurrentRegion") ? levelTags.GetTag <string>("CurrentRegion") : "Johto";
            HiddenAbilityChance  = levelTags.TagExists("HiddenAbility") ? levelTags.GetTag <int>("HiddenAbility") : 0;


            CanTeleport     = actionTags.TagExists("CanTeleport") && actionTags.GetTag <bool>("CanTeleport");
            CanDig          = actionTags.TagExists("CanDig") && actionTags.GetTag <bool>("CanDig");
            CanFly          = actionTags.TagExists("CanFly") && actionTags.GetTag <bool>("CanFly");
            RideType        = actionTags.TagExists("RideType") ? actionTags.GetTag <int>("RideType") : 0;
            EnvironmentType = actionTags.TagExists("EnviromentType") ? actionTags.GetTag <int>("EnviromentType") : 0;
            WeatherType     = actionTags.TagExists("Weather") ? actionTags.GetTag <int>("Weather") : 0;

            //It's not my fault I swear. The keyboard was slippy, I was partly sick and there was fog on the road and I couldnt see.
            var lightningExists = actionTags.TagExists("Lightning");
            var lightingExists  = actionTags.TagExists("Lighting");

            if (lightningExists && lightingExists)
            {
                LightingType = actionTags.GetTag <int>("Lighting");
            }
            else if (lightingExists)
            {
                LightingType = actionTags.GetTag <int>("Lighting");
            }
            else if (lightningExists)
            {
                LightingType = actionTags.GetTag <int>("Lightning");
            }
            else
            {
                LightingType = 1;
            }

            IsDark = actionTags.TagExists("IsDark") && actionTags.GetTag <bool>("IsDark");

            //if (actionTags.TagExists("Terrain"))
            //    Terrain.TerrainType = Terrain.FromString(actionTags.GetTag<string>("Terrain"));
            //else
            //    Terrain.TerrainType = TerrainTypeEnums.Plain;

            IsSafariZone = actionTags.TagExists("IsSafariZone") && actionTags.GetTag <bool>("IsSafariZone");

            if (actionTags.TagExists("BugCatchingContest"))
            {
                IsBugCatchingContest   = true;
                BugCatchingContestData = actionTags.GetTag <string>("BugCatchingContest");
            }
            else
            {
                IsBugCatchingContest   = false;
                BugCatchingContestData = "";
            }

            MapScript = actionTags.TagExists("MapScript") ? actionTags.GetTag <string>("MapScript") : "";

            // TODO
            //if (actionTags.TagExists("RadioChannels"))
            //    foreach (var c in actionTags.GetTag<string>("RadioChannels").Split(Convert.ToChar(",")))
            //        AllowedRadioChannels.Add(Convert.ToDecimal(c.Replace(".", GameController.DecSeparator)));
            //else
            //    AllowedRadioChannels.Clear();

            BattleMapData        = actionTags.TagExists("BattleMap") ? actionTags.GetTag <string>("BattleMap") : "";
            SurfingBattleMapData = actionTags.TagExists("SurfingBattleMap") ? actionTags.GetTag <string>("SurfingBattleMap") : "";

            Entities   = entities;
            Structures = structures;
            OffsetMaps = offsetMaps;
            Shader     = shader;
            Backdrop   = backdrop;

            Path = path;
        }
Beispiel #2
0
 public LevelTags(LevelTags levelTags) : base(levelTags)
 {
 }