Example #1
0
        internal static void ApplyLocation(Location location)
        {
            AdvancedLocationLoaderMod.Logger.Log(location.ToString(), LogLevel.Trace);
            try
            {
                GameLocation loc;
                ContentRegistry.RegisterXnb(location.FileName, location.FileName);
                xTile.Map map = Game1.content.Load <xTile.Map>(location.FileName);
                switch (location.Type)
                {
                case "Cellar":
                    loc         = new StardewValley.Locations.Cellar(map, location.MapName);
                    loc.objects = new SerializableDictionary <Microsoft.Xna.Framework.Vector2, StardewValley.Object>();
                    break;

                case "BathHousePool":
                    loc = new StardewValley.Locations.BathHousePool(map, location.MapName);
                    break;

                case "Decoratable":
                    loc = new Locations.DecoratableLocation(map, location.MapName);
                    break;

                case "Desert":
                    loc = new Locations.Desert(map, location.MapName);
                    break;

                case "Greenhouse":
                    loc = new Locations.Greenhouse(map, location.MapName);
                    break;

                case "Sewer":
                    loc = new Locations.Sewer(map, location.MapName);
                    break;

                default:
                    loc = new GameLocation(map, location.MapName);
                    break;
                }
                loc.isOutdoors = location.Outdoor;
                loc.isFarm     = location.Farmable;
                Game1.locations.Add(loc);
            }
            catch (Exception err)
            {
                AdvancedLocationLoaderMod.Logger.ExitGameImmediately("Unable to add custom location, a unexpected error occured: " + location.ToString(), err);
            }
        }
Example #2
0
        internal static void ApplyLocation(IContentPack contentPack, Location location)
        {
            try
            {
                GameLocation loc;
                xTile.Map    map = contentPack.LoadAsset <xTile.Map>(location.FileName);
                switch (location.Type)
                {
                case "Cellar":
                    loc = new StardewValley.Locations.Cellar(map, location.MapName)
                    {
                        objects = new SerializableDictionary <Microsoft.Xna.Framework.Vector2, StardewValley.Object>()
                    };
                    break;

                case "BathHousePool":
                    loc = new StardewValley.Locations.BathHousePool(map, location.MapName);
                    break;

                case "Decoratable":
                    loc = new Locations.DecoratableLocation(map, location.MapName);
                    break;

                case "Desert":
                    loc = new Locations.Desert(map, location.MapName);
                    break;

                case "Greenhouse":
                    loc = new Locations.Greenhouse(map, location.MapName);
                    break;

                case "Sewer":
                    loc = new Locations.Sewer(map, location.MapName);
                    break;

                default:
                    loc = new GameLocation(map, location.MapName);
                    break;
                }
                loc.isOutdoors = location.Outdoor;
                loc.isFarm     = location.Farmable;
                Game1.locations.Add(loc);
            }
            catch (Exception err)
            {
                ModEntry.Logger.ExitGameImmediately("Unable to add custom location, a unexpected error occured: " + location, err);
            }
        }