Clean Production.cs of "race"

This commit is contained in:
Pavel Penev
2015-07-31 04:39:39 +03:00
parent 6379ee9394
commit 1e9cc50805
5 changed files with 19 additions and 18 deletions

View File

@@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.Orders
readonly BuildingInfo buildingInfo; readonly BuildingInfo buildingInfo;
readonly PlaceBuildingInfo placeBuildingInfo; readonly PlaceBuildingInfo placeBuildingInfo;
readonly BuildingInfluence buildingInfluence; readonly BuildingInfluence buildingInfluence;
readonly string race; readonly string faction;
readonly Sprite buildOk; readonly Sprite buildOk;
readonly Sprite buildBlocked; readonly Sprite buildBlocked;
IActorPreview[] preview; IActorPreview[] preview;
@@ -50,7 +50,8 @@ namespace OpenRA.Mods.Common.Orders
var buildableInfo = info.Traits.Get<BuildableInfo>(); var buildableInfo = info.Traits.Get<BuildableInfo>();
var mostLikelyProducer = queue.MostLikelyProducer(); var mostLikelyProducer = queue.MostLikelyProducer();
race = buildableInfo.ForceRace ?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Race : producer.Owner.Faction.InternalName); faction = buildableInfo.ForceRace
?? (mostLikelyProducer.Trait != null ? mostLikelyProducer.Trait.Faction : producer.Owner.Faction.InternalName);
buildOk = map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0); buildOk = map.SequenceProvider.GetSequence("overlay", "build-valid-{0}".F(tileset)).GetSprite(0);
buildBlocked = map.SequenceProvider.GetSequence("overlay", "build-invalid").GetSprite(0); buildBlocked = map.SequenceProvider.GetSequence("overlay", "build-invalid").GetSprite(0);
@@ -170,7 +171,7 @@ namespace OpenRA.Mods.Common.Orders
{ {
var td = new TypeDictionary() var td = new TypeDictionary()
{ {
new FactionInit(race), new FactionInit(faction),
new OwnerInit(producer.Owner), new OwnerInit(producer.Owner),
new HideBibPreviewInit() new HideBibPreviewInit()
}; };

View File

@@ -107,7 +107,7 @@ namespace OpenRA.Mods.Common.Traits
foreach (var p in producers.Where(p => !p.Actor.IsDisabled())) foreach (var p in producers.Where(p => !p.Actor.IsDisabled()))
{ {
if (p.Trait.Produce(p.Actor, ai, p.Trait.Race)) if (p.Trait.Produce(p.Actor, ai, p.Trait.Faction))
{ {
FinishProduction(); FinishProduction();
return true; return true;

View File

@@ -62,12 +62,12 @@ namespace OpenRA.Mods.Common.Traits
return; return;
var producer = queue.MostLikelyProducer(); var producer = queue.MostLikelyProducer();
var race = producer.Trait != null ? producer.Trait.Race : self.Owner.Faction.InternalName; var faction = producer.Trait != null ? producer.Trait.Faction : self.Owner.Faction.InternalName;
var buildingInfo = unit.Traits.Get<BuildingInfo>(); var buildingInfo = unit.Traits.Get<BuildingInfo>();
var buildableInfo = unit.Traits.GetOrDefault<BuildableInfo>(); var buildableInfo = unit.Traits.GetOrDefault<BuildableInfo>();
if (buildableInfo != null && buildableInfo.ForceRace != null) if (buildableInfo != null && buildableInfo.ForceRace != null)
race = buildableInfo.ForceRace; faction = buildableInfo.ForceRace;
if (os == "LineBuild") if (os == "LineBuild")
{ {
@@ -78,7 +78,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
new LocationInit(t), new LocationInit(t),
new OwnerInit(order.Player), new OwnerInit(order.Player),
new FactionInit(race) new FactionInit(faction)
}); });
if (playSounds) if (playSounds)
@@ -119,7 +119,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
new LocationInit(order.TargetLocation), new LocationInit(order.TargetLocation),
new OwnerInit(order.Player), new OwnerInit(order.Player),
new FactionInit(race), new FactionInit(faction),
}); });
foreach (var s in buildingInfo.BuildSounds) foreach (var s in buildingInfo.BuildSounds)

View File

