some more overloads etc

This commit is contained in:
Chris Forbes
2011-03-13 18:10:23 +13:00
committed by Chris Forbes
parent c313920c7c
commit 981e57bde8

View File

@@ -4,48 +4,58 @@ namespace OpenRA.Mods.RA
{ {
public static class ActorExts public static class ActorExts
{ {
public static bool AppearsFriendlyTo(this Actor self, Actor toActor) public static bool AppearsFriendlyTo(this Actor self, Player toPlayer)
{ {
if (self.HasTrait<Spy>()) if (self.HasTrait<Spy>())
{ {
if (self.Trait<Spy>().Disguised) if (self.Trait<Spy>().Disguised)
{ {
//TODO: check if we can see through disguise //TODO: check if we can see through disguise
if ( toActor.Owner.Stances[self.Trait<Spy>().disguisedAsPlayer] == Stance.Ally) if ( toPlayer.Stances[self.Trait<Spy>().disguisedAsPlayer] == Stance.Ally)
return true; return true;
} }
else else
{ {
if (toActor.Owner.Stances[self.Owner] == Stance.Ally) if (toPlayer.Stances[self.Owner] == Stance.Ally)
return true; return true;
} }
return false; return false;
} }
return toActor.Owner.Stances[self.Owner] == Stance.Ally; return toPlayer.Stances[self.Owner] == Stance.Ally;
} }
public static bool AppearsHostileTo(this Actor self, Actor toActor) public static bool AppearsHostileTo(this Actor self, Player toPlayer)
{ {
if (self.HasTrait<Spy>()) if (self.HasTrait<Spy>())
{ {
if (toActor.Owner.Stances[self.Owner] == Stance.Ally) if (toPlayer.Stances[self.Owner] == Stance.Ally)
return false; return false;
if (self.Trait<Spy>().Disguised) if (self.Trait<Spy>().Disguised)
{ {
//TODO: check if we can see through disguise //TODO: check if we can see through disguise
if ( toActor.Owner.Stances[self.Trait<Spy>().disguisedAsPlayer] == Stance.Enemy) if (toPlayer.Stances[self.Trait<Spy>().disguisedAsPlayer] == Stance.Enemy)
return true; return true;
} }
else else
{ {
if (toActor.Owner.Stances[self.Owner] == Stance.Enemy) if (toPlayer.Stances[self.Owner] == Stance.Enemy)
return true; return true;
} }
return false; return false;
} }
return toActor.Owner.Stances[self.Owner] == Stance.Enemy; return toPlayer.Stances[self.Owner] == Stance.Enemy;
} }
public static bool AppearsHostileTo(this Actor self, Actor toActor)
{
return AppearsHostileTo(self, toActor.Owner);
}
public static bool AppearsFriendlyTo(this Actor self, Actor toActor)
{
return AppearsFriendlyTo(self, toActor.Owner);
}
} }
} }