Merge pull request #8725 from reaperrr/bye-rendersimple-pr1
Step towards removing RenderSimple and its derivatives (Part 1)
This commit is contained in:
@@ -14,15 +14,15 @@ using OpenRA.Graphics;
|
||||
namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
[Desc("Invisible during games.")]
|
||||
class RenderEditorOnlyInfo : RenderSimpleInfo
|
||||
class RenderSpritesEditorOnlyInfo : RenderSpritesInfo
|
||||
{
|
||||
public override object Create(ActorInitializer init) { return new RenderEditorOnly(init, this); }
|
||||
public override object Create(ActorInitializer init) { return new RenderSpritesEditorOnly(init, this); }
|
||||
}
|
||||
|
||||
class RenderEditorOnly : RenderSimple
|
||||
class RenderSpritesEditorOnly : RenderSprites
|
||||
{
|
||||
public RenderEditorOnly(ActorInitializer init, RenderEditorOnlyInfo info)
|
||||
: base(init, info, () => 0) { }
|
||||
public RenderSpritesEditorOnly(ActorInitializer init, RenderSpritesEditorOnlyInfo info)
|
||||
: base(init, info) { }
|
||||
|
||||
public override IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr) { return SpriteRenderable.None; }
|
||||
}
|
||||
@@ -52,19 +52,20 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public void Tick(Actor self)
|
||||
{
|
||||
if (!IsModifying && !string.IsNullOrEmpty(wsb.Info.Sequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, wsb.Info.Sequence)))
|
||||
{
|
||||
if (wsb.DefaultAnimation.CurrentSequence.Name != NormalizeHarvesterSequence(self, wsb.Info.Sequence))
|
||||
wsb.DefaultAnimation.ReplaceAnim(NormalizeHarvesterSequence(self, wsb.Info.Sequence));
|
||||
}
|
||||
var baseSequence = wsb.NormalizeSequence(self, wsb.Info.Sequence);
|
||||
var sequence = NormalizeHarvesterSequence(self, baseSequence);
|
||||
if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence) && wsb.DefaultAnimation.CurrentSequence.Name != sequence)
|
||||
wsb.DefaultAnimation.ReplaceAnim(sequence);
|
||||
}
|
||||
|
||||
public void Harvested(Actor self, ResourceType resource)
|
||||
{
|
||||
if (!IsModifying && !string.IsNullOrEmpty(Info.HarvestSequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, Info.HarvestSequence)))
|
||||
var baseSequence = wsb.NormalizeSequence(self, Info.HarvestSequence);
|
||||
var sequence = NormalizeHarvesterSequence(self, baseSequence);
|
||||
if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence))
|
||||
{
|
||||
IsModifying = true;
|
||||
wsb.PlayCustomAnimation(self, NormalizeHarvesterSequence(self, Info.HarvestSequence), () => IsModifying = false);
|
||||
wsb.PlayCustomAnimation(self, sequence, () => IsModifying = false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -81,8 +81,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public void PlayCustomAnimationRepeating(Actor self, string name)
|
||||
{
|
||||
DefaultAnimation.PlayThen(name,
|
||||
() => PlayCustomAnimationRepeating(self, name));
|
||||
var sequence = NormalizeSequence(self, name);
|
||||
DefaultAnimation.PlayThen(sequence, () => PlayCustomAnimationRepeating(self, sequence));
|
||||
}
|
||||
|
||||
public void PlayCustomAnimationBackwards(Actor self, string name, Action after = null)
|
||||
|
||||
Reference in New Issue
Block a user