diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/LayerSelectorLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/LayerSelectorLogic.cs index e419aa5cd4..63c697dde6 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/LayerSelectorLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/LayerSelectorLogic.cs @@ -19,7 +19,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic public class LayerSelectorLogic : ChromeLogic { readonly EditorViewportControllerWidget editor; - readonly Ruleset modRules; readonly World world; readonly WorldRenderer worldRenderer; @@ -27,9 +26,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic readonly ScrollItemWidget layerPreviewTemplate; [ObjectCreator.UseCtor] - public LayerSelectorLogic(Widget widget, WorldRenderer worldRenderer, Ruleset modRules) + public LayerSelectorLogic(Widget widget, WorldRenderer worldRenderer) { - this.modRules = modRules; this.worldRenderer = worldRenderer; world = worldRenderer.World; @@ -45,8 +43,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic void IntializeLayerPreview(Widget widget) { layerTemplateList.RemoveChildren(); - - var resources = modRules.Actors["world"].TraitInfos(); + var rules = worldRenderer.World.Map.Rules; + var resources = rules.Actors["world"].TraitInfos(); + var tileSize = worldRenderer.World.Map.Grid.TileSize; foreach (var resource in resources) { var newResourcePreviewTemplate = ScrollItemWidget.Setup(layerPreviewTemplate, @@ -61,12 +60,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic layerPreview.GetPalette = () => resource.Palette; var variant = resource.Variants.FirstOrDefault(); - var sequenceProvider = modRules.Sequences[world.TileSet.Id]; + var sequenceProvider = rules.Sequences[world.TileSet.Id]; var sequence = sequenceProvider.GetSequence("resources", variant); var frame = sequence.Frames != null ? sequence.Frames.Last() : resource.MaxDensity - 1; layerPreview.GetSprite = () => sequence.GetSprite(frame); - var tileSize = Game.ModData.Manifest.Get().TileSize; layerPreview.Bounds.Width = tileSize.Width; layerPreview.Bounds.Height = tileSize.Height; newResourcePreviewTemplate.Bounds.Width = tileSize.Width + (layerPreview.Bounds.X * 2); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs index 8a455ba667..53b4241590 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs @@ -20,14 +20,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic Widget panel; [ObjectCreator.UseCtor] - public NewMapLogic(Action onExit, Action onSelect, Ruleset modRules, Widget widget, World world) + public NewMapLogic(Action onExit, Action onSelect, Widget widget, World world) { panel = widget; panel.Get("CANCEL_BUTTON").OnClick = () => { Ui.CloseWindow(); onExit(); }; var tilesetDropDown = panel.Get("TILESET"); - var tilesets = modRules.TileSets.Select(t => t.Key).ToList(); + var tilesets = world.Map.Rules.TileSets.Select(t => t.Key).ToList(); Func setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, @@ -55,7 +55,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic height = Math.Max(2, height); var maxTerrainHeight = world.Map.Grid.MaximumTerrainHeight; - var tileset = modRules.TileSets[tilesetDropDown.Text]; + var tileset = world.Map.Rules.TileSets[tilesetDropDown.Text]; var map = new Map(Game.ModData, tileset, width + 2, height + maxTerrainHeight + 2); var tl = new PPos(1, 1); @@ -63,7 +63,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic map.SetBounds(tl, br); map.PlayerDefinitions = new MapPlayers(map.Rules, map.SpawnPoints.Value.Length).ToMiniYaml(); - map.FixOpenAreas(modRules); + map.FixOpenAreas(world.Map.Rules); Action afterSave = uid => { diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/TileSelectorLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/TileSelectorLogic.cs index 135c2b9201..257e61aa8f 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/TileSelectorLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/TileSelectorLogic.cs @@ -23,9 +23,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic readonly ScrollItemWidget itemTemplate; [ObjectCreator.UseCtor] - public TileSelectorLogic(Widget widget, WorldRenderer worldRenderer, Ruleset modRules) + public TileSelectorLogic(Widget widget, WorldRenderer worldRenderer) { - var tileset = modRules.TileSets[worldRenderer.World.Map.Tileset]; + var rules = worldRenderer.World.Map.Rules; + var tileset = rules.TileSets[worldRenderer.World.Map.Tileset]; editor = widget.Parent.Get("MAP_EDITOR"); panel = widget.Get("TILETEMPLATE_LIST");