Fix C&C options menu fade effect.
This commit is contained in:
@@ -190,7 +190,8 @@ namespace OpenRA
|
|||||||
else
|
else
|
||||||
if (orderManager.NetFrameNumber == 0)
|
if (orderManager.NetFrameNumber == 0)
|
||||||
orderManager.LastTickTime = Environment.TickCount;
|
orderManager.LastTickTime = Environment.TickCount;
|
||||||
|
|
||||||
|
world.TickRender(worldRenderer);
|
||||||
viewport.Tick();
|
viewport.Tick();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ namespace OpenRA.Traits
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface ITick { void Tick(Actor self); }
|
public interface ITick { void Tick(Actor self); }
|
||||||
|
public interface ITickRender { void TickRender(WorldRenderer wr, Actor self); }
|
||||||
public interface IRender { IEnumerable<Renderable> Render(Actor self, WorldRenderer wr); }
|
public interface IRender { IEnumerable<Renderable> Render(Actor self, WorldRenderer wr); }
|
||||||
public interface IAutoSelectionSize { int2 SelectionSize(Actor self); }
|
public interface IAutoSelectionSize { int2 SelectionSize(Actor self); }
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using OpenRA.Effects;
|
using OpenRA.Effects;
|
||||||
using OpenRA.FileFormats;
|
using OpenRA.FileFormats;
|
||||||
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Network;
|
using OpenRA.Network;
|
||||||
using OpenRA.Orders;
|
using OpenRA.Orders;
|
||||||
using OpenRA.Support;
|
using OpenRA.Support;
|
||||||
@@ -192,7 +193,12 @@ namespace OpenRA
|
|||||||
|
|
||||||
while (frameEndActions.Count != 0)
|
while (frameEndActions.Count != 0)
|
||||||
frameEndActions.Dequeue()(this);
|
frameEndActions.Dequeue()(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// For things that want to update their render state once per tick, ignoring pause state
|
||||||
|
public void TickRender(WorldRenderer wr)
|
||||||
|
{
|
||||||
|
ActorsWithTrait<ITickRender>().Do(x => x.Trait.TickRender(wr, x.Actor));
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Actor> Actors { get { return actors; } }
|
public IEnumerable<Actor> Actors { get { return actors; } }
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using OpenRA.FileFormats;
|
using OpenRA.FileFormats;
|
||||||
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Mods.Cnc
|
namespace OpenRA.Mods.Cnc
|
||||||
@@ -22,7 +23,7 @@ namespace OpenRA.Mods.Cnc
|
|||||||
public object Create(ActorInitializer init) { return new CncMenuPaletteEffect(this); }
|
public object Create(ActorInitializer init) { return new CncMenuPaletteEffect(this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CncMenuPaletteEffect : IPaletteModifier, ITick
|
public class CncMenuPaletteEffect : IPaletteModifier, ITickRender
|
||||||
{
|
{
|
||||||
public enum EffectType { None, Black, Desaturated }
|
public enum EffectType { None, Black, Desaturated }
|
||||||
public readonly CncMenuPaletteEffectInfo Info;
|
public readonly CncMenuPaletteEffectInfo Info;
|
||||||
@@ -40,7 +41,7 @@ namespace OpenRA.Mods.Cnc
|
|||||||
to = type;
|
to = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Tick(Actor self)
|
public void TickRender(WorldRenderer wr, Actor self)
|
||||||
{
|
{
|
||||||
if (remainingFrames > 0)
|
if (remainingFrames > 0)
|
||||||
remainingFrames--;
|
remainingFrames--;
|
||||||
|
|||||||
Reference in New Issue
Block a user