Bye Bye Chrome!
This commit is contained in:
@@ -1,53 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
|
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
|
||||||
* available to you under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation. For more information,
|
|
||||||
* see LICENSE.
|
|
||||||
*/
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
using System.Linq;
|
|
||||||
using OpenRA.FileFormats;
|
|
||||||
using OpenRA.Graphics;
|
|
||||||
using OpenRA.Widgets;
|
|
||||||
|
|
||||||
namespace OpenRA
|
|
||||||
{
|
|
||||||
class Chrome
|
|
||||||
{
|
|
||||||
public readonly Renderer renderer;
|
|
||||||
public readonly LineRenderer lineRenderer;
|
|
||||||
|
|
||||||
SpriteRenderer rgbaRenderer { get { return renderer.RgbaSpriteRenderer; } }
|
|
||||||
SpriteRenderer shpRenderer { get { return renderer.WorldSpriteRenderer; } }
|
|
||||||
|
|
||||||
public Chrome(Renderer r, Manifest m)
|
|
||||||
{
|
|
||||||
this.renderer = r;
|
|
||||||
lineRenderer = new LineRenderer(renderer);
|
|
||||||
|
|
||||||
var widgetYaml = m.ChromeLayout.Select(a => MiniYaml.FromFile(a)).Aggregate(MiniYaml.Merge);
|
|
||||||
|
|
||||||
if (Widget.RootWidget == null)
|
|
||||||
{
|
|
||||||
Widget.RootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() );
|
|
||||||
Widget.RootWidget.Initialize();
|
|
||||||
Widget.RootWidget.InitDelegates();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Tick(World world)
|
|
||||||
{
|
|
||||||
Widget.RootWidget.Tick(world);
|
|
||||||
|
|
||||||
if (!world.GameHasStarted) return;
|
|
||||||
if (world.LocalPlayer == null) return;
|
|
||||||
++Widget.ticksSinceLastMove;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Draw(World world) { Widget.RootWidget.Draw(world); shpRenderer.Flush(); rgbaRenderer.Flush(); lineRenderer.Flush(); }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -38,7 +38,6 @@ namespace OpenRA
|
|||||||
public static World world;
|
public static World world;
|
||||||
internal static Viewport viewport;
|
internal static Viewport viewport;
|
||||||
public static Controller controller;
|
public static Controller controller;
|
||||||
internal static Chrome chrome;
|
|
||||||
internal static UserSettings Settings;
|
internal static UserSettings Settings;
|
||||||
|
|
||||||
internal static OrderManager orderManager;
|
internal static OrderManager orderManager;
|
||||||
@@ -47,7 +46,7 @@ namespace OpenRA
|
|||||||
|
|
||||||
public static XRandom CosmeticRandom = new XRandom(); // not synced
|
public static XRandom CosmeticRandom = new XRandom(); // not synced
|
||||||
|
|
||||||
internal static Renderer renderer;
|
public static Renderer Renderer;
|
||||||
static int2 clientSize;
|
static int2 clientSize;
|
||||||
static string mapName;
|
static string mapName;
|
||||||
public static Session LobbyInfo = new Session();
|
public static Session LobbyInfo = new Session();
|
||||||
@@ -60,13 +59,13 @@ namespace OpenRA
|
|||||||
static internal bool scrollLeft = false;
|
static internal bool scrollLeft = false;
|
||||||
static internal bool scrollRight = false;
|
static internal bool scrollRight = false;
|
||||||
|
|
||||||
static void LoadModPackages(Manifest manifest)
|
static void LoadModPackages()
|
||||||
{
|
{
|
||||||
FileSystem.UnmountAll();
|
FileSystem.UnmountAll();
|
||||||
Timer.Time("reset: {0}");
|
Timer.Time("reset: {0}");
|
||||||
|
|
||||||
foreach (var dir in manifest.Folders) FileSystem.Mount(dir);
|
foreach (var dir in Manifest.Folders) FileSystem.Mount(dir);
|
||||||
foreach (var pkg in manifest.Packages) FileSystem.Mount(pkg);
|
foreach (var pkg in Manifest.Packages) FileSystem.Mount(pkg);
|
||||||
|
|
||||||
Timer.Time("mount temporary packages: {0}");
|
Timer.Time("mount temporary packages: {0}");
|
||||||
}
|
}
|
||||||
@@ -116,20 +115,22 @@ namespace OpenRA
|
|||||||
static void ChangeMods()
|
static void ChangeMods()
|
||||||
{
|
{
|
||||||
Timer.Time("----ChangeMods");
|
Timer.Time("----ChangeMods");
|
||||||
var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
||||||
Timer.Time("manifest: {0}");
|
Timer.Time("manifest: {0}");
|
||||||
LoadModAssemblies(manifest);
|
LoadModAssemblies(Manifest);
|
||||||
SheetBuilder.Initialize(renderer);
|
SheetBuilder.Initialize(Renderer);
|
||||||
LoadModPackages(manifest);
|
LoadModPackages();
|
||||||
Timer.Time("load assemblies, packages: {0}");
|
Timer.Time("load assemblies, packages: {0}");
|
||||||
packageChangePending = false;
|
packageChangePending = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Manifest Manifest;
|
||||||
|
|
||||||
static void LoadMap(string mapName)
|
static void LoadMap(string mapName)
|
||||||
{
|
{
|
||||||
Timer.Time("----LoadMap");
|
Timer.Time("----LoadMap");
|
||||||
SheetBuilder.Initialize(renderer);
|
SheetBuilder.Initialize(Renderer);
|
||||||
var manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
||||||
Timer.Time("manifest: {0}");
|
Timer.Time("manifest: {0}");
|
||||||
|
|
||||||
if (!Game.AvailableMaps.ContainsKey(mapName))
|
if (!Game.AvailableMaps.ContainsKey(mapName))
|
||||||
@@ -137,19 +138,16 @@ namespace OpenRA
|
|||||||
|
|
||||||
var map = new Map(Game.AvailableMaps[mapName].Package);
|
var map = new Map(Game.AvailableMaps[mapName].Package);
|
||||||
|
|
||||||
viewport = new Viewport(clientSize, map.TopLeft, map.BottomRight, renderer);
|
viewport = new Viewport(clientSize, map.TopLeft, map.BottomRight, Renderer);
|
||||||
world = null; // trying to access the old world will NRE, rather than silently doing it wrong.
|
world = null; // trying to access the old world will NRE, rather than silently doing it wrong.
|
||||||
ChromeProvider.Initialize(manifest.Chrome);
|
ChromeProvider.Initialize(Manifest.Chrome);
|
||||||
Timer.Time("viewport, ChromeProvider: {0}");
|
Timer.Time("viewport, ChromeProvider: {0}");
|
||||||
world = new World(manifest, map);
|
world = new World(Manifest, map);
|
||||||
Timer.Time("world: {0}");
|
Timer.Time("world: {0}");
|
||||||
|
|
||||||
SequenceProvider.Initialize(manifest.Sequences);
|
SequenceProvider.Initialize(Manifest.Sequences);
|
||||||
Timer.Time("ChromeProv, SeqProv: {0}");
|
Timer.Time("ChromeProv, SeqProv: {0}");
|
||||||
|
|
||||||
chrome = new Chrome(renderer, manifest);
|
|
||||||
Timer.Time("chrome: {0}");
|
|
||||||
|
|
||||||
Timer.Time("----end LoadMap");
|
Timer.Time("----end LoadMap");
|
||||||
Debug("Map change {0} -> {1}".F(Game.mapName, mapName));
|
Debug("Map change {0} -> {1}".F(Game.mapName, mapName));
|
||||||
}
|
}
|
||||||
@@ -281,7 +279,7 @@ namespace OpenRA
|
|||||||
using (new PerfSample("tick_time"))
|
using (new PerfSample("tick_time"))
|
||||||
{
|
{
|
||||||
lastTime += Settings.Timestep;
|
lastTime += Settings.Timestep;
|
||||||
chrome.Tick(world);
|
Widget.DoTick(world);
|
||||||
|
|
||||||
orderManager.TickImmediate(world);
|
orderManager.TickImmediate(world);
|
||||||
|
|
||||||
@@ -566,15 +564,16 @@ namespace OpenRA
|
|||||||
Log.AddChannel("sync", "syncreport.log", true, true);
|
Log.AddChannel("sync", "syncreport.log", true, true);
|
||||||
|
|
||||||
LobbyInfo.GlobalSettings.Mods = Settings.InitialMods;
|
LobbyInfo.GlobalSettings.Mods = Settings.InitialMods;
|
||||||
|
Manifest = new Manifest(LobbyInfo.GlobalSettings.Mods);
|
||||||
|
|
||||||
// Load the default mod to access required files
|
// Load the default mod to access required files
|
||||||
LoadModPackages(new Manifest(LobbyInfo.GlobalSettings.Mods));
|
LoadModPackages();
|
||||||
|
|
||||||
Renderer.SheetSize = Settings.SheetSize;
|
Renderer.SheetSize = Settings.SheetSize;
|
||||||
|
|
||||||
var resolution = GetResolution(settings, Game.Settings.WindowMode);
|
var resolution = GetResolution(settings, Game.Settings.WindowMode);
|
||||||
renderer = new Renderer(resolution, Game.Settings.WindowMode);
|
Renderer = new Renderer(resolution, Game.Settings.WindowMode);
|
||||||
resolution = renderer.Resolution;
|
resolution = Renderer.Resolution;
|
||||||
|
|
||||||
controller = new Controller();
|
controller = new Controller();
|
||||||
clientSize = new int2(resolution);
|
clientSize = new int2(resolution);
|
||||||
@@ -593,7 +592,7 @@ namespace OpenRA
|
|||||||
else
|
else
|
||||||
JoinLocal();
|
JoinLocal();
|
||||||
|
|
||||||
LoadShellMap(new Manifest(LobbyInfo.GlobalSettings.Mods).ShellmapUid);
|
LoadShellMap(Manifest.ShellmapUid);
|
||||||
|
|
||||||
ResetTimer();
|
ResetTimer();
|
||||||
|
|
||||||
@@ -620,7 +619,7 @@ namespace OpenRA
|
|||||||
|
|
||||||
public static void Disconnect()
|
public static void Disconnect()
|
||||||
{
|
{
|
||||||
var shellmap = new Manifest(LobbyInfo.GlobalSettings.Mods).ShellmapUid;
|
var shellmap = Manifest.ShellmapUid;
|
||||||
LobbyInfo = new Session();
|
LobbyInfo = new Session();
|
||||||
LobbyInfo.GlobalSettings.Mods = Settings.InitialMods;
|
LobbyInfo.GlobalSettings.Mods = Settings.InitialMods;
|
||||||
JoinLocal();
|
JoinLocal();
|
||||||
@@ -673,14 +672,14 @@ namespace OpenRA
|
|||||||
public static void InitializeEngineWithMods(string[] mods)
|
public static void InitializeEngineWithMods(string[] mods)
|
||||||
{
|
{
|
||||||
AppDomain.CurrentDomain.AssemblyResolve += FileSystem.ResolveAssembly;
|
AppDomain.CurrentDomain.AssemblyResolve += FileSystem.ResolveAssembly;
|
||||||
var manifest = new Manifest(mods);
|
Manifest = new Manifest(mods);
|
||||||
LoadModAssemblies(manifest);
|
LoadModAssemblies(Manifest);
|
||||||
|
|
||||||
FileSystem.UnmountAll();
|
FileSystem.UnmountAll();
|
||||||
foreach (var folder in manifest.Folders) FileSystem.Mount(folder);
|
foreach (var folder in Manifest.Folders) FileSystem.Mount(folder);
|
||||||
foreach (var pkg in manifest.Packages) FileSystem.Mount(pkg);
|
foreach (var pkg in Manifest.Packages) FileSystem.Mount(pkg);
|
||||||
|
|
||||||
Rules.LoadRules(manifest, new Map());
|
Rules.LoadRules(Manifest, new Map());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ namespace OpenRA.Graphics
|
|||||||
mod.AdjustPalette(b);
|
mod.AdjustPalette(b);
|
||||||
|
|
||||||
Texture.SetData(b);
|
Texture.SetData(b);
|
||||||
Game.renderer.PaletteTexture = Texture;
|
Game.Renderer.PaletteTexture = Texture;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ using OpenRA.FileFormats.Graphics;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
class LineRenderer
|
public class LineRenderer
|
||||||
{
|
{
|
||||||
Renderer renderer;
|
Renderer renderer;
|
||||||
IVertexBuffer<Vertex> vertexBuffer;
|
IVertexBuffer<Vertex> vertexBuffer;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ using OpenRA.Support;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
internal class Renderer
|
public class Renderer
|
||||||
{
|
{
|
||||||
internal static int SheetSize;
|
internal static int SheetSize;
|
||||||
|
|
||||||
@@ -32,6 +32,7 @@ namespace OpenRA.Graphics
|
|||||||
public SpriteRenderer SpriteRenderer { get; private set; }
|
public SpriteRenderer SpriteRenderer { get; private set; }
|
||||||
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
||||||
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
||||||
|
public LineRenderer LineRenderer { get; private set; }
|
||||||
|
|
||||||
public ITexture PaletteTexture;
|
public ITexture PaletteTexture;
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ namespace OpenRA.Graphics
|
|||||||
SpriteRenderer = new SpriteRenderer( this, SpriteShader );
|
SpriteRenderer = new SpriteRenderer( this, SpriteShader );
|
||||||
RgbaSpriteRenderer = new SpriteRenderer( this, RgbaSpriteShader );
|
RgbaSpriteRenderer = new SpriteRenderer( this, RgbaSpriteShader );
|
||||||
WorldSpriteRenderer = new SpriteRenderer( this, WorldSpriteShader );
|
WorldSpriteRenderer = new SpriteRenderer( this, WorldSpriteShader );
|
||||||
|
LineRenderer = new LineRenderer(this);
|
||||||
|
|
||||||
RegularFont = new SpriteFont(this, "FreeSans.ttf", 14);
|
RegularFont = new SpriteFont(this, "FreeSans.ttf", 14);
|
||||||
BoldFont = new SpriteFont(this, "FreeSansBold.ttf", 14);
|
BoldFont = new SpriteFont(this, "FreeSansBold.ttf", 14);
|
||||||
@@ -118,5 +120,12 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
PerfHistory.Increment("batches", 1);
|
PerfHistory.Increment("batches", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Flush()
|
||||||
|
{
|
||||||
|
WorldSpriteRenderer.Flush();
|
||||||
|
RgbaSpriteRenderer.Flush();
|
||||||
|
LineRenderer.Flush();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ using Tao.FreeType;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
class SpriteFont
|
public class SpriteFont
|
||||||
{
|
{
|
||||||
Renderer renderer;
|
Renderer renderer;
|
||||||
int size;
|
int size;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ using OpenRA.FileFormats.Graphics;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
class SpriteRenderer
|
public class SpriteRenderer
|
||||||
{
|
{
|
||||||
IVertexBuffer<Vertex> vertexBuffer;
|
IVertexBuffer<Vertex> vertexBuffer;
|
||||||
IIndexBuffer indexBuffer;
|
IIndexBuffer indexBuffer;
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace OpenRA.Graphics
|
|||||||
world.WorldRenderer.Draw();
|
world.WorldRenderer.Draw();
|
||||||
Timer.Time( "worldRenderer: {0}" );
|
Timer.Time( "worldRenderer: {0}" );
|
||||||
|
|
||||||
Game.chrome.Draw(world);
|
Widget.DoDraw(world);
|
||||||
Timer.Time( "widgets: {0}" );
|
Timer.Time( "widgets: {0}" );
|
||||||
|
|
||||||
var cursorName = Widget.RootWidget.GetCursorOuter(mousePos) ?? Game.controller.ChooseCursor( world );
|
var cursorName = Widget.RootWidget.GetCursorOuter(mousePos) ?? Game.controller.ChooseCursor( world );
|
||||||
|
|||||||
@@ -75,7 +75,6 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Chrome.cs" />
|
|
||||||
<Compile Include="Effects\RepairIndicator.cs" />
|
<Compile Include="Effects\RepairIndicator.cs" />
|
||||||
<Compile Include="GameRules\WeaponInfo.cs" />
|
<Compile Include="GameRules\WeaponInfo.cs" />
|
||||||
<Compile Include="Group.cs" />
|
<Compile Include="Group.cs" />
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace OpenRA.Traits
|
|||||||
|
|
||||||
public BibLayer(Actor self, BibLayerInfo info)
|
public BibLayer(Actor self, BibLayerInfo info)
|
||||||
{
|
{
|
||||||
spriteRenderer = Game.renderer.SpriteRenderer;
|
spriteRenderer = Game.Renderer.SpriteRenderer;
|
||||||
this.info = info;
|
this.info = info;
|
||||||
bibSprites = info.BibTypes.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray();
|
bibSprites = info.BibTypes.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray();
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace OpenRA.Traits
|
|||||||
|
|
||||||
public ResourceLayer()
|
public ResourceLayer()
|
||||||
{
|
{
|
||||||
sr = Game.renderer.SpriteRenderer;
|
sr = Game.Renderer.SpriteRenderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Render()
|
public void Render()
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace OpenRA.Traits
|
|||||||
|
|
||||||
public SmudgeLayer(SmudgeLayerInfo info)
|
public SmudgeLayer(SmudgeLayerInfo info)
|
||||||
{
|
{
|
||||||
spriteRenderer = Game.renderer.SpriteRenderer;
|
spriteRenderer = Game.Renderer.SpriteRenderer;
|
||||||
this.Info = info;
|
this.Info = info;
|
||||||
smudgeSprites = Info.Types.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray();
|
smudgeSprites = Info.Types.Select(x => SpriteSheetBuilder.LoadAllSprites(x)).ToArray();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,15 +201,15 @@ namespace OpenRA.Widgets
|
|||||||
var numActualRows = Math.Max((allBuildables.Length + Columns - 1) / Columns, Rows);
|
var numActualRows = Math.Max((allBuildables.Length + Columns - 1) / Columns, Rows);
|
||||||
|
|
||||||
// Palette Background
|
// Palette Background
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "top"), new float2(origin.X - 9, origin.Y - 9));
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "top"), new float2(origin.X - 9, origin.Y - 9));
|
||||||
for (var w = 0; w < numActualRows; w++)
|
for (var w = 0; w < numActualRows; w++)
|
||||||
WidgetUtils.DrawRGBA(
|
WidgetUtils.DrawRGBA(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection,
|
ChromeProvider.GetImage(Game.Renderer, paletteCollection,
|
||||||
"bg-" + (w % 4).ToString()),
|
"bg-" + (w % 4).ToString()),
|
||||||
new float2(origin.X - 9, origin.Y + 48 * w));
|
new float2(origin.X - 9, origin.Y + 48 * w));
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "bottom"),
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "bottom"),
|
||||||
new float2(origin.X - 9, origin.Y - 1 + 48 * numActualRows));
|
new float2(origin.X - 9, origin.Y - 1 + 48 * numActualRows));
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
|
|
||||||
|
|
||||||
// Icons
|
// Icons
|
||||||
@@ -223,7 +223,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
var firstOfThis = queue.AllItems(queueName).FirstOrDefault(a => a.Item == item.Name);
|
var firstOfThis = queue.AllItems(queueName).FirstOrDefault(a => a.Item == item.Name);
|
||||||
|
|
||||||
if (rect.Contains(Widget.lastMousePos.ToPoint()))
|
if (rect.Contains(Widget.LastMousePos.ToPoint()))
|
||||||
tooltipItem = item.Name;
|
tooltipItem = item.Name;
|
||||||
|
|
||||||
var overlayPos = drawPos + new float2((64 - ready.Image.size.X) / 2, 2);
|
var overlayPos = drawPos + new float2((64 - ready.Image.size.X) / 2, 2);
|
||||||
@@ -275,7 +275,7 @@ namespace OpenRA.Widgets
|
|||||||
foreach (var ob in overlayBits)
|
foreach (var ob in overlayBits)
|
||||||
WidgetUtils.DrawSHP(ob.First, ob.Second);
|
WidgetUtils.DrawSHP(ob.First, ob.Second);
|
||||||
|
|
||||||
Game.chrome.renderer.WorldSpriteRenderer.Flush();
|
Game.Renderer.WorldSpriteRenderer.Flush();
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip
|
||||||
if (tooltipItem != null && !paletteAnimating && paletteOpen)
|
if (tooltipItem != null && !paletteAnimating && paletteOpen)
|
||||||
@@ -283,16 +283,16 @@ namespace OpenRA.Widgets
|
|||||||
new float2(Game.viewport.Width, origin.Y + numActualRows * 48 + 9).ToInt2());
|
new float2(Game.viewport.Width, origin.Y + numActualRows * 48 + 9).ToInt2());
|
||||||
|
|
||||||
// Palette Dock
|
// Palette Dock
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-top"),
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-top"),
|
||||||
new float2(Game.viewport.Width - 14, origin.Y - 23));
|
new float2(Game.viewport.Width - 14, origin.Y - 23));
|
||||||
|
|
||||||
for (int i = 0; i < numActualRows; i++)
|
for (int i = 0; i < numActualRows; i++)
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-" + (i % 4).ToString()),
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-" + (i % 4).ToString()),
|
||||||
new float2(Game.viewport.Width - 14, origin.Y + 48 * i));
|
new float2(Game.viewport.Width - 14, origin.Y + 48 * i));
|
||||||
|
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer, paletteCollection, "dock-bottom"),
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer, paletteCollection, "dock-bottom"),
|
||||||
new float2(Game.viewport.Width - 14, origin.Y - 1 + 48 * numActualRows));
|
new float2(Game.viewport.Width - 14, origin.Y - 1 + 48 * numActualRows));
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
|
|
||||||
return 48 * y + 9;
|
return 48 * y + 9;
|
||||||
}
|
}
|
||||||
@@ -416,33 +416,33 @@ namespace OpenRA.Widgets
|
|||||||
var producing = queue.CurrentItem(groupName);
|
var producing = queue.CurrentItem(groupName);
|
||||||
var index = q.Key == currentTab ? 2 : (producing != null && producing.Done) ? 1 : 0;
|
var index = q.Key == currentTab ? 2 : (producing != null && producing.Done) ? 1 : 0;
|
||||||
var race = world.LocalPlayer.Country.Race;
|
var race = world.LocalPlayer.Country.Race;
|
||||||
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.chrome.renderer,"tabs-"+tabKeys[index], race+"-"+q.Key), new float2(x, y));
|
WidgetUtils.DrawRGBA(ChromeProvider.GetImage(Game.Renderer,"tabs-"+tabKeys[index], race+"-"+q.Key), new float2(x, y));
|
||||||
|
|
||||||
var rect = new Rectangle((int)x,(int)y,(int)tabWidth,(int)tabHeight);
|
var rect = new Rectangle((int)x,(int)y,(int)tabWidth,(int)tabHeight);
|
||||||
tabs.Add(Pair.New(rect, HandleTabClick(groupName, world)));
|
tabs.Add(Pair.New(rect, HandleTabClick(groupName, world)));
|
||||||
|
|
||||||
if (rect.Contains(Widget.lastMousePos.ToPoint()))
|
if (rect.Contains(Widget.LastMousePos.ToPoint()))
|
||||||
{
|
{
|
||||||
var text = CategoryNameRemaps.ContainsKey(groupName) ? CategoryNameRemaps[groupName] : groupName;
|
var text = CategoryNameRemaps.ContainsKey(groupName) ? CategoryNameRemaps[groupName] : groupName;
|
||||||
var sz = Game.chrome.renderer.BoldFont.Measure(text);
|
var sz = Game.Renderer.BoldFont.Measure(text);
|
||||||
WidgetUtils.DrawPanelPartial("dialog4",
|
WidgetUtils.DrawPanelPartial("dialog4",
|
||||||
Rectangle.FromLTRB((int)rect.Left - sz.X - 30, (int)rect.Top, (int)rect.Left - 5, (int)rect.Bottom),
|
Rectangle.FromLTRB((int)rect.Left - sz.X - 30, (int)rect.Top, (int)rect.Left - 5, (int)rect.Bottom),
|
||||||
PanelSides.All);
|
PanelSides.All);
|
||||||
|
|
||||||
Game.chrome.renderer.BoldFont.DrawText(text,
|
Game.Renderer.BoldFont.DrawText(text,
|
||||||
new float2(rect.Left - sz.X - 20, rect.Top + 12), Color.White);
|
new float2(rect.Left - sz.X - 20, rect.Top + 12), Color.White);
|
||||||
}
|
}
|
||||||
|
|
||||||
y += tabHeight;
|
y += tabHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawRightAligned(string text, int2 pos, Color c)
|
void DrawRightAligned(string text, int2 pos, Color c)
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.BoldFont.DrawText(text,
|
Game.Renderer.BoldFont.DrawText(text,
|
||||||
pos - new int2(Game.chrome.renderer.BoldFont.Measure(text).X, 0), c);
|
pos - new int2(Game.Renderer.BoldFont.Measure(text).X, 0), c);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawProductionTooltip(World world, string unit, int2 pos)
|
void DrawProductionTooltip(World world, string unit, int2 pos)
|
||||||
@@ -458,12 +458,12 @@ namespace OpenRA.Widgets
|
|||||||
var buildings = Rules.TechTree.GatherBuildings( pl );
|
var buildings = Rules.TechTree.GatherBuildings( pl );
|
||||||
var canBuildThis = Rules.TechTree.CanBuild(info, pl, buildings);
|
var canBuildThis = Rules.TechTree.CanBuild(info, pl, buildings);
|
||||||
|
|
||||||
var longDescSize = Game.chrome.renderer.RegularFont.Measure(buildable.LongDesc.Replace("\\n", "\n")).Y;
|
var longDescSize = Game.Renderer.RegularFont.Measure(buildable.LongDesc.Replace("\\n", "\n")).Y;
|
||||||
if (!canBuildThis) longDescSize += 8;
|
if (!canBuildThis) longDescSize += 8;
|
||||||
|
|
||||||
WidgetUtils.DrawPanel("dialog4", new Rectangle(Game.viewport.Width - 300, pos.Y, 300, longDescSize + 65));
|
WidgetUtils.DrawPanel("dialog4", new Rectangle(Game.viewport.Width - 300, pos.Y, 300, longDescSize + 65));
|
||||||
|
|
||||||
Game.chrome.renderer.BoldFont.DrawText(
|
Game.Renderer.BoldFont.DrawText(
|
||||||
buildable.Description + ((buildable.Hotkey != null)? " ({0})".F(buildable.Hotkey.ToUpper()) : ""),
|
buildable.Description + ((buildable.Hotkey != null)? " ({0})".F(buildable.Hotkey.ToUpper()) : ""),
|
||||||
p.ToInt2() + new int2(5, 5), Color.White);
|
p.ToInt2() + new int2(5, 5), Color.White);
|
||||||
|
|
||||||
@@ -487,7 +487,7 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
var prereqs = buildable.Prerequisites
|
var prereqs = buildable.Prerequisites
|
||||||
.Select( a => Description( a ) );
|
.Select( a => Description( a ) );
|
||||||
Game.chrome.renderer.RegularFont.DrawText(
|
Game.Renderer.RegularFont.DrawText(
|
||||||
"Requires {0}".F(string.Join(", ", prereqs.ToArray())),
|
"Requires {0}".F(string.Join(", ", prereqs.ToArray())),
|
||||||
p.ToInt2(),
|
p.ToInt2(),
|
||||||
Color.White);
|
Color.White);
|
||||||
@@ -496,10 +496,10 @@ namespace OpenRA.Widgets
|
|||||||
}
|
}
|
||||||
|
|
||||||
p += new int2(0, 15);
|
p += new int2(0, 15);
|
||||||
Game.chrome.renderer.RegularFont.DrawText(buildable.LongDesc.Replace("\\n", "\n"),
|
Game.Renderer.RegularFont.DrawText(buildable.LongDesc.Replace("\\n", "\n"),
|
||||||
p.ToInt2(), Color.White);
|
p.ToInt2(), Color.White);
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DoBuildingHotkey(char c, World world)
|
bool DoBuildingHotkey(char c, World world)
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont;
|
var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont;
|
||||||
var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0);
|
var stateOffset = (Depressed) ? new int2(VisualHeight, VisualHeight) : new int2(0, 0);
|
||||||
WidgetUtils.DrawPanel(Depressed ? "dialog3" : "dialog2", RenderBounds);
|
WidgetUtils.DrawPanel(Depressed ? "dialog3" : "dialog2", RenderBounds);
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Widgets
|
|||||||
if (DrawBackground)
|
if (DrawBackground)
|
||||||
WidgetUtils.DrawPanel("dialog3", chatLogArea);
|
WidgetUtils.DrawPanel("dialog3", chatLogArea);
|
||||||
|
|
||||||
var renderer = Game.chrome.renderer;
|
var renderer = Game.Renderer;
|
||||||
var font = renderer.RegularFont;
|
var font = renderer.RegularFont;
|
||||||
|
|
||||||
renderer.RgbaSpriteRenderer.Flush();
|
renderer.RgbaSpriteRenderer.Flush();
|
||||||
|
|||||||
@@ -29,12 +29,12 @@ namespace OpenRA.Widgets
|
|||||||
if (composing)
|
if (composing)
|
||||||
{
|
{
|
||||||
var text = teamChat ? "Chat (Team): " : "Chat (All): ";
|
var text = teamChat ? "Chat (Team): " : "Chat (All): ";
|
||||||
var w = Game.chrome.renderer.BoldFont.Measure(text).X;
|
var w = Game.Renderer.BoldFont.Measure(text).X;
|
||||||
|
|
||||||
Game.chrome.renderer.BoldFont.DrawText(text, RenderOrigin + new float2(3, 7), Color.White);
|
Game.Renderer.BoldFont.DrawText(text, RenderOrigin + new float2(3, 7), Color.White);
|
||||||
Game.chrome.renderer.RegularFont.DrawText(content, RenderOrigin + new float2(3 + w, 7), Color.White);
|
Game.Renderer.RegularFont.DrawText(content, RenderOrigin + new float2(3 + w, 7), Color.White);
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont;
|
var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont;
|
||||||
var pos = RenderOrigin;
|
var pos = RenderOrigin;
|
||||||
var rect = RenderBounds;
|
var rect = RenderBounds;
|
||||||
var check = new Rectangle(rect.Location,
|
var check = new Rectangle(rect.Location,
|
||||||
@@ -35,9 +35,9 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
if (Checked())
|
if (Checked())
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
WidgetUtils.FillRectWithColor(check.InflateBy(-4,-5,-4,-5),Color.White);
|
WidgetUtils.FillRectWithColor(check.InflateBy(-4,-5,-4,-5),Color.White);
|
||||||
Game.chrome.lineRenderer.Flush();
|
Game.Renderer.LineRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace OpenRA.Widgets
|
|||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
WidgetUtils.FillRectWithColor(RenderBounds, GetColor());
|
WidgetUtils.FillRectWithColor(RenderBounds, GetColor());
|
||||||
Game.chrome.lineRenderer.Flush();
|
Game.Renderer.LineRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ namespace OpenRA.Widgets
|
|||||||
var name = GetImageName();
|
var name = GetImageName();
|
||||||
var collection = GetImageCollection();
|
var collection = GetImageCollection();
|
||||||
WidgetUtils.DrawRGBA(
|
WidgetUtils.DrawRGBA(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, collection, name),
|
ChromeProvider.GetImage(Game.Renderer, collection, name),
|
||||||
RenderOrigin);
|
RenderOrigin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ namespace OpenRA.Widgets
|
|||||||
if (bg != null)
|
if (bg != null)
|
||||||
WidgetUtils.DrawPanel(bg, RenderBounds );
|
WidgetUtils.DrawPanel(bg, RenderBounds );
|
||||||
|
|
||||||
var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont;
|
var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont;
|
||||||
var text = GetText();
|
var text = GetText();
|
||||||
if (text == null)
|
if (text == null)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -63,13 +63,13 @@ namespace OpenRA.Widgets
|
|||||||
WidgetUtils.DrawPanel(downButtonBg, downButtonRect);
|
WidgetUtils.DrawPanel(downButtonBg, downButtonRect);
|
||||||
WidgetUtils.DrawPanel(scrollbarBg, scrollbarRect);
|
WidgetUtils.DrawPanel(scrollbarBg, scrollbarRect);
|
||||||
|
|
||||||
Game.chrome.renderer.Device.EnableScissor(backgroundRect.X, backgroundRect.Y + HeaderHeight, backgroundRect.Width, backgroundRect.Height - HeaderHeight);
|
Game.Renderer.Device.EnableScissor(backgroundRect.X, backgroundRect.Y + HeaderHeight, backgroundRect.Width, backgroundRect.Height - HeaderHeight);
|
||||||
|
|
||||||
foreach (var child in Children)
|
foreach (var child in Children)
|
||||||
child.Draw(world);
|
child.Draw(world);
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
Game.chrome.renderer.Device.DisableScissor();
|
Game.Renderer.Device.DisableScissor();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override int2 ChildOrigin { get { return RenderOrigin + new int2(0, (int)ListOffset); } }
|
public override int2 ChildOrigin { get { return RenderOrigin + new int2(0, (int)ListOffset); } }
|
||||||
|
|||||||
@@ -73,9 +73,9 @@ namespace OpenRA.Widgets
|
|||||||
public override void DrawInner( World world )
|
public override void DrawInner( World world )
|
||||||
{
|
{
|
||||||
if (UnownedSpawn == null)
|
if (UnownedSpawn == null)
|
||||||
UnownedSpawn = ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "unowned");
|
UnownedSpawn = ChromeProvider.GetImage(Game.Renderer, "spawnpoints", "unowned");
|
||||||
if (OwnedSpawn == null)
|
if (OwnedSpawn == null)
|
||||||
OwnedSpawn = ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "owned");
|
OwnedSpawn = ChromeProvider.GetImage(Game.Renderer, "spawnpoints", "owned");
|
||||||
|
|
||||||
var map = Map();
|
var map = Map();
|
||||||
if( map == null ) return;
|
if( map == null ) return;
|
||||||
@@ -87,7 +87,7 @@ namespace OpenRA.Widgets
|
|||||||
// Update image data
|
// Update image data
|
||||||
var preview = PreviewCache[map];
|
var preview = PreviewCache[map];
|
||||||
if( mapChooserSheet == null || mapChooserSheet.Size.Width != preview.Width || mapChooserSheet.Size.Height != preview.Height )
|
if( mapChooserSheet == null || mapChooserSheet.Size.Width != preview.Width || mapChooserSheet.Size.Height != preview.Height )
|
||||||
mapChooserSheet = new Sheet( Game.renderer, new Size( preview.Width, preview.Height ) );
|
mapChooserSheet = new Sheet( Game.Renderer, new Size( preview.Width, preview.Height ) );
|
||||||
|
|
||||||
mapChooserSheet.Texture.SetData( preview );
|
mapChooserSheet.Texture.SetData( preview );
|
||||||
mapChooserSprite = new Sprite( mapChooserSheet, new Rectangle( 0, 0, map.Width, map.Height ), TextureChannel.Alpha );
|
mapChooserSprite = new Sprite( mapChooserSheet, new Rectangle( 0, 0, map.Width, map.Height ), TextureChannel.Alpha );
|
||||||
@@ -100,7 +100,7 @@ namespace OpenRA.Widgets
|
|||||||
MapRect = new Rectangle(RenderBounds.X + dw, RenderBounds.Y + dh, (int)(map.Width * PreviewScale), (int)(map.Height * PreviewScale));
|
MapRect = new Rectangle(RenderBounds.X + dw, RenderBounds.Y + dh, (int)(map.Width * PreviewScale), (int)(map.Height * PreviewScale));
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( mapChooserSprite,
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite( mapChooserSprite,
|
||||||
new float2(MapRect.Location),
|
new float2(MapRect.Location),
|
||||||
"chrome",
|
"chrome",
|
||||||
new float2( MapRect.Size ) );
|
new float2( MapRect.Size ) );
|
||||||
@@ -119,11 +119,10 @@ namespace OpenRA.Widgets
|
|||||||
offset = new int2(-OwnedSpawn.bounds.Width/2, -OwnedSpawn.bounds.Height/2);
|
offset = new int2(-OwnedSpawn.bounds.Width/2, -OwnedSpawn.bounds.Height/2);
|
||||||
WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]);
|
WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]);
|
||||||
}
|
}
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset, "chrome");
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset, "chrome");
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.lineRenderer.Flush();
|
Game.Renderer.Flush();
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ namespace OpenRA.Widgets
|
|||||||
var digitCollection = "digits-" + world.LocalPlayer.Country.Race;
|
var digitCollection = "digits-" + world.LocalPlayer.Country.Race;
|
||||||
var chromeCollection = "chrome-" + world.LocalPlayer.Country.Race;
|
var chromeCollection = "chrome-" + world.LocalPlayer.Country.Race;
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, chromeCollection, "moneybin"),
|
ChromeProvider.GetImage(Game.Renderer, chromeCollection, "moneybin"),
|
||||||
new float2(Bounds.Left, 0), "chrome");
|
new float2(Bounds.Left, 0), "chrome");
|
||||||
|
|
||||||
// Cash
|
// Cash
|
||||||
@@ -50,8 +50,8 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
foreach (var d in cashDigits.Reverse())
|
foreach (var d in cashDigits.Reverse())
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, digitCollection, (d - '0').ToString()),
|
ChromeProvider.GetImage(Game.Renderer, digitCollection, (d - '0').ToString()),
|
||||||
new float2(x, 6), "chrome");
|
new float2(x, 6), "chrome");
|
||||||
x -= 14;
|
x -= 14;
|
||||||
}
|
}
|
||||||
@@ -64,8 +64,8 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
foreach (var d in oreDigits.Reverse())
|
foreach (var d in oreDigits.Reverse())
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, digitCollection, (d - '0').ToString()),
|
ChromeProvider.GetImage(Game.Renderer, digitCollection, (d - '0').ToString()),
|
||||||
new float2(x, 6), "chrome");
|
new float2(x, 6), "chrome");
|
||||||
x -= 14;
|
x -= 14;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,17 +21,17 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public override void DrawInner (World world)
|
public override void DrawInner (World world)
|
||||||
{
|
{
|
||||||
var image = ChromeProvider.GetImage(Game.chrome.renderer, Image + "-button", GetImage());
|
var image = ChromeProvider.GetImage(Game.Renderer, Image + "-button", GetImage());
|
||||||
var rect = new Rectangle(RenderBounds.X, RenderBounds.Y, (int)image.size.X, (int)image.size.Y);
|
var rect = new Rectangle(RenderBounds.X, RenderBounds.Y, (int)image.size.X, (int)image.size.Y);
|
||||||
|
|
||||||
if (rect.Contains(Widget.lastMousePos.ToPoint()))
|
if (rect.Contains(Widget.LastMousePos.ToPoint()))
|
||||||
{
|
{
|
||||||
rect = rect.InflateBy(3, 3, 3, 3);
|
rect = rect.InflateBy(3, 3, 3, 3);
|
||||||
var pos = new int2(rect.Left, rect.Top);
|
var pos = new int2(rect.Left, rect.Top);
|
||||||
var m = pos + new int2(rect.Width, rect.Height);
|
var m = pos + new int2(rect.Width, rect.Height);
|
||||||
var br = pos + new int2(rect.Width, rect.Height + 20);
|
var br = pos + new int2(rect.Width, rect.Height + 20);
|
||||||
|
|
||||||
var u = Game.chrome.renderer.RegularFont.Measure(GetLongDesc().Replace("\\n", "\n"));
|
var u = Game.Renderer.RegularFont.Measure(GetLongDesc().Replace("\\n", "\n"));
|
||||||
|
|
||||||
br.X -= u.X;
|
br.X -= u.X;
|
||||||
br.Y += u.Y;
|
br.Y += u.Y;
|
||||||
@@ -53,13 +53,13 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
pos.X = br.X + 8;
|
pos.X = br.X + 8;
|
||||||
pos.Y = m.Y + 8;
|
pos.Y = m.Y + 8;
|
||||||
Game.chrome.renderer.BoldFont.DrawText(GetDescription(), pos, Color.White);
|
Game.Renderer.BoldFont.DrawText(GetDescription(), pos, Color.White);
|
||||||
|
|
||||||
pos += new int2(0, 20);
|
pos += new int2(0, 20);
|
||||||
Game.chrome.renderer.RegularFont.DrawText(GetLongDesc().Replace("\\n", "\n"), pos, Color.White);
|
Game.Renderer.RegularFont.DrawText(GetLongDesc().Replace("\\n", "\n"), pos, Color.White);
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y), "chrome");
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(image, new int2(RenderBounds.X, RenderBounds.Y), "chrome");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,15 +24,15 @@ namespace OpenRA.Widgets
|
|||||||
float2 origin = Game.viewport.Location + new float2(rect.Right, rect.Bottom);
|
float2 origin = Game.viewport.Location + new float2(rect.Right, rect.Bottom);
|
||||||
float2 basis = new float2(-rect.Width / 100, -rect.Height / 100);
|
float2 basis = new float2(-rect.Width / 100, -rect.Height / 100);
|
||||||
|
|
||||||
Game.chrome.lineRenderer.DrawLine(origin, origin + new float2(100, 0) * basis, Color.White, Color.White);
|
Game.Renderer.LineRenderer.DrawLine(origin, origin + new float2(100, 0) * basis, Color.White, Color.White);
|
||||||
Game.chrome.lineRenderer.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, Color.White, Color.White);
|
Game.Renderer.LineRenderer.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, Color.White, Color.White);
|
||||||
|
|
||||||
foreach (var item in PerfHistory.items.Values)
|
foreach (var item in PerfHistory.items.Values)
|
||||||
{
|
{
|
||||||
int n = 0;
|
int n = 0;
|
||||||
item.Samples().Aggregate((a, b) =>
|
item.Samples().Aggregate((a, b) =>
|
||||||
{
|
{
|
||||||
Game.chrome.lineRenderer.DrawLine(
|
Game.Renderer.LineRenderer.DrawLine(
|
||||||
origin + new float2(n, (float)a) * basis,
|
origin + new float2(n, (float)a) * basis,
|
||||||
origin + new float2(n + 1, (float)b) * basis,
|
origin + new float2(n + 1, (float)b) * basis,
|
||||||
item.c, item.c);
|
item.c, item.c);
|
||||||
@@ -41,7 +41,7 @@ namespace OpenRA.Widgets
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.lineRenderer.Flush();
|
Game.Renderer.LineRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -35,8 +35,8 @@ namespace OpenRA.Widgets
|
|||||||
&& resources.PowerDrained == 0)
|
&& resources.PowerDrained == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var renderer = Game.chrome.renderer;
|
var renderer = Game.Renderer;
|
||||||
var lineRenderer = Game.chrome.lineRenderer;
|
var lineRenderer = Game.Renderer.LineRenderer;
|
||||||
var rgbaRenderer = renderer.RgbaSpriteRenderer;
|
var rgbaRenderer = renderer.RgbaSpriteRenderer;
|
||||||
|
|
||||||
// Draw bar horizontally
|
// Draw bar horizontally
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
hasRadar = hasNewRadar;
|
hasRadar = hasNewRadar;
|
||||||
|
|
||||||
var renderer = Game.chrome.renderer;
|
var renderer = Game.Renderer;
|
||||||
var rgbaRenderer = renderer.RgbaSpriteRenderer;
|
var rgbaRenderer = renderer.RgbaSpriteRenderer;
|
||||||
|
|
||||||
rgbaRenderer.DrawSprite(ChromeProvider.GetImage(renderer, radarCollection, "left"), radarOrigin, "chrome");
|
rgbaRenderer.DrawSprite(ChromeProvider.GetImage(renderer, radarCollection, "left"), radarOrigin, "chrome");
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace OpenRA.Widgets
|
|||||||
cachedFrame = frame;
|
cachedFrame = frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.chrome.renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, palette);
|
Game.Renderer.WorldSpriteRenderer.DrawSprite(sprite,RenderOrigin, palette);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace OpenRA.Widgets
|
|||||||
WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-middle"), new float2(rectBounds.X, rectBounds.Y + i * 51));
|
WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-middle"), new float2(rectBounds.X, rectBounds.Y + i * 51));
|
||||||
WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-bottom"), new float2(rectBounds.X, rectBounds.Y + numPowers * 51));
|
WidgetUtils.DrawRGBA(WidgetUtils.GetChromeImage(world,"specialbin-bottom"), new float2(rectBounds.X, rectBounds.Y + numPowers * 51));
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
|
|
||||||
// Hack Hack Hack
|
// Hack Hack Hack
|
||||||
rectBounds.Width = 69;
|
rectBounds.Width = 69;
|
||||||
@@ -92,7 +92,7 @@ namespace OpenRA.Widgets
|
|||||||
var drawPos = new float2(rectBounds.X + 5, y);
|
var drawPos = new float2(rectBounds.X + 5, y);
|
||||||
var rect = new Rectangle(rectBounds.X + 5, y, 64, 48);
|
var rect = new Rectangle(rectBounds.X + 5, y, 64, 48);
|
||||||
|
|
||||||
if (rect.Contains(Widget.lastMousePos.ToPoint()))
|
if (rect.Contains(Widget.LastMousePos.ToPoint()))
|
||||||
{
|
{
|
||||||
var pos = drawPos.ToInt2();
|
var pos = drawPos.ToInt2();
|
||||||
var tl = new int2(pos.X-3,pos.Y-3);
|
var tl = new int2(pos.X-3,pos.Y-3);
|
||||||
@@ -100,7 +100,7 @@ namespace OpenRA.Widgets
|
|||||||
var br = tl + new int2(64+3+20,60);
|
var br = tl + new int2(64+3+20,60);
|
||||||
|
|
||||||
if (sp.Info.LongDesc != null)
|
if (sp.Info.LongDesc != null)
|
||||||
br += Game.chrome.renderer.RegularFont.Measure(sp.Info.LongDesc.Replace("\\n", "\n"));
|
br += Game.Renderer.RegularFont.Measure(sp.Info.LongDesc.Replace("\\n", "\n"));
|
||||||
else
|
else
|
||||||
br += new int2(300,0);
|
br += new int2(300,0);
|
||||||
|
|
||||||
@@ -114,16 +114,16 @@ namespace OpenRA.Widgets
|
|||||||
PanelSides.Left | PanelSides.Right | PanelSides.Bottom);
|
PanelSides.Left | PanelSides.Right | PanelSides.Bottom);
|
||||||
|
|
||||||
pos += new int2(77, 5);
|
pos += new int2(77, 5);
|
||||||
Game.chrome.renderer.BoldFont.DrawText(sp.Info.Description, pos, Color.White);
|
Game.Renderer.BoldFont.DrawText(sp.Info.Description, pos, Color.White);
|
||||||
|
|
||||||
pos += new int2(0,20);
|
pos += new int2(0,20);
|
||||||
Game.chrome.renderer.BoldFont.DrawText(WorldUtils.FormatTime(sp.RemainingTime).ToString(), pos, Color.White);
|
Game.Renderer.BoldFont.DrawText(WorldUtils.FormatTime(sp.RemainingTime).ToString(), pos, Color.White);
|
||||||
Game.chrome.renderer.BoldFont.DrawText("/ {0}".F(WorldUtils.FormatTime(sp.TotalTime)), pos + new int2(45,0), Color.White);
|
Game.Renderer.BoldFont.DrawText("/ {0}".F(WorldUtils.FormatTime(sp.TotalTime)), pos + new int2(45,0), Color.White);
|
||||||
|
|
||||||
if (sp.Info.LongDesc != null)
|
if (sp.Info.LongDesc != null)
|
||||||
{
|
{
|
||||||
pos += new int2(0, 20);
|
pos += new int2(0, 20);
|
||||||
Game.chrome.renderer.RegularFont.DrawText(sp.Info.LongDesc.Replace("\\n", "\n"), pos, Color.White);
|
Game.Renderer.RegularFont.DrawText(sp.Info.LongDesc.Replace("\\n", "\n"), pos, Color.White);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ namespace OpenRA.Widgets
|
|||||||
y += 51;
|
y += 51;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Game.chrome.renderer.WorldSpriteRenderer.Flush();
|
Game.Renderer.WorldSpriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
Action<MouseInput> HandleSupportPower(SupportPower sp)
|
Action<MouseInput> HandleSupportPower(SupportPower sp)
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ namespace OpenRA.Widgets
|
|||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
int margin = 5;
|
int margin = 5;
|
||||||
var font = (Bold) ? Game.chrome.renderer.BoldFont : Game.chrome.renderer.RegularFont;
|
var font = (Bold) ? Game.Renderer.BoldFont : Game.Renderer.RegularFont;
|
||||||
var cursor = (showCursor && Focused) ? "|" : "";
|
var cursor = (showCursor && Focused) ? "|" : "";
|
||||||
var textSize = font.Measure(Text + "|");
|
var textSize = font.Measure(Text + "|");
|
||||||
var pos = RenderOrigin;
|
var pos = RenderOrigin;
|
||||||
@@ -125,15 +125,15 @@ namespace OpenRA.Widgets
|
|||||||
if (Focused)
|
if (Focused)
|
||||||
textPos += new int2(Bounds.Width - 2 * margin - textSize.X, 0);
|
textPos += new int2(Bounds.Width - 2 * margin - textSize.X, 0);
|
||||||
|
|
||||||
Game.chrome.renderer.Device.EnableScissor(pos.X + margin, pos.Y, Bounds.Width - 2 * margin, Bounds.Bottom);
|
Game.Renderer.Device.EnableScissor(pos.X + margin, pos.Y, Bounds.Width - 2 * margin, Bounds.Bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
font.DrawText(Text + cursor, textPos, Color.White);
|
font.DrawText(Text + cursor, textPos, Color.White);
|
||||||
|
|
||||||
if (textSize.X > Bounds.Width - 2 * margin)
|
if (textSize.X > Bounds.Width - 2 * margin)
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
Game.chrome.renderer.Device.DisableScissor();
|
Game.Renderer.Device.DisableScissor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace OpenRA.Widgets
|
|||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
var s = WorldUtils.FormatTime(Game.LocalTick);
|
var s = WorldUtils.FormatTime(Game.LocalTick);
|
||||||
var f = Game.chrome.renderer.TitleFont;
|
var f = Game.Renderer.TitleFont;
|
||||||
var size = f.Measure(s);
|
var size = f.Measure(s);
|
||||||
f.DrawText(s, new float2(RenderBounds.Left - size.X / 2, RenderBounds.Top - 20), Color.White);
|
f.DrawText(s, new float2(RenderBounds.Left - size.X / 2, RenderBounds.Top - 20), Color.White);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,21 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public Widget() { IsVisible = () => Visible; }
|
public Widget() { IsVisible = () => Visible; }
|
||||||
|
|
||||||
public static Widget RootWidget = null;
|
public static Widget RootWidget {
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (rootWidget == null)
|
||||||
|
{
|
||||||
|
var widgetYaml = Game.Manifest.ChromeLayout.Select(a => MiniYaml.FromFile(a)).Aggregate(MiniYaml.Merge);
|
||||||
|
|
||||||
|
rootWidget = WidgetLoader.LoadWidget( widgetYaml.FirstOrDefault() );
|
||||||
|
rootWidget.Initialize();
|
||||||
|
rootWidget.InitDelegates();
|
||||||
|
}
|
||||||
|
return rootWidget;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static Widget rootWidget = null;
|
||||||
|
|
||||||
public Widget(Widget widget)
|
public Widget(Widget widget)
|
||||||
{
|
{
|
||||||
@@ -189,20 +203,20 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public virtual bool HandleInputInner(MouseInput mi) { return !ClickThrough; }
|
public virtual bool HandleInputInner(MouseInput mi) { return !ClickThrough; }
|
||||||
|
|
||||||
public static int ticksSinceLastMove = 0;
|
public static int TicksSinceLastMove = 0;
|
||||||
public static int2 lastMousePos;
|
public static int2 LastMousePos;
|
||||||
public bool HandleInput(World world, MouseInput mi)
|
public bool HandleInput(World world, MouseInput mi)
|
||||||
{
|
{
|
||||||
if (SelectedWidget != null && SelectedWidget.HandleMouseInputOuter(mi))
|
if (SelectedWidget != null && SelectedWidget.HandleMouseInputOuter(mi))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (Widget.RootWidget.HandleMouseInputOuter(mi))
|
if (RootWidget.HandleMouseInputOuter(mi))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (mi.Event == MouseInputEvent.Move)
|
if (mi.Event == MouseInputEvent.Move)
|
||||||
{
|
{
|
||||||
lastMousePos = mi.Location;
|
LastMousePos = mi.Location;
|
||||||
ticksSinceLastMove = 0;
|
TicksSinceLastMove = 0;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -308,20 +322,34 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public void CloseWindow()
|
public void CloseWindow()
|
||||||
{
|
{
|
||||||
Widget.RootWidget.GetWidget(WindowList.Pop()).Visible = false;
|
RootWidget.GetWidget(WindowList.Pop()).Visible = false;
|
||||||
if (WindowList.Count > 0)
|
if (WindowList.Count > 0)
|
||||||
Widget.RootWidget.GetWidget(WindowList.Peek()).Visible = true;
|
RootWidget.GetWidget(WindowList.Peek()).Visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Widget OpenWindow(string id)
|
public Widget OpenWindow(string id)
|
||||||
{
|
{
|
||||||
if (WindowList.Count > 0)
|
if (WindowList.Count > 0)
|
||||||
Widget.RootWidget.GetWidget(WindowList.Peek()).Visible = false;
|
RootWidget.GetWidget(WindowList.Peek()).Visible = false;
|
||||||
WindowList.Push(id);
|
WindowList.Push(id);
|
||||||
var window = Widget.RootWidget.GetWidget(id);
|
var window = RootWidget.GetWidget(id);
|
||||||
window.Visible = true;
|
window.Visible = true;
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void DoTick(World world)
|
||||||
|
{
|
||||||
|
RootWidget.Tick(world);
|
||||||
|
|
||||||
|
if (!world.GameHasStarted) return;
|
||||||
|
if (world.LocalPlayer == null) return;
|
||||||
|
++TicksSinceLastMove;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DoDraw(World world)
|
||||||
|
{
|
||||||
|
RootWidget.Draw(world);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ContainerWidget : Widget {
|
class ContainerWidget : Widget {
|
||||||
|
|||||||
@@ -19,17 +19,17 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
public static Sprite GetChromeImage(World world, string name)
|
public static Sprite GetChromeImage(World world, string name)
|
||||||
{
|
{
|
||||||
return ChromeProvider.GetImage(Game.chrome.renderer, "chrome-" + world.LocalPlayer.Country.Race, name);
|
return ChromeProvider.GetImage(Game.Renderer, "chrome-" + world.LocalPlayer.Country.Race, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DrawRGBA(Sprite s, float2 pos)
|
public static void DrawRGBA(Sprite s, float2 pos)
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite(s,pos,"chrome");
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(s,pos,"chrome");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DrawSHP(Sprite s, float2 pos)
|
public static void DrawSHP(Sprite s, float2 pos)
|
||||||
{
|
{
|
||||||
Game.chrome.renderer.WorldSpriteRenderer.DrawSprite(s,pos,"chrome");
|
Game.Renderer.WorldSpriteRenderer.DrawSprite(s,pos,"chrome");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DrawPanel(string collection, Rectangle Bounds)
|
public static void DrawPanel(string collection, Rectangle Bounds)
|
||||||
@@ -55,7 +55,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public static void FillRectWithColor(Rectangle r, Color c)
|
public static void FillRectWithColor(Rectangle r, Color c)
|
||||||
{
|
{
|
||||||
Game.chrome.lineRenderer.FillRect(new RectangleF(
|
Game.Renderer.LineRenderer.FillRect(new RectangleF(
|
||||||
Game.viewport.Location.X + r.X,
|
Game.viewport.Location.X + r.X,
|
||||||
Game.viewport.Location.Y + r.Y,
|
Game.viewport.Location.Y + r.Y,
|
||||||
r.Width, r.Height), c);
|
r.Width, r.Height), c);
|
||||||
@@ -64,7 +64,7 @@ namespace OpenRA.Widgets
|
|||||||
public static int[] GetBorderSizes(string collection)
|
public static int[] GetBorderSizes(string collection)
|
||||||
{
|
{
|
||||||
var images = new[] { "border-t", "border-b", "border-l", "border-r" };
|
var images = new[] { "border-t", "border-b", "border-l", "border-r" };
|
||||||
var ss = images.Select(i => ChromeProvider.GetImage(Game.chrome.renderer, "dialog4", i)).ToArray();
|
var ss = images.Select(i => ChromeProvider.GetImage(Game.Renderer, "dialog4", i)).ToArray();
|
||||||
return new[] { (int)ss[0].size.Y, (int)ss[1].size.Y, (int)ss[2].size.X, (int)ss[3].size.X };
|
return new[] { (int)ss[0].size.Y, (int)ss[1].size.Y, (int)ss[2].size.X, (int)ss[3].size.X };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ namespace OpenRA.Widgets
|
|||||||
public static void DrawPanelPartial(string collection, Rectangle Bounds, PanelSides ps)
|
public static void DrawPanelPartial(string collection, Rectangle Bounds, PanelSides ps)
|
||||||
{
|
{
|
||||||
var images = new[] { "border-t", "border-b", "border-l", "border-r", "corner-tl", "corner-tr", "corner-bl", "corner-br", "background" };
|
var images = new[] { "border-t", "border-b", "border-l", "border-r", "corner-tl", "corner-tr", "corner-bl", "corner-br", "background" };
|
||||||
var ss = images.Select(i => ChromeProvider.GetImage(Game.chrome.renderer, collection, i)).ToArray();
|
var ss = images.Select(i => ChromeProvider.GetImage(Game.Renderer, collection, i)).ToArray();
|
||||||
|
|
||||||
// Background
|
// Background
|
||||||
FillRectWithSprite(new Rectangle(Bounds.Left + (int)ss[2].size.X,
|
FillRectWithSprite(new Rectangle(Bounds.Left + (int)ss[2].size.X,
|
||||||
@@ -128,7 +128,7 @@ namespace OpenRA.Widgets
|
|||||||
if (ps.HasFlags(PanelSides.Right | PanelSides.Bottom))
|
if (ps.HasFlags(PanelSides.Right | PanelSides.Bottom))
|
||||||
DrawRGBA(ss[7], new float2(Bounds.Right - ss[7].size.X, Bounds.Bottom - ss[7].size.Y));
|
DrawRGBA(ss[7], new float2(Bounds.Right - ss[7].size.X, Bounds.Bottom - ss[7].size.Y));
|
||||||
|
|
||||||
Game.chrome.renderer.RgbaSpriteRenderer.Flush();
|
Game.Renderer.RgbaSpriteRenderer.Flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
public override void DrawInner(World world)
|
public override void DrawInner(World world)
|
||||||
{
|
{
|
||||||
if (Widget.ticksSinceLastMove < worldTooltipDelay || world == null || world.LocalPlayer == null)
|
if (Widget.TicksSinceLastMove < worldTooltipDelay || world == null || world.LocalPlayer == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var actor = world.FindUnitsAtMouse(Widget.lastMousePos).FirstOrDefault();
|
var actor = world.FindUnitsAtMouse(Widget.LastMousePos).FirstOrDefault();
|
||||||
if (actor == null) return;
|
if (actor == null) return;
|
||||||
|
|
||||||
var text = actor.Info.Traits.Contains<ValuedInfo>()
|
var text = actor.Info.Traits.Contains<ValuedInfo>()
|
||||||
@@ -37,7 +37,7 @@ namespace OpenRA.Widgets
|
|||||||
? "" : "{0}".F(actor.Owner.PlayerName);
|
? "" : "{0}".F(actor.Owner.PlayerName);
|
||||||
var text3 = (actor.Owner == world.LocalPlayer || actor.Owner.NonCombatant)
|
var text3 = (actor.Owner == world.LocalPlayer || actor.Owner.NonCombatant)
|
||||||
? "" : " ({0})".F(world.LocalPlayer.Stances[actor.Owner]);
|
? "" : " ({0})".F(world.LocalPlayer.Stances[actor.Owner]);
|
||||||
var renderer = Game.chrome.renderer;
|
var renderer = Game.Renderer;
|
||||||
|
|
||||||
var sz = renderer.BoldFont.Measure(text);
|
var sz = renderer.BoldFont.Measure(text);
|
||||||
var sz2 = renderer.RegularFont.Measure(text2);
|
var sz2 = renderer.RegularFont.Measure(text2);
|
||||||
@@ -51,23 +51,23 @@ namespace OpenRA.Widgets
|
|||||||
sz.Y += 24;
|
sz.Y += 24;
|
||||||
|
|
||||||
WidgetUtils.DrawPanel("dialog4", Rectangle.FromLTRB(
|
WidgetUtils.DrawPanel("dialog4", Rectangle.FromLTRB(
|
||||||
Widget.lastMousePos.X + 20, Widget.lastMousePos.Y + 20,
|
Widget.LastMousePos.X + 20, Widget.LastMousePos.Y + 20,
|
||||||
Widget.lastMousePos.X + sz.X + 20, Widget.lastMousePos.Y + sz.Y + 20));
|
Widget.LastMousePos.X + sz.X + 20, Widget.LastMousePos.Y + sz.Y + 20));
|
||||||
|
|
||||||
renderer.BoldFont.DrawText(text,
|
renderer.BoldFont.DrawText(text,
|
||||||
new float2(Widget.lastMousePos.X + 30, Widget.lastMousePos.Y + 30), Color.White);
|
new float2(Widget.LastMousePos.X + 30, Widget.LastMousePos.Y + 30), Color.White);
|
||||||
|
|
||||||
if (text2 != "")
|
if (text2 != "")
|
||||||
{
|
{
|
||||||
renderer.RegularFont.DrawText(text2,
|
renderer.RegularFont.DrawText(text2,
|
||||||
new float2(Widget.lastMousePos.X + 65, Widget.lastMousePos.Y + 50), actor.Owner.Color);
|
new float2(Widget.LastMousePos.X + 65, Widget.LastMousePos.Y + 50), actor.Owner.Color);
|
||||||
|
|
||||||
renderer.RegularFont.DrawText(text3,
|
renderer.RegularFont.DrawText(text3,
|
||||||
new float2(Widget.lastMousePos.X + 65 + sz2.X, Widget.lastMousePos.Y + 50), Color.White);
|
new float2(Widget.LastMousePos.X + 65 + sz2.X, Widget.LastMousePos.Y + 50), Color.White);
|
||||||
|
|
||||||
WidgetUtils.DrawRGBA(
|
WidgetUtils.DrawRGBA(
|
||||||
ChromeProvider.GetImage(Game.chrome.renderer, "flags", actor.Owner.Country.Race),
|
ChromeProvider.GetImage(Game.Renderer, "flags", actor.Owner.Country.Race),
|
||||||
new float2(Widget.lastMousePos.X + 30, Widget.lastMousePos.Y + 50));
|
new float2(Widget.LastMousePos.X + 30, Widget.LastMousePos.Y + 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
renderer.RgbaSpriteRenderer.Flush();
|
renderer.RgbaSpriteRenderer.Flush();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace OpenRA
|
|||||||
TileSet.LoadTiles();
|
TileSet.LoadTiles();
|
||||||
Timer.Time( "Tileset: {0}" );
|
Timer.Time( "Tileset: {0}" );
|
||||||
|
|
||||||
WorldRenderer = new WorldRenderer(this, Game.renderer);
|
WorldRenderer = new WorldRenderer(this, Game.Renderer);
|
||||||
Timer.Time("renderer: {0}");
|
Timer.Time("renderer: {0}");
|
||||||
|
|
||||||
WorldActor = CreateActor("World", new int2(int.MaxValue, int.MaxValue), null);
|
WorldActor = CreateActor("World", new int2(int.MaxValue, int.MaxValue), null);
|
||||||
@@ -105,7 +105,7 @@ namespace OpenRA
|
|||||||
PathFinder = new PathFinder(this);
|
PathFinder = new PathFinder(this);
|
||||||
Timer.Time( "hooks, pathing: {0}" );
|
Timer.Time( "hooks, pathing: {0}" );
|
||||||
|
|
||||||
Minimap = new Minimap(this, Game.renderer);
|
Minimap = new Minimap(this, Game.Renderer);
|
||||||
Timer.Time( "minimap: {0}" );
|
Timer.Time( "minimap: {0}" );
|
||||||
|
|
||||||
Timer.Time( "----end World.ctor" );
|
Timer.Time( "----end World.ctor" );
|
||||||
|
|||||||
Reference in New Issue
Block a user