This commit is contained in:
Matthew Bowra-Dean
2010-10-21 00:42:10 +13:00
committed by Chris Forbes
parent de92a2fc0c
commit f6df7a06f2
18 changed files with 25 additions and 3 deletions

View File

@@ -185,6 +185,7 @@ namespace OpenRA.Traits
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new MoveFlash(self.World, order.TargetLocation)); w.Add(new MoveFlash(self.World, order.TargetLocation));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
@@ -350,6 +351,7 @@ namespace OpenRA.Traits
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
line.SetTargetSilently(self, Target.FromCell(moveTo.Value), Color.Green); line.SetTargetSilently(self, Target.FromCell(moveTo.Value), Color.Green);

View File

@@ -196,7 +196,8 @@ namespace OpenRA.Mods.Cnc
{ {
var b = cargo.Unload(a); var b = cargo.Unload(a);
world.AddFrameEndTask(w2 => world.AddFrameEndTask(w2 =>
{ {
if (b.Destroyed) return;
w2.Add(b); w2.Add(b);
b.TraitsImplementing<IMove>().FirstOrDefault().SetPosition(b, a.Location); b.TraitsImplementing<IMove>().FirstOrDefault().SetPosition(b, a.Location);
b.QueueActivity(new Move(unload, 2)); b.QueueActivity(new Move(unload, 2));

View File

@@ -56,7 +56,8 @@ namespace OpenRA.Mods.Cnc
harv.QueueActivity( new Move(harvester.LastHarvestedCell, 5) ); harv.QueueActivity( new Move(harvester.LastHarvestedCell, 5) );
if (harv.Owner == self.World.LocalPlayer) if (harv.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
if (harv.Destroyed) return;
var line = harv.TraitOrDefault<DrawLineToTarget>(); var line = harv.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
line.SetTargetSilently(harv, Target.FromCell(harvester.LastHarvestedCell), Color.Green); line.SetTargetSilently(harv, Target.FromCell(harvester.LastHarvestedCell), Color.Green);

View File

@@ -65,6 +65,7 @@ namespace OpenRA.Mods.RA.Activities
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (actor.Destroyed) return;
w.Add(actor); w.Add(actor);
actor.TraitsImplementing<IMove>().FirstOrDefault().SetPosition(actor, self.Location); actor.TraitsImplementing<IMove>().FirstOrDefault().SetPosition(actor, self.Location);
actor.CancelActivity(); actor.CancelActivity();

View File

@@ -217,6 +217,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
if (order.TargetActor != null) if (order.TargetActor != null)
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));

View File

@@ -47,6 +47,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
if (order.TargetActor != null) if (order.TargetActor != null)
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));

View File

@@ -46,6 +46,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -39,6 +39,7 @@ namespace OpenRA.Mods.RA
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
if (self.Destroyed) return;
Combat.DoExplosion(self, info.PrimaryWeapon, self.CenterLocation, altitude); Combat.DoExplosion(self, info.PrimaryWeapon, self.CenterLocation, altitude);
// Remove from world // Remove from world

View File

@@ -50,6 +50,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -48,7 +48,8 @@ namespace OpenRA.Mods.RA
{ {
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -126,6 +126,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new MoveFlash(self.World, order.TargetLocation)); w.Add(new MoveFlash(self.World, order.TargetLocation));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
@@ -152,6 +153,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -80,6 +80,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new MoveFlash(self.World, order.TargetLocation)); w.Add(new MoveFlash(self.World, order.TargetLocation));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
@@ -109,6 +110,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -45,6 +45,7 @@ namespace OpenRA.Mods.RA
if (harv.Owner == self.World.LocalPlayer) if (harv.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
if (harv.Destroyed) return;
var line = harv.TraitOrDefault<DrawLineToTarget>(); var line = harv.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
line.SetTargetSilently(harv, Target.FromCell(harvester.LastHarvestedCell), Color.Green); line.SetTargetSilently(harv, Target.FromCell(harvester.LastHarvestedCell), Color.Green);

View File

@@ -80,6 +80,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -93,6 +93,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new MoveFlash(self.World, order.TargetLocation)); w.Add(new MoveFlash(self.World, order.TargetLocation));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
@@ -114,6 +115,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -77,6 +77,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
if (self.Destroyed) return;
w.Add(new FlashTarget(order.TargetActor)); w.Add(new FlashTarget(order.TargetActor));
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)

View File

@@ -68,6 +68,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
if (self.Destroyed) return;
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green); line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green);

View File

@@ -43,6 +43,7 @@ namespace OpenRA.Mods.RA
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask( w => self.World.AddFrameEndTask( w =>
{ {
if (self.Destroyed) return;
var line = self.TraitOrDefault<DrawLineToTarget>(); var line = self.TraitOrDefault<DrawLineToTarget>();
if (line != null) if (line != null)
line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green); line.SetTargetSilently(self, Target.FromActor(order.TargetActor), Color.Green);