move SheetBuilder singleton onto ModData
This commit is contained in:
@@ -69,7 +69,6 @@ namespace OpenRA
|
||||
var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
||||
Timer.Time("manifest: {0}");
|
||||
modData = new ModData( manifest );
|
||||
SheetBuilder.Initialize();
|
||||
Timer.Time("load assemblies, packages: {0}");
|
||||
ChromeProvider.Initialize(manifest.Chrome);
|
||||
packageChangePending = false;
|
||||
@@ -78,7 +77,6 @@ namespace OpenRA
|
||||
static void LoadMap(string mapName)
|
||||
{
|
||||
Timer.Time("----LoadMap");
|
||||
SheetBuilder.Initialize();
|
||||
var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
||||
modData = new ModData( manifest );
|
||||
Timer.Time("manifest: {0}");
|
||||
|
||||
@@ -14,12 +14,6 @@ namespace OpenRA.Graphics
|
||||
{
|
||||
public class SheetBuilder
|
||||
{
|
||||
public static SheetBuilder SharedInstance;
|
||||
internal static void Initialize()
|
||||
{
|
||||
SharedInstance = new SheetBuilder(TextureChannel.Red);
|
||||
}
|
||||
|
||||
internal SheetBuilder(TextureChannel ch)
|
||||
{
|
||||
current = null;
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRA.Graphics
|
||||
static Sprite[] LoadSprites(string filename)
|
||||
{
|
||||
var shp = new ShpReader(FileSystem.OpenWithExts(filename, exts));
|
||||
return shp.Select(a => SheetBuilder.SharedInstance.Add(a.Image, shp.Size)).ToArray();
|
||||
return shp.Select(a => Game.modData.SheetBuilder.Add(a.Image, shp.Size)).ToArray();
|
||||
}
|
||||
|
||||
public static Sprite[] LoadAllSprites(string filename) { return sprites[filename]; }
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace OpenRA.Graphics
|
||||
Size tileSize = new Size( Game.CellSize, Game.CellSize );
|
||||
|
||||
var tileMapping = new Cache<TileReference<ushort,byte>, Sprite>(
|
||||
x => SheetBuilder.SharedInstance.Add(world.TileSet.GetBytes(x), tileSize));
|
||||
x => Game.modData.SheetBuilder.Add(world.TileSet.GetBytes(x), tileSize));
|
||||
|
||||
Vertex[] vertices = new Vertex[4 * map.Height * map.Width];
|
||||
ushort[] indices = new ushort[6 * map.Height * map.Width];
|
||||
|
||||
@@ -11,14 +11,15 @@ namespace OpenRA
|
||||
{
|
||||
public readonly Manifest Manifest;
|
||||
public readonly ObjectCreator ObjectCreator;
|
||||
public readonly SheetBuilder SheetBuilder;
|
||||
public readonly CursorSheetBuilder CursorSheetBuilder;
|
||||
public SheetBuilder SheetBuilder { get { return SheetBuilder.SharedInstance; } }
|
||||
|
||||
public ModData( Manifest manifest )
|
||||
{
|
||||
Manifest = manifest;
|
||||
ObjectCreator = new ObjectCreator( manifest );
|
||||
FileSystem.LoadFromManifest( manifest );
|
||||
SheetBuilder = new SheetBuilder( TextureChannel.Red );
|
||||
CursorSheetBuilder = new CursorSheetBuilder( this );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace OpenRA
|
||||
for (int j = 0; j < Game.CellSize; j++)
|
||||
data[i * Game.CellSize + j] = ((i + j) % 4 < 2) ? (byte)0 : paletteIndex;
|
||||
|
||||
return SheetBuilder.SharedInstance.Add(data, new Size(Game.CellSize, Game.CellSize));
|
||||
return Game.modData.SheetBuilder.Add(data, new Size(Game.CellSize, Game.CellSize));
|
||||
}
|
||||
|
||||
public void Draw( World world )
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
cachedTileset = self.World.Map.Tileset;
|
||||
sprites = new Cache<TileReference<ushort,byte>, Sprite>(
|
||||
x => SheetBuilder.SharedInstance.Add(self.World.TileSet.GetBytes(x),
|
||||
x => Game.modData.SheetBuilder.Add(self.World.TileSet.GetBytes(x),
|
||||
new Size(Game.CellSize, Game.CellSize)));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user