Rename ProvidesCustomPrerequisite to ProvidesPrerequisite

This commit is contained in:
penev92
2015-05-04 01:38:51 +03:00
parent 834e4bfe9c
commit dc3ae39db1
19 changed files with 206 additions and 204 deletions

View File

@@ -19,9 +19,9 @@ namespace OpenRA.Mods.Common.Lint
{
public void Run(Action<string> emitError, Action<string> emitWarning, Map map)
{
// ProvidesCustomPrerequisite allows arbitrary prereq definitions
// ProvidesPrerequisite allows arbitrary prereq definitions
var customPrereqs = map.Rules.Actors.SelectMany(a => a.Value.Traits
.WithInterface<ProvidesCustomPrerequisiteInfo>().Select(p => p.Prerequisite ?? a.Value.Name));
.WithInterface<ProvidesPrerequisiteInfo>().Select(p => p.Prerequisite ?? a.Value.Name));
// ProvidesTechPrerequisite allows arbitrary prereq definitions
// (but only one group at a time during gameplay)

View File

@@ -350,7 +350,7 @@
<Compile Include="Traits\Player\PlaceBuilding.cs" />
<Compile Include="Traits\Player\PlayerStatistics.cs" />
<Compile Include="Traits\Player\ProductionQueue.cs" />
<Compile Include="Traits\Player\ProvidesCustomPrerequisite.cs" />
<Compile Include="Traits\Player\ProvidesPrerequisite.cs" />
<Compile Include="Traits\Player\ProvidesTechPrerequisite.cs" />
<Compile Include="Traits\Player\StrategicVictoryConditions.cs" />
<Compile Include="Traits\Player\TechTree.cs" />

View File

@@ -17,8 +17,7 @@ namespace OpenRA.Mods.Common.Traits
[Desc("The prerequisite names that must be available before this can be built.",
"This can be prefixed with ! to invert the prerequisite (disabling production if the prerequisite is available)",
"and/or ~ to hide the actor from the production palette if the prerequisite is not available.",
"Prerequisites are granted by actors with the Building trait (with a prerequisite string given by the lower case actor name)",
"and by the ProvidesCustomPrerequisite trait.")]
"Prerequisites are granted by actors with the ProvidesPrerequisite trait.")]
public readonly string[] Prerequisites = { };
[Desc("Production queue(s) that can produce this.")]

View File

@@ -10,12 +10,11 @@
using System.Collections.Generic;
using System.Linq;
using OpenRA.Primitives;
using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
public class ProvidesCustomPrerequisiteInfo : ITraitInfo
public class ProvidesPrerequisiteInfo : ITraitInfo
{
[Desc("The prerequisite type that this provides. If left empty it defaults to the actor's name.")]
public readonly string Prerequisite = null;
@@ -28,17 +27,17 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Should it recheck everything when it is captured?")]
public readonly bool ResetOnOwnerChange = false;
public object Create(ActorInitializer init) { return new ProvidesCustomPrerequisite(init, this); }
public object Create(ActorInitializer init) { return new ProvidesPrerequisite(init, this); }
}
public class ProvidesCustomPrerequisite : ITechTreePrerequisite, INotifyOwnerChanged
public class ProvidesPrerequisite : ITechTreePrerequisite, INotifyOwnerChanged
{
readonly ProvidesCustomPrerequisiteInfo info;
readonly ProvidesPrerequisiteInfo info;
readonly string prerequisite;
bool enabled = true;
public ProvidesCustomPrerequisite(ActorInitializer init, ProvidesCustomPrerequisiteInfo info)
public ProvidesPrerequisite(ActorInitializer init, ProvidesPrerequisiteInfo info)
{
this.info = info;
prerequisite = info.Prerequisite;

View File

@@ -937,6 +937,10 @@ namespace OpenRA.Mods.Common.UtilityCommands
if (depth == 0 && node.Value.Nodes.Exists(n => n.Key == "Inherits" &&
(n.Value.Value == "^Building" || n.Value.Value == "^BaseBuilding")))
node.Value.Nodes.Add(new MiniYamlNode("ProvidesCustomPrerequisite@buildingname", ""));
// Rename the ProvidesCustomPrerequisite trait.
if (node.Key.StartsWith("ProvidesCustomPrerequisite"))
node.Key = node.Key.Replace("ProvidesCustomPrerequisite", "ProvidesPrerequisite");
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);