Fixed ProductionQueue freezing Transform
This commit is contained in:
@@ -55,6 +55,9 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
if (x.Actor.Owner == self.Owner && x.Trait.Info.Produces.Contains(Info.Type))
|
if (x.Actor.Owner == self.Owner && x.Trait.Info.Produces.Contains(Info.Type))
|
||||||
{
|
{
|
||||||
|
var b = x.Actor.TraitOrDefault<Building>();
|
||||||
|
if (b != null && b.Locked)
|
||||||
|
continue;
|
||||||
isActive = true;
|
isActive = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,12 +145,12 @@ namespace OpenRA.Mods.RA
|
|||||||
newOwner.PlayerActor.Trait<TechTree>().Update();
|
newOwner.PlayerActor.Trait<TechTree>().Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Killed(Actor killed, AttackInfo e) { if (killed == self) ClearQueue(); }
|
public void Killed(Actor killed, AttackInfo e) { if (killed == self) { ClearQueue(); Enabled = false; } }
|
||||||
public void Selling(Actor self) { }
|
public void Selling(Actor self) { ClearQueue(); Enabled = false; }
|
||||||
public void Sold(Actor self) { ClearQueue(); }
|
public void Sold(Actor self) { }
|
||||||
|
|
||||||
public void BeforeTransform(Actor self) { }
|
public void BeforeTransform(Actor self) { ClearQueue(); Enabled = false; }
|
||||||
public void OnTransform(Actor self) { ClearQueue(); }
|
public void OnTransform(Actor self) { }
|
||||||
public void AfterTransform(Actor self) { }
|
public void AfterTransform(Actor self) { }
|
||||||
|
|
||||||
void CacheProduceables(Actor playerActor)
|
void CacheProduceables(Actor playerActor)
|
||||||
@@ -225,6 +225,8 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
public virtual IEnumerable<ActorInfo> BuildableItems()
|
public virtual IEnumerable<ActorInfo> BuildableItems()
|
||||||
{
|
{
|
||||||
|
if (!Enabled)
|
||||||
|
return Enumerable.Empty<ActorInfo>();
|
||||||
if (self.World.AllowDevCommands && developerMode.AllTech)
|
if (self.World.AllowDevCommands && developerMode.AllTech)
|
||||||
return produceable.Select(a => a.Key);
|
return produceable.Select(a => a.Key);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user