IActivity no longer passed Mobiles around.
This commit is contained in:
@@ -19,7 +19,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
|
||||
public IActivity NextActivity { get; set; }
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Cancel(Actor self, Mobile mobile)
|
||||
public void Cancel(Actor self)
|
||||
{
|
||||
Target = null;
|
||||
}
|
||||
|
||||
@@ -21,9 +21,10 @@ namespace OpenRa.Game.Traits.Activities
|
||||
|
||||
static readonly int2 refineryDeliverOffset = new int2( 1, 2 );
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
var mobile = self.traits.Get<Mobile>();
|
||||
|
||||
if( isDone )
|
||||
{
|
||||
@@ -74,7 +75,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Cancel(Actor self, Mobile mobile)
|
||||
public void Cancel(Actor self)
|
||||
{
|
||||
// TODO: allow canceling of deliver orders?
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
{
|
||||
public IActivity NextActivity { get; set; }
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
Game.world.AddFrameEndTask( _ =>
|
||||
{
|
||||
@@ -19,7 +19,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Cancel( Actor self, Mobile mobile )
|
||||
public void Cancel( Actor self )
|
||||
{
|
||||
// Cancel can't happen between this being moved to the head of the list, and it being Ticked.
|
||||
throw new InvalidOperationException( "DeployMcvAction: Cancel() should never occur." );
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
|
||||
public IActivity NextActivity { get; set; }
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
if (Target == null || Target.IsDead)
|
||||
return NextActivity;
|
||||
@@ -29,7 +29,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Cancel(Actor self, Mobile mobile)
|
||||
public void Cancel(Actor self)
|
||||
{
|
||||
Target = null;
|
||||
}
|
||||
|
||||
@@ -10,9 +10,10 @@ namespace OpenRa.Game.Traits.Activities
|
||||
public IActivity NextActivity { get; set; }
|
||||
bool isHarvesting = false;
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
var mobile = self.traits.Get<Mobile>();
|
||||
|
||||
if( isHarvesting ) return null;
|
||||
|
||||
@@ -57,6 +58,6 @@ namespace OpenRa.Game.Traits.Activities
|
||||
}
|
||||
}
|
||||
|
||||
public void Cancel(Actor self, Mobile mobile) { }
|
||||
public void Cancel(Actor self) { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
interface IActivity
|
||||
{
|
||||
IActivity NextActivity { get; set; }
|
||||
IActivity Tick( Actor self, Mobile mobile );
|
||||
void Cancel( Actor self, Mobile mobile );
|
||||
IActivity Tick( Actor self );
|
||||
void Cancel( Actor self );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,9 +49,10 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return (u == null || u == self);
|
||||
}
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
var mobile = self.traits.Get<Mobile>();
|
||||
|
||||
if( move != null )
|
||||
{
|
||||
@@ -151,6 +152,12 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return 0.5f * ( CenterOfCell( from ) + CenterOfCell( to ) );
|
||||
}
|
||||
|
||||
public void Cancel( Actor self )
|
||||
{
|
||||
path = new List<int2>();
|
||||
NextActivity = null;
|
||||
}
|
||||
|
||||
abstract class MovePart
|
||||
{
|
||||
public readonly float2 from, to;
|
||||
@@ -254,11 +261,5 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Cancel( Actor self, Mobile mobile )
|
||||
{
|
||||
path = new List<int2>();
|
||||
NextActivity = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
this.desiredFacing = desiredFacing;
|
||||
}
|
||||
|
||||
public IActivity Tick( Actor self, Mobile mobile )
|
||||
public IActivity Tick( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRa.Game.Traits.Activities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Cancel( Actor self, Mobile mobile )
|
||||
public void Cancel( Actor self )
|
||||
{
|
||||
var unit = self.traits.Get<Unit>();
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace OpenRa.Game.Traits
|
||||
while( nextActivity != null )
|
||||
{
|
||||
currentActivity = nextActivity;
|
||||
nextActivity = nextActivity.Tick( self, this );
|
||||
nextActivity = nextActivity.Tick( self );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ namespace OpenRa.Game.Traits
|
||||
public void Cancel(Actor self)
|
||||
{
|
||||
if (currentActivity != null)
|
||||
currentActivity.Cancel(self, this);
|
||||
currentActivity.Cancel(self);
|
||||
}
|
||||
|
||||
public IEnumerable<int2> OccupiedCells()
|
||||
|
||||
Reference in New Issue
Block a user