fixed issue with powered down samsites more optimization very small optimization undo changes to powerdown samsite fixes refixed powered down sam sites removed debug line redid the fix in another approach by queueing a sell activity on the top of the queue. This was already present but didn't always work fixed line I removed prevented attack activity to be queued when actor is disabled another style fail of me reverse and queueactivity activities are now executed on top of the queue for a sell action
46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
#region Copyright & License Information
|
|
/*
|
|
* Copyright 2007-2015 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 System.Collections.Generic;
|
|
using OpenRA.Activities;
|
|
using OpenRA.Traits;
|
|
|
|
namespace OpenRA.Mods.Common.Traits
|
|
{
|
|
[Desc("Actor has a visual turret used to attack.")]
|
|
public class AttackTurretedInfo : AttackFollowInfo, Requires<TurretedInfo>
|
|
{
|
|
public override object Create(ActorInitializer init) { return new AttackTurreted(init.Self, this); }
|
|
}
|
|
|
|
public class AttackTurreted : AttackFollow, ITick, ISync
|
|
{
|
|
protected IEnumerable<Turreted> turrets;
|
|
|
|
public AttackTurreted(Actor self, AttackTurretedInfo info)
|
|
: base(self, info)
|
|
{
|
|
turrets = self.TraitsImplementing<Turreted>();
|
|
}
|
|
|
|
protected override bool CanAttack(Actor self, Target target)
|
|
{
|
|
if (!base.CanAttack(self, target))
|
|
return false;
|
|
|
|
foreach (var t in turrets)
|
|
if (t.FaceTarget(self, target))
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
}
|
|
}
|