Move some traits from RA.Buildings to Common

This commit is contained in:
reaperrr
2014-11-09 16:03:36 +01:00
parent 455d4dc97f
commit 3372914216
5 changed files with 6 additions and 6 deletions

View File

@@ -1,36 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 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.Traits;
namespace OpenRA.Mods.RA
{
[Desc("Handle demolitions from C4 explosives.")]
public class DemolishableInfo : IDemolishableInfo, ITraitInfo
{
public bool IsValidTarget(ActorInfo actorInfo, Actor saboteur) { return true; }
public object Create(ActorInitializer init) { return new Demolishable(); }
}
public class Demolishable : IDemolishable
{
public void Demolish(Actor self, Actor saboteur)
{
self.Kill(saboteur);
}
public bool IsValidTarget(Actor self, Actor saboteur)
{
return true;
}
}
}

View File

@@ -1,35 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 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.Traits;
namespace OpenRA.Mods.RA.Buildings
{
public class ShakeOnDeathInfo : ITraitInfo
{
public readonly int Intensity = 10;
public object Create(ActorInitializer init) { return new ShakeOnDeath(this); }
}
public class ShakeOnDeath : INotifyKilled
{
readonly ShakeOnDeathInfo Info;
public ShakeOnDeath(ShakeOnDeathInfo info)
{
this.Info = info;
}
public void Killed(Actor self, AttackInfo e)
{
self.World.WorldActor.Trait<ScreenShaker>().AddEffect(Info.Intensity, self.CenterPosition, 1);
}
}
}

View File

@@ -1,40 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2014 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.Traits;
namespace OpenRA.Mods.RA.Buildings
{
public class SoundOnDamageTransitionInfo : ITraitInfo
{
public readonly string DamagedSound;
public readonly string DestroyedSound;
public object Create(ActorInitializer init) { return new SoundOnDamageTransition(this);}
}
public class SoundOnDamageTransition : INotifyDamageStateChanged
{
readonly SoundOnDamageTransitionInfo Info;
public SoundOnDamageTransition( SoundOnDamageTransitionInfo info )
{
Info = info;
}
public void DamageStateChanged(Actor self, AttackInfo e)
{
if (e.DamageState == DamageState.Dead)
Sound.Play(Info.DestroyedSound, self.CenterPosition);
else if (e.DamageState >= DamageState.Heavy && e.PreviousDamageState < DamageState.Heavy)
Sound.Play(Info.DamagedSound, self.CenterPosition);
}
}
}

View File

@@ -170,8 +170,6 @@
<Compile Include="Buildings\FootprintUtils.cs" />
<Compile Include="Buildings\LineBuild.cs" />
<Compile Include="Buildings\RepairableBuilding.cs" />
<Compile Include="Buildings\ShakeOnDeath.cs" />
<Compile Include="Buildings\SoundOnDamageTransition.cs" />
<Compile Include="Buildings\Util.cs" />
<Compile Include="Burns.cs" />
<Compile Include="C4Demolition.cs" />
@@ -389,7 +387,6 @@
<Compile Include="AttackBomber.cs" />
<Compile Include="ShroudRenderer.cs" />
<Compile Include="Render\WithCrateBody.cs" />
<Compile Include="Buildings\Demolishable.cs" />
<Compile Include="Activities\FlyFollow.cs" />
<Compile Include="Widgets\Logic\GameTimerLogic.cs" />
<Compile Include="Widgets\Logic\ReplayControlBarLogic.cs" />