Extract default TileSet/Sequence dictionaries to ModData.
This commit is contained in:
@@ -19,7 +19,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public class LayerSelectorLogic : ChromeLogic
|
||||
{
|
||||
readonly EditorViewportControllerWidget editor;
|
||||
readonly World world;
|
||||
readonly WorldRenderer worldRenderer;
|
||||
|
||||
readonly ScrollPanelWidget layerTemplateList;
|
||||
@@ -29,8 +28,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public LayerSelectorLogic(Widget widget, WorldRenderer worldRenderer)
|
||||
{
|
||||
this.worldRenderer = worldRenderer;
|
||||
world = worldRenderer.World;
|
||||
|
||||
editor = widget.Parent.Get<EditorViewportControllerWidget>("MAP_EDITOR");
|
||||
|
||||
layerTemplateList = widget.Get<ScrollPanelWidget>("LAYERTEMPLATE_LIST");
|
||||
@@ -60,7 +57,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
layerPreview.GetPalette = () => resource.Palette;
|
||||
|
||||
var variant = resource.Variants.FirstOrDefault();
|
||||
var sequenceProvider = rules.Sequences[world.TileSet.Id];
|
||||
var sequenceProvider = rules.Sequences;
|
||||
var sequence = sequenceProvider.GetSequence("resources", variant);
|
||||
var frame = sequence.Frames != null ? sequence.Frames.Last() : resource.MaxDensity - 1;
|
||||
layerPreview.GetSprite = () => sequence.GetSprite(frame);
|
||||
|
||||
@@ -20,14 +20,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
Widget panel;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public NewMapLogic(Action onExit, Action<string> onSelect, Widget widget, World world)
|
||||
public NewMapLogic(Action onExit, Action<string> onSelect, Widget widget, World world, ModData modData)
|
||||
{
|
||||
panel = widget;
|
||||
|
||||
panel.Get<ButtonWidget>("CANCEL_BUTTON").OnClick = () => { Ui.CloseWindow(); onExit(); };
|
||||
|
||||
var tilesetDropDown = panel.Get<DropDownButtonWidget>("TILESET");
|
||||
var tilesets = world.Map.Rules.TileSets.Select(t => t.Key).ToList();
|
||||
var tilesets = modData.DefaultTileSets.Select(t => t.Key).ToList();
|
||||
Func<string, ScrollItemWidget, ScrollItemWidget> 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 = world.Map.Rules.TileSets[tilesetDropDown.Text];
|
||||
var tileset = modData.DefaultTileSets[tilesetDropDown.Text];
|
||||
var map = new Map(Game.ModData, tileset, width + 2, height + maxTerrainHeight + 2);
|
||||
|
||||
var tl = new PPos(1, 1);
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public TileSelectorLogic(Widget widget, WorldRenderer worldRenderer)
|
||||
{
|
||||
var rules = worldRenderer.World.Map.Rules;
|
||||
var tileset = rules.TileSets[worldRenderer.World.Map.Tileset];
|
||||
var tileset = rules.TileSet;
|
||||
|
||||
editor = widget.Parent.Get<EditorViewportControllerWidget>("MAP_EDITOR");
|
||||
panel = widget.Get<ScrollPanelWidget>("TILETEMPLATE_LIST");
|
||||
|
||||
Reference in New Issue
Block a user