Move INotifyBlockingMove to Common and require explicit implementation
This commit is contained in:
@@ -319,8 +319,6 @@ namespace OpenRA.Traits
|
||||
bool IsBlocking(Actor self, CPos cell);
|
||||
}
|
||||
|
||||
public interface INotifyBlockingMove { void OnNotifyBlockingMove(Actor self, Actor blocking); }
|
||||
|
||||
public interface IFacing
|
||||
{
|
||||
int TurnSpeed { get; }
|
||||
|
||||
@@ -78,6 +78,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
readonly Mobile mobile;
|
||||
Dictionary<ResourceTypeInfo, int> contents = new Dictionary<ResourceTypeInfo, int>();
|
||||
bool idleSmart = true;
|
||||
int idleDuration;
|
||||
|
||||
[Sync] public Actor OwnerLinkedProc = null;
|
||||
[Sync] public Actor LastLinkedProc = null;
|
||||
@@ -233,7 +234,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
}
|
||||
|
||||
public void OnNotifyBlockingMove(Actor self, Actor blocking)
|
||||
void INotifyBlockingMove.OnNotifyBlockingMove(Actor self, Actor blocking)
|
||||
{
|
||||
// I'm blocking someone else from moving to my location:
|
||||
var act = self.GetCurrentActivity();
|
||||
@@ -253,7 +254,6 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
}
|
||||
|
||||
int idleDuration;
|
||||
public void TickIdle(Actor self)
|
||||
{
|
||||
// Should we be intelligent while idle?
|
||||
|
||||
@@ -770,7 +770,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
public Activity MoveFollow(Actor self, Target target, WDist minRange, WDist maxRange) { return new Follow(self, target, minRange, maxRange); }
|
||||
public Activity MoveTo(Func<List<CPos>> pathFunc) { return new Move(self, pathFunc); }
|
||||
|
||||
public void OnNotifyBlockingMove(Actor self, Actor blocking)
|
||||
void INotifyBlockingMove.OnNotifyBlockingMove(Actor self, Actor blocking)
|
||||
{
|
||||
if (self.IsIdle && self.AppearsFriendlyTo(blocking))
|
||||
Nudge(self, blocking, true);
|
||||
|
||||
@@ -50,6 +50,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
public interface IRenderActorPreviewInfo : ITraitInfo { IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init); }
|
||||
public interface ICruiseAltitudeInfo : ITraitInfo { WDist GetCruiseAltitude(); }
|
||||
|
||||
[RequireExplicitImplementation]
|
||||
public interface INotifyBlockingMove { void OnNotifyBlockingMove(Actor self, Actor blocking); }
|
||||
|
||||
public interface IUpgradable
|
||||
{
|
||||
IEnumerable<string> UpgradeTypes { get; }
|
||||
|
||||
Reference in New Issue
Block a user