Kill RenderUnitRotor in favour of RenderUnit + WithRotor.
This commit is contained in:
@@ -15,12 +15,12 @@ using OpenRA.Graphics;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.Cnc
|
namespace OpenRA.Mods.Cnc
|
||||||
{
|
{
|
||||||
class WithRoofInfo : ITraitInfo
|
public class WithRoofInfo : ITraitInfo, ITraitPrerequisite<RenderSimpleInfo>
|
||||||
{
|
{
|
||||||
public object Create(ActorInitializer init) { return new WithRoof(init.self); }
|
public object Create(ActorInitializer init) { return new WithRoof(init.self); }
|
||||||
}
|
}
|
||||||
|
|
||||||
class WithRoof
|
public class WithRoof
|
||||||
{
|
{
|
||||||
public WithRoof(Actor self)
|
public WithRoof(Actor self)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -221,7 +221,6 @@
|
|||||||
<Compile Include="Render\RenderFlare.cs" />
|
<Compile Include="Render\RenderFlare.cs" />
|
||||||
<Compile Include="Render\RenderInfantry.cs" />
|
<Compile Include="Render\RenderInfantry.cs" />
|
||||||
<Compile Include="Render\RenderUnitReload.cs" />
|
<Compile Include="Render\RenderUnitReload.cs" />
|
||||||
<Compile Include="Render\RenderUnitRotor.cs" />
|
|
||||||
<Compile Include="Render\RenderUnitSpinner.cs" />
|
<Compile Include="Render\RenderUnitSpinner.cs" />
|
||||||
<Compile Include="Repairable.cs" />
|
<Compile Include="Repairable.cs" />
|
||||||
<Compile Include="RepairsUnits.cs" />
|
<Compile Include="RepairsUnits.cs" />
|
||||||
@@ -267,8 +266,6 @@
|
|||||||
<Compile Include="Widgets\StrategicProgressWidget.cs" />
|
<Compile Include="Widgets\StrategicProgressWidget.cs" />
|
||||||
<Compile Include="Widgets\WorldCommandWidget.cs" />
|
<Compile Include="Widgets\WorldCommandWidget.cs" />
|
||||||
<Compile Include="Widgets\WorldTooltipWidget.cs" />
|
<Compile Include="Widgets\WorldTooltipWidget.cs" />
|
||||||
<Compile Include="WithMuzzleFlash.cs" />
|
|
||||||
<Compile Include="WithShadow.cs" />
|
|
||||||
<Compile Include="NukePaletteEffect.cs" />
|
<Compile Include="NukePaletteEffect.cs" />
|
||||||
<Compile Include="GainsExperience.cs" />
|
<Compile Include="GainsExperience.cs" />
|
||||||
<Compile Include="GivesExperience.cs" />
|
<Compile Include="GivesExperience.cs" />
|
||||||
@@ -333,6 +330,9 @@
|
|||||||
<Compile Include="Widgets\SidebarButtonWidget.cs" />
|
<Compile Include="Widgets\SidebarButtonWidget.cs" />
|
||||||
<Compile Include="Widgets\RadarWidget.cs" />
|
<Compile Include="Widgets\RadarWidget.cs" />
|
||||||
<Compile Include="ActorExts.cs" />
|
<Compile Include="ActorExts.cs" />
|
||||||
|
<Compile Include="Render\WithRotor.cs" />
|
||||||
|
<Compile Include="Render\WithMuzzleFlash.cs" />
|
||||||
|
<Compile Include="Render\WithShadow.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
|
||||||
* available to you under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation. For more information,
|
|
||||||
* see COPYING.
|
|
||||||
*/
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
using OpenRA.Graphics;
|
|
||||||
using OpenRA.Traits;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA.Render
|
|
||||||
{
|
|
||||||
class RenderUnitRotorInfo : RenderUnitInfo
|
|
||||||
{
|
|
||||||
public readonly int[] PrimaryOffset = { 0, 0 };
|
|
||||||
public readonly int[] SecondaryOffset = null;
|
|
||||||
|
|
||||||
public override object Create(ActorInitializer init) { return new RenderUnitRotor(init.self); }
|
|
||||||
}
|
|
||||||
|
|
||||||
class RenderUnitRotor : RenderUnit
|
|
||||||
{
|
|
||||||
public Animation rotorAnim, secondRotorAnim;
|
|
||||||
|
|
||||||
public RenderUnitRotor( Actor self )
|
|
||||||
: base(self)
|
|
||||||
{
|
|
||||||
var facing = self.Trait<IFacing>();
|
|
||||||
var info = self.Info.Traits.Get<RenderUnitRotorInfo>();
|
|
||||||
|
|
||||||
rotorAnim = new Animation(GetImage(self));
|
|
||||||
rotorAnim.PlayRepeating("rotor");
|
|
||||||
anims.Add("rotor_1", new AnimationWithOffset(
|
|
||||||
rotorAnim,
|
|
||||||
() => Combat.GetTurretPosition( self, facing, new Turret(info.PrimaryOffset)),
|
|
||||||
null ) { ZOffset = 1 } );
|
|
||||||
|
|
||||||
if (info.SecondaryOffset == null) return;
|
|
||||||
|
|
||||||
secondRotorAnim = new Animation(GetImage(self));
|
|
||||||
secondRotorAnim.PlayRepeating("rotor2");
|
|
||||||
anims.Add("rotor_2", new AnimationWithOffset(
|
|
||||||
secondRotorAnim,
|
|
||||||
() => Combat.GetTurretPosition(self, facing, new Turret(info.SecondaryOffset)),
|
|
||||||
null) { ZOffset = 1 });
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Tick(Actor self)
|
|
||||||
{
|
|
||||||
base.Tick(self);
|
|
||||||
|
|
||||||
var isFlying = self.Trait<IMove>().Altitude > 0 && !self.IsDead();
|
|
||||||
if (isFlying ^ (rotorAnim.CurrentSequence.Name != "rotor"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
rotorAnim.ReplaceAnim(isFlying ? "rotor" : "slow-rotor");
|
|
||||||
if (secondRotorAnim != null)
|
|
||||||
secondRotorAnim.ReplaceAnim(isFlying ? "rotor2" : "slow-rotor2");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -12,7 +12,7 @@ using System.Collections.Generic;
|
|||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
namespace OpenRA.Mods.RA.Render
|
||||||
{
|
{
|
||||||
class WithMuzzleFlashInfo : ITraitInfo, ITraitPrerequisite<RenderSimpleInfo>
|
class WithMuzzleFlashInfo : ITraitInfo, ITraitPrerequisite<RenderSimpleInfo>
|
||||||
{
|
{
|
||||||
48
OpenRA.Mods.RA/Render/WithRotor.cs
Executable file
48
OpenRA.Mods.RA/Render/WithRotor.cs
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
||||||
|
* This file is part of OpenRA, which is free software. It is made
|
||||||
|
* available to you under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using OpenRA.Graphics;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA.Render
|
||||||
|
{
|
||||||
|
public class WithRotorInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
public readonly string Id = "rotor";
|
||||||
|
public readonly int[] Offset = { 0, 0 };
|
||||||
|
public object Create(ActorInitializer init) { return new WithRotor(init.self, this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WithRotor : ITick
|
||||||
|
{
|
||||||
|
public Animation rotorAnim;
|
||||||
|
public WithRotor(Actor self, WithRotorInfo info)
|
||||||
|
{
|
||||||
|
var rs = self.Trait<RenderSimple>();
|
||||||
|
var facing = self.Trait<IFacing>();
|
||||||
|
|
||||||
|
rotorAnim = new Animation(rs.GetImage(self));
|
||||||
|
rotorAnim.PlayRepeating("rotor");
|
||||||
|
rs.anims.Add(info.Id, new RenderSimple.AnimationWithOffset(
|
||||||
|
rotorAnim,
|
||||||
|
() => Combat.GetTurretPosition( self, facing, new Turret(info.Offset)),
|
||||||
|
null ) { ZOffset = 1 } );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Tick(Actor self)
|
||||||
|
{
|
||||||
|
var isFlying = self.Trait<IMove>().Altitude > 0 && !self.IsDead();
|
||||||
|
if (isFlying ^ (rotorAnim.CurrentSequence.Name != "rotor"))
|
||||||
|
return;
|
||||||
|
|
||||||
|
rotorAnim.ReplaceAnim(isFlying ? "rotor" : "slow-rotor");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
namespace OpenRA.Mods.RA.Render
|
||||||
{
|
{
|
||||||
class WithShadowInfo : TraitInfo<WithShadow> {}
|
class WithShadowInfo : TraitInfo<WithShadow> {}
|
||||||
|
|
||||||
@@ -473,9 +473,12 @@ TRAN:
|
|||||||
Type: Light
|
Type: Light
|
||||||
RevealsShroud:
|
RevealsShroud:
|
||||||
Range: 8
|
Range: 8
|
||||||
RenderUnitRotor:
|
RenderUnit:
|
||||||
PrimaryOffset: 0,14,0,-4
|
WithRotor@PRIMARY:
|
||||||
SecondaryOffset: 0,-14,0,-2
|
Offset: 0,14,0,-4
|
||||||
|
WithRotor@SECONDARY:
|
||||||
|
Id: rotor_2
|
||||||
|
Offset: 0,-14,0,-2
|
||||||
WithShadow:
|
WithShadow:
|
||||||
Cargo:
|
Cargo:
|
||||||
Types: Infantry
|
Types: Infantry
|
||||||
@@ -508,9 +511,10 @@ HELI:
|
|||||||
PrimaryWeapon: HighV.Heli
|
PrimaryWeapon: HighV.Heli
|
||||||
PrimaryOffset: 0,-10,0,3
|
PrimaryOffset: 0,-10,0,3
|
||||||
FacingTolerance: 20
|
FacingTolerance: 20
|
||||||
|
RenderUnit:
|
||||||
|
WithRotor:
|
||||||
|
Offset: 0,0,0,-2
|
||||||
WithMuzzleFlash:
|
WithMuzzleFlash:
|
||||||
RenderUnitRotor:
|
|
||||||
PrimaryOffset: 0,0,0,-2
|
|
||||||
WithShadow:
|
WithShadow:
|
||||||
FallsToEarth:
|
FallsToEarth:
|
||||||
AutoTarget:
|
AutoTarget:
|
||||||
|
|||||||
@@ -830,9 +830,12 @@ TRAN:
|
|||||||
ROT: 5
|
ROT: 5
|
||||||
Speed: 12
|
Speed: 12
|
||||||
LandableTerrainTypes: Clear,Rough,Road,Ore,Beach
|
LandableTerrainTypes: Clear,Rough,Road,Ore,Beach
|
||||||
RenderUnitRotor:
|
RenderUnit:
|
||||||
PrimaryOffset: 0,14,0,-8
|
WithRotor@PRIMARY:
|
||||||
SecondaryOffset: 0,-14,0,-5
|
Offset: 0,14,0,-8
|
||||||
|
WithRotor@SECONDARY:
|
||||||
|
Id: rotor_2
|
||||||
|
Offset: 0,-14,0,-5
|
||||||
WithShadow:
|
WithShadow:
|
||||||
Cargo:
|
Cargo:
|
||||||
Types: Infantry
|
Types: Infantry
|
||||||
@@ -872,9 +875,10 @@ HELI:
|
|||||||
InitialFacing: 20
|
InitialFacing: 20
|
||||||
ROT: 4
|
ROT: 4
|
||||||
Speed: 16
|
Speed: 16
|
||||||
RenderUnitRotor:
|
RenderUnit:
|
||||||
PrimaryOffset: 0,0,0,-2
|
|
||||||
Smokes: no
|
Smokes: no
|
||||||
|
WithRotor:
|
||||||
|
Offset: 0,0,0,-2
|
||||||
WithShadow:
|
WithShadow:
|
||||||
LimitedAmmo:
|
LimitedAmmo:
|
||||||
Ammo: 8
|
Ammo: 8
|
||||||
@@ -915,8 +919,9 @@ HIND:
|
|||||||
InitialFacing: 20
|
InitialFacing: 20
|
||||||
ROT: 4
|
ROT: 4
|
||||||
Speed: 12
|
Speed: 12
|
||||||
RenderUnitRotor:
|
RenderUnit:
|
||||||
Smokes: no
|
Smokes: no
|
||||||
|
WithRotor:
|
||||||
WithShadow:
|
WithShadow:
|
||||||
LimitedAmmo:
|
LimitedAmmo:
|
||||||
Ammo: 24
|
Ammo: 24
|
||||||
|
|||||||
Reference in New Issue
Block a user