public PaletteOffsetCollections() { ExtraPalettes = new ExtraPalettes(); var objectBuilder = new PaletteIndexCollectionBuilder(0xDE6C8, 7); var spriteBuilder = new PaletteIndexCollectionBuilder(0xDD446, 7); LightWorld = new LightWorld( objectBuilder, spriteBuilder, new PaletteIndexCollectionBuilder(0xDD218, 15)); DarkWorld = new DarkWorld( objectBuilder, spriteBuilder, new PaletteIndexCollectionBuilder(0xDD290, 15)); TriforceRoom = new TriforceRoom(objectBuilder); LightWorldMap = new OverworldMap( new PaletteIndexCollectionBuilder(0x55B39, 16)); DarkWorldMap = new OverworldMap( new PaletteIndexCollectionBuilder(0x55C39, 16)); LightWorldAndMap = new LightWorldAndMap(LightWorld, LightWorldMap); DarkWorldAndMap = new DarkWorldAndMap(DarkWorld, DarkWorldMap); }
public DarkWorldAndMap(DarkWorld darkWorld, OverworldMap darkWorldMap) { if (darkWorld is null) { throw new ArgumentNullException(nameof(darkWorld)); } if (darkWorldMap is null) { throw new ArgumentNullException(nameof(darkWorldMap)); } GrassShrubsAndTrees = AddCollectionsAsConcatenation( darkWorld.GrassShrubsAndTrees, darkWorldMap.Grass, darkWorldMap.Sanctuary); FlowersAndRocks = AddCollectionsAsConcatenation( darkWorld.FlowersAndRocks, darkWorldMap.Flowers); TreeWood = AddCollectionsAsConcatenation( darkWorld.TreeWood, darkWorldMap.TreeWood); Water = AddCollectionsAsConcatenation( darkWorld.Water, darkWorldMap.Water); HillsAndDirt = AddCollectionsAsConcatenation( darkWorld.HillsAndDirt, darkWorldMap.HillsAndDirt); Clouds = AddCollectionsAsConcatenation( darkWorld.DarkMountain.BlackClouds, darkWorldMap.Clouds); HyruleCastleWalls = AddCollectionsAsConcatenation( darkWorld.Pyramid, darkWorldMap.HyruleCastle); Houses = AddCollectionsAsConcatenation( darkWorld.Houses, darkWorldMap.Houses); DeathMountain = AddCollectionsAsConcatenation( darkWorld.DarkMountain.WallsAndAbyss, darkWorldMap.DeathMountain); GanonsTower = AddCollectionsAsConcatenation( darkWorld.DarkMountain.GanonsTowerPrimary, darkWorldMap.TowerOfHera); IcePalace = AddCollectionsAsConcatenation( darkWorld.IcePalaceEntrance, darkWorldMap.IcePalace); AllIndexCollections = new ReadOnlyCollection <IndexCollection>( new IndexCollection[] { GrassShrubsAndTrees, FlowersAndRocks, TreeWood, Water, HillsAndDirt, Clouds, HyruleCastleWalls, Houses, DeathMountain, GanonsTower, IcePalace, }); }