use new AttackDefault trait instead of AttackBase; make AttackBase abstract

This commit is contained in:
Bob
2010-10-23 21:11:38 +13:00
committed by Chris Forbes
parent 25582cb9f8
commit e091781104
3 changed files with 91 additions and 81 deletions

View File

@@ -19,7 +19,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
public class AttackBaseInfo : ITraitInfo
public abstract class AttackBaseInfo : ITraitInfo
{
[WeaponReference]
public readonly string PrimaryWeapon = null;
@@ -39,10 +39,10 @@ namespace OpenRA.Mods.RA
public readonly float ScanTimeAverage = 2f;
public readonly float ScanTimeSpread = .5f;
public virtual object Create(ActorInitializer init) { return new AttackBase(init.self); }
public abstract object Create(ActorInitializer init);
}
public class AttackBase : IIssueOrder, IResolveOrder, ITick, IExplodeModifier, IOrderVoice
public abstract class AttackBase : IIssueOrder, IResolveOrder, ITick, IExplodeModifier, IOrderVoice
{
[Sync]
int nextScanTime = 0;
@@ -344,4 +344,14 @@ namespace OpenRA.Mods.RA
}
}
}
public class AttackDefaultInfo : AttackBaseInfo
{
public override object Create( ActorInitializer init ) { return new AttackDefault( init.self ); }
}
public class AttackDefault : AttackBase
{
public AttackDefault( Actor self ) : base( self ) { }
}
}