Clean up Harvester and FindResources unblocking
This commit is contained in:
@@ -67,17 +67,10 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
if (!harv.IsEmpty)
|
if (!harv.IsEmpty)
|
||||||
return deliver;
|
return deliver;
|
||||||
|
|
||||||
var cachedPosition = self.Location;
|
|
||||||
harv.UnblockRefinery(self);
|
|
||||||
|
|
||||||
// Only do this if UnblockRefinery did nothing.
|
|
||||||
if (self.Location == cachedPosition)
|
|
||||||
{
|
|
||||||
var unblockCell = harv.LastHarvestedCell ?? (self.Location + harvInfo.UnblockCell);
|
var unblockCell = harv.LastHarvestedCell ?? (self.Location + harvInfo.UnblockCell);
|
||||||
var moveTo = mobile.NearestMoveableCell(unblockCell, 2, 5);
|
var moveTo = mobile.NearestMoveableCell(unblockCell, 2, 5);
|
||||||
self.QueueActivity(mobile.MoveTo(moveTo, 1));
|
self.QueueActivity(mobile.MoveTo(moveTo, 1));
|
||||||
self.SetTargetLine(Target.FromCell(self.World, moveTo), Color.Gray, false);
|
self.SetTargetLine(Target.FromCell(self.World, moveTo), Color.Gray, false);
|
||||||
}
|
|
||||||
|
|
||||||
var randFrames = self.World.SharedRandom.Next(100, 175);
|
var randFrames = self.World.SharedRandom.Next(100, 175);
|
||||||
return ActivityUtils.SequenceActivities(NextActivity, new Wait(randFrames), this);
|
return ActivityUtils.SequenceActivities(NextActivity, new Wait(randFrames), this);
|
||||||
|
|||||||
@@ -215,17 +215,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
var moveTo = mobile.NearestMoveableCell(unblockCell, 1, 5);
|
var moveTo = mobile.NearestMoveableCell(unblockCell, 1, 5);
|
||||||
self.QueueActivity(mobile.MoveTo(moveTo, 1));
|
self.QueueActivity(mobile.MoveTo(moveTo, 1));
|
||||||
self.SetTargetLine(Target.FromCell(self.World, moveTo), Color.Gray, false);
|
self.SetTargetLine(Target.FromCell(self.World, moveTo), Color.Gray, false);
|
||||||
|
|
||||||
var territory = self.World.WorldActor.TraitOrDefault<ResourceClaimLayer>();
|
|
||||||
if (territory != null)
|
|
||||||
territory.ClaimResource(self, moveTo);
|
|
||||||
|
|
||||||
var notify = self.TraitsImplementing<INotifyHarvesterAction>();
|
|
||||||
var next = new FindResources(self);
|
|
||||||
foreach (var n in notify)
|
|
||||||
n.MovingToResources(self, moveTo, next);
|
|
||||||
|
|
||||||
self.QueueActivity(next);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user