Shift production audio onto ProductionQueue.

This commit is contained in:
Paul Chote
2011-01-29 12:58:56 +13:00
parent 9a4fb0a5b9
commit d45db9eb9c
6 changed files with 50 additions and 32 deletions

View File

@@ -20,15 +20,7 @@ namespace OpenRA.Traits
public readonly string CashTickDown = "cashdn1.aud";
// Build Palette
public readonly string BuildingSelectAudio = "abldgin1.aud";
public readonly string BuildingReadyAudio = "conscmp1.aud";
public readonly string BuildingCannotPlaceAudio = "nodeply1.aud";
public readonly string UnitSelectAudio = "train1.aud";
public readonly string UnitReadyAudio = "unitrdy1.aud";
public readonly string UnitReadyBlockedAudio = "nobuild1.aud";
public readonly string OnHoldAudio = "onhold1.aud";
public readonly string CancelledAudio = "cancld1.aud";
public readonly string NewOptions = "newopt1.aud";
// For manual powerup/down in ra-ng

View File

@@ -21,6 +21,13 @@ namespace OpenRA.Mods.RA
public readonly string Type = null;
public float BuildSpeed = 0.4f;
public readonly int LowPowerSlowdown = 3;
public readonly string ReadyAudio = "unitrdy1.aud";
public readonly string BlockedAudio = "nobuild1.aud";
public readonly string QueuedAudio = "train1.aud";
public readonly string OnHoldAudio = "onhold1.aud";
public readonly string CancelledAudio = "cancld1.aud";
public virtual object Create(ActorInitializer init) { return new ProductionQueue(init.self, init.self.Owner.PlayerActor, this); }
}
@@ -153,20 +160,19 @@ namespace OpenRA.Mods.RA
_ =>
{
var isBuilding = unit.Traits.Contains<BuildingInfo>();
var eva = self.World.WorldActor.Info.Traits.Get<EvaAlertsInfo>();
if (isBuilding && !hasPlayedSound)
{
Sound.PlayToPlayer(order.Player, eva.BuildingReadyAudio);
Sound.PlayToPlayer(order.Player, Info.ReadyAudio);
hasPlayedSound = true;
}
else if (!isBuilding)
{
if (BuildUnit(order.TargetString))
Sound.PlayToPlayer(order.Player, eva.UnitReadyAudio);
Sound.PlayToPlayer(order.Player, Info.ReadyAudio);
else if (!hasPlayedSound && time > 0)
{
Sound.PlayToPlayer(order.Player, eva.UnitReadyBlockedAudio);
Sound.PlayToPlayer(order.Player, Info.BlockedAudio);
hasPlayedSound = true;
}
}

View File

@@ -333,7 +333,6 @@ namespace OpenRA.Mods.RA.Widgets
void HandleBuildPalette( World world, string item, bool isLmb )
{
var unit = Rules.Info[item];
var eva = world.WorldActor.Info.Traits.Get<EvaAlertsInfo>();
var producing = CurrentQueue.AllQueued().FirstOrDefault( a => a.Item == item );
if (isLmb)
@@ -365,7 +364,7 @@ namespace OpenRA.Mods.RA.Widgets
// instant cancel of things we havent really started yet, and things that are finished
if (producing.Paused || producing.Done || producing.TotalCost == producing.RemainingCost)
{
Sound.Play(eva.CancelledAudio);
Sound.Play(CurrentQueue.Info.CancelledAudio);
int numberToCancel = Game.GetModifierKeys().HasModifier(Modifiers.Shift) ? 5 : 1;
if (Game.GetModifierKeys().HasModifier(Modifiers.Shift) &&
Game.GetModifierKeys().HasModifier(Modifiers.Ctrl))
@@ -376,7 +375,7 @@ namespace OpenRA.Mods.RA.Widgets
}
else
{
Sound.Play(eva.OnHoldAudio);
Sound.Play(CurrentQueue.Info.OnHoldAudio);
world.IssueOrder(Order.PauseProduction(CurrentQueue.self, item, true));
}
}
@@ -385,11 +384,7 @@ namespace OpenRA.Mods.RA.Widgets
void StartProduction( World world, string item )
{
var eva = world.WorldActor.Info.Traits.Get<EvaAlertsInfo>();
var unit = Rules.Info[item];
Sound.Play(unit.Traits.Contains<BuildingInfo>() ? eva.BuildingSelectAudio : eva.UnitSelectAudio);
Sound.Play(CurrentQueue.Info.QueuedAudio);
world.IssueOrder(Order.StartProduction(CurrentQueue.self, item,
Game.GetModifierKeys().HasModifier(Modifiers.Shift) ? 5 : 1));
}

View File

@@ -28,10 +28,18 @@ FACT:
Type: Building
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: constru1.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
ProductionQueue@Defense:
Type: Defense
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: constru1.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
BaseBuilding:
NUKE:
@@ -158,7 +166,10 @@ PYLE:
Type: Infantry
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
HAND:
Inherits: ^Building
Valued:
@@ -188,10 +199,14 @@ HAND:
ExitCell: 1,2
Production:
Produces: Infantry
ProductionQueue@Infantry:
ProductionQueue:
Type: Infantry
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
AFLD:
Inherits: ^Building
@@ -226,10 +241,14 @@ AFLD:
ExitCell: 3,1
ProductionAirdrop:
Produces: Vehicle
ProductionQueue@Vehicle:
ProductionQueue:
Type: Vehicle
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
WEAP:
Inherits: ^Building
@@ -265,10 +284,14 @@ WEAP:
ExitCell: 0,2
Production:
Produces: Vehicle
ProductionQueue@Vehicle:
ProductionQueue:
Type: Vehicle
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
HQ:
RequiresPower:
@@ -387,10 +410,14 @@ HPAD:
Reservable:
RepairsUnits:
RallyPoint:
ProductionQueue@Plane:
ProductionQueue:
Type: Plane
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: bldging1.aud
ReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
EYE:
RequiresPower:

View File

@@ -131,13 +131,7 @@ World:
EvaAlerts:
RadarUp: comcntr1.aud
RadarDown: powrdn1.aud
BuildingSelectAudio: bldging1.aud
BuildingReadyAudio: constru1.aud
BuildingCannotPlaceAudio: deploy1.aud
UnitSelectAudio: bldging1.aud
UnitReadyAudio: unitredy.aud
OnHoldAudio: onhold1.aud
CancelledAudio: cancel1.aud
CashTickUp:
CashTickDown:
LowPower: lopower1.aud

View File

@@ -4,10 +4,14 @@ Player:
Type: Building
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: abldgin1.aud
ReadyAudio: conscmp1.aud
ClassicProductionQueue@Defense:
Type: Defense
BuildSpeed: .4
LowPowerSlowdown: 3
QueuedAudio: abldgin1.aud
ReadyAudio: conscmp1.aud
ClassicProductionQueue@Vehicle:
Type: Vehicle
BuildSpeed: .4