SetTargetSilently for DrawLineToTarget

This commit is contained in:
alzeih
2010-07-26 13:57:53 +12:00
parent 526bb3e042
commit 925ca2bb73
10 changed files with 89 additions and 7 deletions

View File

@@ -12,6 +12,7 @@ using System.Linq;
using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using System.Drawing;
namespace OpenRA.Mods.RA.Activities
{
@@ -71,6 +72,12 @@ namespace OpenRA.Mods.RA.Activities
actor.traits.WithInterface<IMove>().FirstOrDefault().SetPosition(actor, self.Location);
actor.CancelActivity();
actor.QueueActivity(new Move(exitTile.Value, 0));
if (actor.Owner == self.World.LocalPlayer)
{
var line = actor.traits.GetOrDefault<DrawLineToTarget>();
if (line != null)
line.SetTargetSilently(self, Target.FromCell(exitTile.Value), Color.Green);
}
});
return this;

View File

@@ -11,7 +11,8 @@
using OpenRA.Mods.RA.Activities;
using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using OpenRA.Traits.Activities;
using System.Drawing;
namespace OpenRA.Mods.RA
{
@@ -39,8 +40,17 @@ namespace OpenRA.Mods.RA
harvester.Deliver(harv, self);
harv.QueueActivity( new CallFunc( () => dockedHarv = null, false ) );
if (harvester.LastHarvestedCell != int2.Zero)
harv.QueueActivity( new Move(harvester.LastHarvestedCell, 5) );
if (harvester.LastHarvestedCell != int2.Zero)
{
harv.QueueActivity( new Move(harvester.LastHarvestedCell, 5) );
if (harv.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w =>
{
var line = harv.traits.GetOrDefault<DrawLineToTarget>();
if (line != null)
line.SetTargetSilently(harv, Target.FromCell(harvester.LastHarvestedCell), Color.Green);
});
}
harv.QueueActivity( new Harvest() );
});
}));

View File

@@ -12,6 +12,7 @@ using System.Linq;
using OpenRA.Mods.RA.Activities;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using System.Drawing;
namespace OpenRA.Mods.RA
{
@@ -47,6 +48,13 @@ namespace OpenRA.Mods.RA
{
self.CancelActivity();
self.QueueActivity(new Move(order.TargetActor, 1));
if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w =>
{
var line = self.traits.GetOrDefault<DrawLineToTarget>();
if (line != null)
line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green);
});
self.QueueActivity(new Repair(order.TargetActor));
}
}

View File

@@ -11,6 +11,7 @@
using OpenRA.Mods.RA.Activities;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using System.Drawing;
namespace OpenRA.Mods.RA
{
@@ -39,6 +40,13 @@ namespace OpenRA.Mods.RA
{
self.CancelActivity();
self.QueueActivity(new Move(order.TargetActor, 1));
if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w =>
{
var line = self.traits.GetOrDefault<DrawLineToTarget>();
if (line != null)
line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green);
});
self.QueueActivity(new Infiltrate(order.TargetActor));
}
}