add explosive crates
This commit is contained in:
41
OpenRA.Mods.RA/Crates/ExplodeCrateAction.cs
Normal file
41
OpenRA.Mods.RA/Crates/ExplodeCrateAction.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using OpenRA.Traits;
|
||||||
|
using OpenRA.Effects;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA.Crates
|
||||||
|
{
|
||||||
|
class ExplodeCrateActionInfo : ITraitInfo
|
||||||
|
{
|
||||||
|
public string Weapon = null;
|
||||||
|
public int SelectionShares = 5;
|
||||||
|
|
||||||
|
public object Create(Actor self) { return new ExplodeCrateAction(self, this); }
|
||||||
|
}
|
||||||
|
|
||||||
|
class ExplodeCrateAction : ICrateAction
|
||||||
|
{
|
||||||
|
Actor self;
|
||||||
|
ExplodeCrateActionInfo info;
|
||||||
|
|
||||||
|
public ExplodeCrateAction(Actor self, ExplodeCrateActionInfo info)
|
||||||
|
{
|
||||||
|
this.self = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SelectionShares
|
||||||
|
{
|
||||||
|
get { return info.SelectionShares; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Activate(Actor collector)
|
||||||
|
{
|
||||||
|
self.World.AddFrameEndTask(
|
||||||
|
w => w.Add(new Bullet(info.Weapon, self.Owner,
|
||||||
|
self, self.CenterLocation.ToInt2(), self.CenterLocation.ToInt2(),
|
||||||
|
0, 0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -53,6 +53,7 @@
|
|||||||
<Compile Include="Activities\Steal.cs" />
|
<Compile Include="Activities\Steal.cs" />
|
||||||
<Compile Include="C4Demolition.cs" />
|
<Compile Include="C4Demolition.cs" />
|
||||||
<Compile Include="Crates\ArmorUpgradeCrateAction.cs" />
|
<Compile Include="Crates\ArmorUpgradeCrateAction.cs" />
|
||||||
|
<Compile Include="Crates\ExplodeCrateAction.cs" />
|
||||||
<Compile Include="Crates\FirepowerUpgradeCrateAction.cs" />
|
<Compile Include="Crates\FirepowerUpgradeCrateAction.cs" />
|
||||||
<Compile Include="Crates\GiveCashCrateAction.cs" />
|
<Compile Include="Crates\GiveCashCrateAction.cs" />
|
||||||
<Compile Include="Effects\CrateEffect.cs" />
|
<Compile Include="Effects\CrateEffect.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user