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, }); }
public LightWorldAndMap(LightWorld lightWorld, OverworldMap lightWorldMap) { if (lightWorld is null) { throw new ArgumentNullException(nameof(lightWorld)); } if (lightWorldMap is null) { throw new ArgumentNullException(nameof(lightWorldMap)); } GrassShrubsAndTrees = AddCollectionsAsConcatenation( lightWorld.GrassShrubsAndTrees, lightWorldMap.Grass); FlowersAndRocks = AddCollectionsAsConcatenation( lightWorld.FlowersAndRocks, lightWorldMap.Flowers); Water = AddCollectionsAsConcatenation( lightWorld.Water, lightWorldMap.Water); HillsAndDirt = AddCollectionsAsConcatenation( lightWorld.HillsAndDirt, lightWorldMap.HillsAndDirt, lightWorldMap.TreeWood); Clouds = AddCollectionsAsConcatenation( lightWorld.DeathMountain.Clouds, lightWorldMap.Clouds); HyruleCastleWalls = AddCollectionsAsConcatenation( lightWorld.HyruleCastle.Walls, lightWorldMap.HyruleCastle); Sanctuary = AddCollectionsAsConcatenation( lightWorld.Sanctuary.Wall, lightWorldMap.Sanctuary); Houses = AddCollectionsAsConcatenation( lightWorld.Houses, lightWorldMap.Houses); DeathMountain = AddCollectionsAsConcatenation( lightWorld.DeathMountain.WallsAndAbyss, lightWorldMap.DeathMountain); TowerOfHera = AddCollectionsAsConcatenation( lightWorld.DeathMountain.HeraBricks, lightWorldMap.TowerOfHera); AllIndexCollections = new ReadOnlyCollection <IndexCollection>( new IndexCollection[] { GrassShrubsAndTrees, FlowersAndRocks, Water, HillsAndDirt, Clouds, HyruleCastleWalls, Sanctuary, Houses, DeathMountain, TowerOfHera, }); }