remove some duplication in parachute use
This commit is contained in:
@@ -33,9 +33,8 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
if (IsSuitableCell(pilot, self.Location) && r > 100 - info.SuccessRate && aircraft.Altitude > 10)
|
if (IsSuitableCell(pilot, self.Location) && r > 100 - info.SuccessRate && aircraft.Altitude > 10)
|
||||||
{
|
{
|
||||||
var rs = pilot.Trait<RenderSimple>();
|
|
||||||
self.World.AddFrameEndTask(w => w.Add(
|
self.World.AddFrameEndTask(w => w.Add(
|
||||||
new Parachute(pilot.Owner, rs.anim.Name,
|
new Parachute(pilot.Owner,
|
||||||
Util.CenterOfCell(Util.CellContaining(self.CenterLocation)),
|
Util.CenterOfCell(Util.CellContaining(self.CenterLocation)),
|
||||||
aircraft.Altitude, pilot)));
|
aircraft.Altitude, pilot)));
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,16 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
float altitude;
|
float altitude;
|
||||||
const float fallRate = .3f;
|
const float fallRate = .3f;
|
||||||
|
|
||||||
public Parachute(Player owner, string image, float2 location, int altitude, Actor cargo)
|
public Parachute(Player owner, float2 location, int altitude, Actor cargo)
|
||||||
{
|
{
|
||||||
this.location = location;
|
this.location = location;
|
||||||
this.altitude = altitude;
|
this.altitude = altitude;
|
||||||
this.cargo = cargo;
|
this.cargo = cargo;
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
|
|
||||||
|
var rs = cargo.Trait<RenderSimple>();
|
||||||
|
var image = rs.anim.Name;
|
||||||
|
|
||||||
anim = new Animation(image);
|
anim = new Animation(image);
|
||||||
if (anim.HasSequence("idle"))
|
if (anim.HasSequence("idle"))
|
||||||
anim.PlayFetchIndex("idle", () => 0);
|
anim.PlayFetchIndex("idle", () => 0);
|
||||||
|
|||||||
@@ -52,11 +52,10 @@ namespace OpenRA.Mods.RA
|
|||||||
droppedAt.Add(self.Location);
|
droppedAt.Add(self.Location);
|
||||||
|
|
||||||
var a = cargo.Unload(self);
|
var a = cargo.Unload(self);
|
||||||
var rs = a.Trait<RenderSimple>();
|
|
||||||
|
|
||||||
var aircraft = self.Trait<IMove>();
|
var aircraft = self.Trait<IMove>();
|
||||||
self.World.AddFrameEndTask(w => w.Add(
|
self.World.AddFrameEndTask(w => w.Add(
|
||||||
new Parachute(self.Owner, rs.anim.Name,
|
new Parachute(self.Owner,
|
||||||
Util.CenterOfCell(Util.CellContaining(self.CenterLocation)),
|
Util.CenterOfCell(Util.CellContaining(self.CenterLocation)),
|
||||||
aircraft.Altitude, a)));
|
aircraft.Altitude, a)));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user