Merge pull request #10909 from pchote/remove-ruleset-cache
Remove ruleset cache
This commit is contained in:
@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
preview.IsVisible = () => editorWidget.CurrentBrush == this;
|
||||
|
||||
var variant = resource.Variants.FirstOrDefault();
|
||||
var sequenceProvider = wr.World.Map.Rules.Sequences[world.TileSet.Id];
|
||||
var sequenceProvider = wr.World.Map.Rules.Sequences;
|
||||
var sequence = sequenceProvider.GetSequence("resources", variant);
|
||||
var sprite = sequence.GetSprite(resource.MaxDensity - 1);
|
||||
preview.GetSprite = () => sprite;
|
||||
|
||||
@@ -100,8 +100,7 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
var mapTiles = map.MapTiles.Value;
|
||||
var mapHeight = map.MapHeight.Value;
|
||||
|
||||
var rules = map.Rules;
|
||||
var tileset = rules.TileSets[map.Tileset];
|
||||
var tileset = map.Rules.TileSet;
|
||||
var template = tileset.Templates[Template];
|
||||
var baseHeight = mapHeight.Contains(cell) ? mapHeight[cell] : (byte)0;
|
||||
|
||||
@@ -139,8 +138,7 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
var queue = new Queue<CPos>();
|
||||
var touched = new CellLayer<bool>(map);
|
||||
|
||||
var rules = map.Rules;
|
||||
var tileset = rules.TileSets[map.Tileset];
|
||||
var tileset = map.Rules.TileSet;
|
||||
var template = tileset.Templates[Template];
|
||||
|
||||
Action<CPos> maybeEnqueue = newCell =>
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
|
||||
var rules = map.Rules;
|
||||
var factions = rules.Actors["world"].TraitInfos<FactionInfo>().Select(f => f.InternalName).ToArray();
|
||||
var sequenceProviders = new[] { rules.Sequences[map.Tileset] };
|
||||
var sequenceProviders = new[] { rules.Sequences };
|
||||
|
||||
foreach (var actorInfo in rules.Actors)
|
||||
{
|
||||
|
||||
@@ -308,7 +308,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
|
||||
// Pick a random color for the bot
|
||||
var validator = server.ModData.Manifest.Get<ColorValidator>();
|
||||
var tileset = server.Map.Rules.TileSets[server.Map.Tileset];
|
||||
var tileset = server.Map.Rules.TileSet;
|
||||
var terrainColors = tileset.TerrainInfo.Where(ti => ti.RestrictPlayerColor).Select(ti => ti.Color);
|
||||
var playerColors = server.LobbyInfo.Clients.Select(c => c.Color.RGB)
|
||||
.Concat(server.MapPlayers.Players.Values.Select(p => p.Color.RGB));
|
||||
@@ -1064,7 +1064,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
server.SendOrderTo(connectionToEcho, "Message", message);
|
||||
};
|
||||
|
||||
var tileset = server.Map.Rules.TileSets[server.Map.Tileset];
|
||||
var tileset = server.Map.Rules.TileSet;
|
||||
var terrainColors = tileset.TerrainInfo.Where(ti => ti.RestrictPlayerColor).Select(ti => ti.Color).ToList();
|
||||
var playerColors = server.LobbyInfo.Clients.Where(c => c.Index != playerIndex).Select(c => c.Color.RGB)
|
||||
.Concat(server.MapPlayers.Players.Values.Select(p => p.Color.RGB)).ToList();
|
||||
|
||||
@@ -127,7 +127,6 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
{
|
||||
try
|
||||
{
|
||||
modData.RulesetCache.Load(map ?? modData.DefaultFileSystem, map);
|
||||
var customRulesPass = (ILintRulesPass)modData.ObjectCreator.CreateBasic(customRulesPassType);
|
||||
customRulesPass.Run(EmitError, EmitWarning, rules);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
{
|
||||
// HACK: The engine code assumes that Game.modData is set.
|
||||
Game.ModData = modData;
|
||||
modData.RulesetCache.Load(modData.DefaultFileSystem);
|
||||
|
||||
var types = Game.ModData.ObjectCreator.GetTypes();
|
||||
var translatableFields = types.SelectMany(t => t.GetFields())
|
||||
|
||||
@@ -60,7 +60,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
ValidateMapFormat(format);
|
||||
|
||||
var tileset = GetTileset(mapSection);
|
||||
Map = new Map(modData, modData.DefaultRules.TileSets[tileset], MapSize, MapSize)
|
||||
Map = new Map(modData, modData.DefaultTileSets[tileset], MapSize, MapSize)
|
||||
{
|
||||
Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)),
|
||||
Author = "Westwood Studios",
|
||||
|
||||
@@ -42,15 +42,13 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
var srcModData = new ModData(srcMod);
|
||||
Game.ModData = srcModData;
|
||||
|
||||
var srcRules = srcModData.RulesetCache.Load(srcModData.DefaultFileSystem);
|
||||
var srcPaletteInfo = srcRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var srcPaletteInfo = srcModData.DefaultRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var srcRemapIndex = srcPaletteInfo.RemapIndex;
|
||||
|
||||
var destMod = args[2].Split(':')[0];
|
||||
var destModData = new ModData(destMod);
|
||||
Game.ModData = destModData;
|
||||
var destRules = destModData.RulesetCache.Load(destModData.DefaultFileSystem);
|
||||
var destPaletteInfo = destRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var destPaletteInfo = destModData.DefaultRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var destRemapIndex = destPaletteInfo.RemapIndex;
|
||||
var shadowIndex = new int[] { };
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -48,14 +48,14 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
public TerrainTemplatePreviewWidget(WorldRenderer worldRenderer, World world)
|
||||
{
|
||||
this.worldRenderer = worldRenderer;
|
||||
tileset = world.Map.Rules.TileSets[world.Map.Tileset];
|
||||
tileset = world.Map.Rules.TileSet;
|
||||
}
|
||||
|
||||
protected TerrainTemplatePreviewWidget(TerrainTemplatePreviewWidget other)
|
||||
: base(other)
|
||||
{
|
||||
worldRenderer = other.worldRenderer;
|
||||
tileset = other.worldRenderer.World.Map.Rules.TileSets[other.worldRenderer.World.Map.Tileset];
|
||||
tileset = other.worldRenderer.World.Map.Rules.TileSet;
|
||||
Template = other.Template;
|
||||
GetScale = other.GetScale;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user