Fix exploding walls

This commit is contained in:
Paul Chote
2011-06-02 18:11:30 +12:00
parent 2f86208a9a
commit 64497c9b2f
5 changed files with 35 additions and 9 deletions

View File

@@ -347,6 +347,7 @@
<Compile Include="Activities\CaptureActor.cs" />
<Compile Include="InvisibleToEnemy.cs" />
<Compile Include="ParachuteAttachment.cs" />
<Compile Include="Render\WithBuildingExplosion.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA.Render
}
}
public class RenderBuilding : RenderSimple, INotifyDamageStateChanged, IRenderModifier, INotifyKilled
public class RenderBuilding : RenderSimple, INotifyDamageStateChanged, IRenderModifier
{
readonly RenderBuildingInfo Info;
@@ -103,13 +103,5 @@ namespace OpenRA.Mods.RA.Render
else if (e.DamageState < DamageState.Heavy)
anim.ReplaceAnim("idle");
}
public void Killed(Actor self, AttackInfo e)
{
var bi = self.Info.Traits.Get<BuildingInfo>();
FootprintUtils.UnpathableTiles(self.Info.Name, bi, self.Location).Do(
t => self.World.AddFrameEndTask(
w => w.Add(new Explosion(w, Traits.Util.CenterOfCell(t), "building", false, 0))));
}
}
}

View File

@@ -0,0 +1,28 @@
#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.Mods.RA.Buildings;
using OpenRA.Mods.RA.Effects;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Render
{
class WithBuildingExplosionInfo : TraitInfo<WithBuildingExplosion> { }
class WithBuildingExplosion : INotifyKilled
{
public void Killed(Actor self, AttackInfo e)
{
var bi = self.Info.Traits.Get<BuildingInfo>();
FootprintUtils.UnpathableTiles(self.Info.Name, bi, self.Location).Do(
t => self.World.AddFrameEndTask(
w => w.Add(new Explosion(w, Traits.Util.CenterOfCell(t), "building", false, 0))));
}
}
}

View File

@@ -205,6 +205,7 @@
Buildable:
Queue: Building
RenderBuilding:
WithBuildingExplosion:
DeadBuildingState:
EmitInfantryOnSell:
ActorTypes: e6,e1
@@ -234,6 +235,8 @@
Armor:
Type: Wood
Building:
RenderBuilding:
WithBuildingExplosion:
-RepairableBuilding:
-Capturable:
Tooltip:
@@ -249,6 +252,7 @@
RenderBuilding:
OverrideTileset: DESERT
OverrideImage: v23
-WithBuildingExplosion:
^Wall:
AppearsOnRadar:

View File

@@ -176,6 +176,7 @@
DamagedSound: kaboom1.aud
DestroyedSound: kaboom22.aud
RenderBuilding:
WithBuildingExplosion:
RepairableBuilding:
EmitInfantryOnSell:
ActorTypes: e1,e1,e1,c1,c2,e6