Cache trait look-ups in the constructor where possible for Air activities/traits

This commit is contained in:
reaperrr
2015-03-14 03:59:37 +01:00
parent 9a780ba07d
commit 1e9d1a6cb7
22 changed files with 160 additions and 93 deletions

View File

@@ -18,20 +18,21 @@ namespace OpenRA.Mods.Common.Activities
{
public class FallToEarth : Activity
{
readonly Aircraft aircraft;
readonly FallsToEarthInfo info;
int acceleration = 0;
int spin = 0;
FallsToEarthInfo info;
public FallToEarth(Actor self, FallsToEarthInfo info)
{
this.info = info;
aircraft = self.Trait<Aircraft>();
if (info.Spins)
acceleration = self.World.SharedRandom.Next(2) * 2 - 1;
}
public override Activity Tick(Actor self)
{
var aircraft = self.Trait<Aircraft>();
if (self.CenterPosition.Z <= 0)
{
if (info.Explosion != null)