Don't give a levelup crate if the unit can't gain experience

This commit is contained in:
Paul Chote
2011-05-22 12:37:31 +12:00
parent 668dfa1f6f
commit 4f7074fdf9
2 changed files with 8 additions and 1 deletions

View File

@@ -19,7 +19,13 @@ namespace OpenRA.Mods.RA
{
public LevelUpCrateAction(Actor self, LevelUpCrateActionInfo info)
: base(self,info) {}
public override int GetSelectionShares(Actor collector)
{
var ge = collector.TraitOrDefault<GainsExperience>();
return ge != null && ge.Level < ge.MaxLevel ? info.SelectionShares : 0;
}
public override void Activate(Actor collector)
{
collector.World.AddFrameEndTask(w =>

View File

@@ -56,6 +56,7 @@ namespace OpenRA.Mods.RA
int Experience = 0;
[Sync]
public int Level { get; private set; }
public int MaxLevel { get { return Levels.Length; } }
public void GiveOneLevel()
{