Files
OpenRA/OpenRa.Game/Traits/LimitedAmmo.cs
2009-12-28 18:14:40 +13:00

30 lines
568 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenRa.Game.Traits
{
class LimitedAmmo : INotifyAttack, IPips
{
int ammo;
Actor self;
public LimitedAmmo(Actor self)
{
ammo = self.Info.Ammo;
this.self = self;
}
public bool HasAmmo() { return ammo > 0; }
public void Attacking(Actor self) { --ammo; }
public IEnumerable<PipType> GetPips()
{
return Graphics.Util.MakeArray(self.Info.Ammo,
i => ammo > i ? PipType.Green : PipType.Transparent);
}
}
}