UIM no longer references Mobile by name (uses IOccupySpace)

This commit is contained in:
Bob
2009-12-09 00:50:08 +13:00
parent 12ac96a885
commit b060b2ef47
3 changed files with 25 additions and 34 deletions

View File

@@ -99,8 +99,6 @@ namespace OpenRa.Game.Traits.Activities
unit.Facing,
0 );
Game.UnitInfluence.Update( mobile );
move.TickMove( self, mobile, this );
return null;
@@ -129,10 +127,10 @@ namespace OpenRa.Game.Traits.Activities
return null;
}
Game.UnitInfluence.Remove( mobile );
Game.UnitInfluence.Remove( self, mobile );
var newPath = getPath(self, mobile).TakeWhile(a => a != self.Location).ToList();
Game.UnitInfluence.Add( mobile );
Game.UnitInfluence.Add( self, mobile );
if (newPath.Count != 0)
path = newPath;
@@ -219,7 +217,6 @@ namespace OpenRa.Game.Traits.Activities
moveFraction - moveFractionTotal );
mobile.fromCell = mobile.toCell;
mobile.toCell = nextCell.Value;
Game.UnitInfluence.Update( mobile );
return ret;
}
else
@@ -232,7 +229,6 @@ namespace OpenRa.Game.Traits.Activities
unit.Facing,
moveFraction - moveFractionTotal );
mobile.fromCell = mobile.toCell;
Game.UnitInfluence.Update( mobile );
return ret2;
}
}

View File

@@ -7,25 +7,25 @@ namespace OpenRa.Game.Traits
{
class Mobile : IOrder, IOccupySpace
{
public Actor self;
readonly Actor self;
int2 __fromCell;
public int2 fromCell
{
get { return __fromCell; }
set { Game.UnitInfluence.Remove(this); __fromCell = value; Game.UnitInfluence.Add(this); }
set { Game.UnitInfluence.Remove(self, this); __fromCell = value; Game.UnitInfluence.Add(self, this); }
}
public int2 toCell
{
get { return self.Location; }
set { Game.UnitInfluence.Remove(this); self.Location = value; Game.UnitInfluence.Add(this); }
set { Game.UnitInfluence.Remove(self, this); self.Location = value; Game.UnitInfluence.Add(self, this); }
}
public Mobile(Actor self)
{
this.self = self;
fromCell = toCell;
Game.UnitInfluence.Update(this);
__fromCell = toCell;
Game.UnitInfluence.Add(self, this);
}
public Order IssueOrder(Actor self, int2 xy, bool lmb, Actor underCursor)