@@ -33,16 +33,16 @@ namespace OpenRA.Mods.Common.Traits
readonly Lazy<RallyPoint> rp; readonly Lazy<RallyPoint> rp;
public ProductionInfo Info; public ProductionInfo Info;
public string Race { get; private set; } public string Faction { get; private set; }
public Production(ActorInitializer init, ProductionInfo info) public Production(ActorInitializer init, ProductionInfo info)
{ {
Info = info; Info = info;
rp = Exts.Lazy(() => init.Self.IsDead ? null : init.Self.TraitOrDefault<RallyPoint>()); rp = Exts.Lazy(() => init.Self.IsDead ? null : init.Self.TraitOrDefault<RallyPoint>());
Race = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName; Faction = init.Contains<FactionInit>() ? init.Get<FactionInit, string>() : init.Self.Owner.Faction.InternalName;
} }
public void DoProduction(Actor self, ActorInfo producee, ExitInfo exitinfo, string raceVariant) public void DoProduction(Actor self, ActorInfo producee, ExitInfo exitinfo, string factionVariant)
{ {
var exit = self.Location + exitinfo.ExitCell; var exit = self.Location + exitinfo.ExitCell;
var spawn = self.CenterPosition + exitinfo.SpawnOffset; var spawn = self.CenterPosition + exitinfo.SpawnOffset;
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.Common.Traits
var bi = producee.Traits.GetOrDefault<BuildableInfo>(); var bi = producee.Traits.GetOrDefault<BuildableInfo>();
if (bi != null && bi.ForceRace != null) if (bi != null && bi.ForceRace != null)
raceVariant = bi.ForceRace; factionVariant = bi.ForceRace;
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>
{ {
@@ -68,8 +68,8 @@ namespace OpenRA.Mods.Common.Traits
new FacingInit(initialFacing) new FacingInit(initialFacing)
}; };
if (raceVariant != null) if (factionVariant != null)
td.Add(new FactionInit(raceVariant)); td.Add(new FactionInit(factionVariant));
var newUnit = self.World.CreateActor(producee.Name, td); var newUnit = self.World.CreateActor(producee.Name, td);
@@ -102,7 +102,7 @@ namespace OpenRA.Mods.Common.Traits
}); });
} }
public virtual bool Produce(Actor self, ActorInfo producee, string raceVariant) public virtual bool Produce(Actor self, ActorInfo producee, string factionVariant)
{ {
if (Reservable.IsReserved(self)) if (Reservable.IsReserved(self))
return false; return false;
@@ -113,7 +113,7 @@ namespace OpenRA.Mods.Common.Traits
if (exit != null) if (exit != null)
{ {
DoProduction(self, producee, exit, raceVariant); DoProduction(self, producee, exit, factionVariant);
return true; return true;
} }

View File

@@ -301,7 +301,7 @@ namespace OpenRA.Mods.Common.Widgets
var ks = Game.Settings.Keys; var ks = Game.Settings.Keys;
var rb = RenderBounds; var rb = RenderBounds;
var race = producer.Trait.Race; var faction = producer.Trait.Faction;
foreach (var item in AllBuildables.Skip(IconRowOffset * Columns).Take(MaxIconRowOffset * Columns)) foreach (var item in AllBuildables.Skip(IconRowOffset * Columns).Take(MaxIconRowOffset * Columns))
{ {
@@ -310,7 +310,7 @@ namespace OpenRA.Mods.Common.Widgets
var rect = new Rectangle(rb.X + x * (IconSize.X + IconMargin.X), rb.Y + y * (IconSize.Y + IconMargin.Y), IconSize.X, IconSize.Y); var rect = new Rectangle(rb.X + x * (IconSize.X + IconMargin.X), rb.Y + y * (IconSize.Y + IconMargin.Y), IconSize.X, IconSize.Y);
var rsi = item.Traits.Get<RenderSpritesInfo>(); var rsi = item.Traits.Get<RenderSpritesInfo>();
var icon = new Animation(World, rsi.GetImage(item, World.Map.SequenceProvider, race)); var icon = new Animation(World, rsi.GetImage(item, World.Map.SequenceProvider, faction));
icon.Play(item.Traits.Get<TooltipInfo>().Icon); icon.Play(item.Traits.Get<TooltipInfo>().Icon);
var bi = item.Traits.Get<BuildableInfo>(); var bi = item.Traits.Get<BuildableInfo>();