#90 V2 animations

This commit is contained in:
Chris Forbes
2009-12-04 18:43:56 +13:00
parent 68a42ac5e4
commit 49fac7f007
4 changed files with 28 additions and 1 deletions

View File

@@ -158,6 +158,7 @@
<Compile Include="Traits\RenderSimple.cs" />
<Compile Include="Traits\RenderUnit.cs" />
<Compile Include="Traits\RenderUnitMuzzleFlash.cs" />
<Compile Include="Traits\RenderUnitReload.cs" />
<Compile Include="Traits\RenderUnitRotor.cs" />
<Compile Include="Traits\RenderUnitSpinner.cs" />
<Compile Include="Traits\RenderUnitTurreted.cs" />

View File

@@ -19,6 +19,11 @@ namespace OpenRa.Game.Traits
return target != null;
}
public bool IsReloading()
{
return (primaryFireDelay > 0) || (secondaryFireDelay > 0);
}
public virtual void Tick(Actor self)
{
if (primaryFireDelay > 0) --primaryFireDelay;

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenRa.Game.Traits
{
class RenderUnitReload : RenderUnit
{
public RenderUnitReload(Actor self)
: base(self) { }
public override void Tick(Actor self)
{
base.Tick(self);
var attack = self.traits.WithInterface<AttackBase>().FirstOrDefault();
if (attack != null)
anim.ReplaceAnim(attack.IsReloading() ? "empty-idle" : "idle");
}
}
}

View File

@@ -15,7 +15,7 @@ MNLY
[V2RL]
Description=V2 Rocket
Traits=Unit, Mobile, AttackBase, RenderUnit
Traits=Unit, Mobile, AttackBase, RenderUnitReload
[1TNK]
Description=Light Tank
Traits=Unit, Mobile, Turreted, AttackTurreted, RenderUnitTurreted