cleaning up pip colors on APC/LST/TRAN

This commit is contained in:
Bob
2010-04-02 21:27:48 +12:00
parent 5abffd3c2c
commit fa4c5c3fea
4 changed files with 21 additions and 16 deletions

View File

@@ -92,16 +92,7 @@ namespace OpenRA.Traits
static PipType GetPipForPassenger(Actor a) static PipType GetPipForPassenger(Actor a)
{ {
// probably not actually right yet; fix to match real-ra return a.traits.Get<Passenger>().ColorOfCargoPip( a );
if (a.traits.Contains<AutoHeal>())
return PipType.Yellow;
if (!a.traits.Contains<AttackBase>())
return PipType.Yellow; // noncombat [E6,SPY,THF]
// todo: fix E7 color again.
return PipType.Green;
} }
public void Load(Actor self, Actor a) public void Load(Actor self, Actor a)

View File

@@ -100,11 +100,9 @@ namespace OpenRA.Traits
{ {
// todo: pip colors based on ResourceTypeInfo // todo: pip colors based on ResourceTypeInfo
if (n * 1.0f / self.Info.Traits.Get<HarvesterInfo>().Capacity > i * 1.0f / numPips) if (n * 1.0f / self.Info.Traits.Get<HarvesterInfo>().Capacity > i * 1.0f / numPips)
{
yield return PipType.Yellow; yield return PipType.Yellow;
continue; else
} yield return PipType.Transparent;
yield return PipType.Transparent;
} }
} }
} }

View File

@@ -23,7 +23,10 @@ using OpenRA.Traits.Activities;
namespace OpenRA.Traits namespace OpenRA.Traits
{ {
class PassengerInfo : StatelessTraitInfo<Passenger> {} class PassengerInfo : StatelessTraitInfo<Passenger>
{
public readonly PipType ColorOfCargoPip = PipType.Green;
}
class Passenger : IIssueOrder, IResolveOrder class Passenger : IIssueOrder, IResolveOrder
{ {
@@ -55,5 +58,10 @@ namespace OpenRA.Traits
self.QueueActivity(new EnterTransport(self, order.TargetActor)); self.QueueActivity(new EnterTransport(self, order.TargetActor));
} }
} }
public PipType ColorOfCargoPip( Actor self )
{
return self.Info.Traits.Get<PassengerInfo>().ColorOfCargoPip;
}
} }
} }

View File

@@ -2510,6 +2510,8 @@ E6:
Unit: Unit:
HP: 25 HP: 25
Speed: 4 Speed: 4
Passenger:
ColorOfCargoPip: Yellow
EngineerCapture: EngineerCapture:
TakeCover: TakeCover:
-AutoTarget: -AutoTarget:
@@ -2530,6 +2532,8 @@ SPY:
HP: 25 HP: 25
Sight: 5 Sight: 5
Speed: 4 Speed: 4
Passenger:
ColorOfCargoPip: Yellow
RenderSpy: RenderSpy:
TakeCover: TakeCover:
Spy: Spy:
@@ -2552,6 +2556,8 @@ THF:
HP: 25 HP: 25
Sight: 5 Sight: 5
Speed: 4 Speed: 4
Passenger:
ColorOfCargoPip: Yellow
TakeCover: TakeCover:
Thief: Thief:
-AutoTarget: -AutoTarget:
@@ -2594,6 +2600,8 @@ MEDI:
HP: 80 HP: 80
Sight: 3 Sight: 3
Speed: 4 Speed: 4
Passenger:
ColorOfCargoPip: Yellow
AutoHeal: AutoHeal:
AttackBase: AttackBase:
PrimaryWeapon: Heal PrimaryWeapon: Heal
@@ -2666,4 +2674,4 @@ WOOD:
CAMERA: CAMERA:
Unit: Unit:
HP:1000 HP:1000
Sight: 10 Sight: 10