Refactor RenderEditorOnly into RenderSpritesEditorOnly + WithSpriteBody

This commit is contained in:
reaperrr
2015-07-16 14:52:12 +02:00
parent fe346e5401
commit 2e9a4b78a3
7 changed files with 52 additions and 18 deletions

View File

@@ -404,7 +404,7 @@
<Compile Include="Traits\Render\RenderBuilding.cs" />
<Compile Include="Traits\Render\RenderBuildingCharge.cs" />
<Compile Include="Traits\Render\RenderBuildingTurreted.cs" />
<Compile Include="Traits\Render\RenderEditorOnly.cs" />
<Compile Include="Traits\Render\RenderSpritesEditorOnly.cs" />
<Compile Include="Traits\Render\RenderNameTag.cs" />
<Compile Include="Traits\Render\RenderSimple.cs" />
<Compile Include="Traits\Render\RenderSprites.cs" />

View File

@@ -14,15 +14,15 @@ using OpenRA.Graphics;
namespace OpenRA.Mods.Common.Traits
{
[Desc("Invisible during games.")]
class RenderEditorOnlyInfo : RenderSimpleInfo
class RenderSpritesEditorOnlyInfo : RenderSpritesInfo
{
public override object Create(ActorInitializer init) { return new RenderEditorOnly(init, this); }
public override object Create(ActorInitializer init) { return new RenderSpritesEditorOnly(init, this); }
}
class RenderEditorOnly : RenderSimple
class RenderSpritesEditorOnly : RenderSprites
{
public RenderEditorOnly(ActorInitializer init, RenderEditorOnlyInfo info)
: base(init, info, () => 0) { }
public RenderSpritesEditorOnly(ActorInitializer init, RenderSpritesEditorOnlyInfo info)
: base(init, info) { }
public override IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr) { return SpriteRenderable.None; }
}

View File

@@ -1637,6 +1637,32 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
}
if (engineVersion < 20150720)
{
// Rename RenderEditorOnly to RenderSpritesEditorOnly
if (depth == 0)
{
var reo = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("RenderEditorOnly"));
if (reo != null)
{
reo.Key = "RenderSpritesEditorOnly";
var wsbNodes = reo.Value.Nodes.Where(n => n.Key == "Sequence").ToList();
if (wsbNodes.Any())
node.Value.Nodes.Add(new MiniYamlNode("WithSpriteBody", new MiniYaml("", wsbNodes)));
else
node.Value.Nodes.Add(new MiniYamlNode("WithSpriteBody", ""));
reo.Value.Nodes.RemoveAll(n => wsbNodes.Contains(n));
}
var rreo = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("-RenderEditorOnly"));
if (rreo != null)
rreo.Key = "-RenderSpritesEditorOnly";
}
}
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
}
}

View File

@@ -34,7 +34,8 @@ mpspawn:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
WithSpriteBody:
RenderSpritesEditorOnly:
Palette: chrome
BodyOrientation:
@@ -42,7 +43,8 @@ waypoint:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
WithSpriteBody:
RenderSpritesEditorOnly:
Palette: chrome
BodyOrientation:

View File

@@ -114,22 +114,22 @@ mpspawn:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
RenderSpritesEditorOnly:
WithSpriteBody:
BodyOrientation:
waypoint:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
RenderSpritesEditorOnly:
WithSpriteBody:
BodyOrientation:
^carryall.colorpicker:
Inherits: carryall
WithFacingSpriteBody:
Helicopter:
InitialFacing: 104
AutoSelectionSize:
RenderSprites:
Image: carryall
Palette: colorpicker
@@ -149,7 +149,8 @@ wormspawner:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
RenderSpritesEditorOnly:
WithSpriteBody:
BodyOrientation:
WormSpawner:

View File

@@ -181,7 +181,8 @@ CAMERA:
BodyOrientation:
DetectCloaked:
Range: 10
RenderEditorOnly:
WithSpriteBody:
RenderSpritesEditorOnly:
Image: camera
camera.paradrop:
@@ -390,14 +391,16 @@ mpspawn:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
WithSpriteBody:
RenderSpritesEditorOnly:
BodyOrientation:
waypoint:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
WithSpriteBody:
RenderSpritesEditorOnly:
BodyOrientation:
^fact.colorpicker:

View File

@@ -2,14 +2,16 @@ mpspawn:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
RenderSpritesEditorOnly:
WithSpriteBody:
BodyOrientation:
waypoint:
AlwaysVisible:
Immobile:
OccupiesSpace: false
RenderEditorOnly:
RenderSpritesEditorOnly:
WithSpriteBody:
BodyOrientation:
^mmch.colorpicker: