internal WorldRenderer(ModData modData, World world) { World = world; TileSize = World.Map.Grid.TileSize; TileScale = World.Map.Grid.Type == MapGridType.RectangularIsometric ? 1448 : 1024; Viewport = new Viewport(this, world.Map); createPaletteReference = CreatePaletteReference; var mapGrid = modData.Manifest.Get <MapGrid>(); enableDepthBuffer = mapGrid.EnableDepthBuffer; foreach (var pal in world.TraitDict.ActorsWithTrait <ILoadsPalettes>()) { pal.Trait.LoadPalettes(this); } foreach (var p in world.Players) { UpdatePalettesForPlayer(p.InternalName, p.Color, false); } palette.Initialize(); Theater = new Theater(world.Map.Rules.TileSet); terrainRenderer = world.WorldActor.TraitOrDefault <IRenderTerrain>(); debugVis = Exts.Lazy(() => world.WorldActor.TraitOrDefault <DebugVisualizations>()); }