CanAttack() protected method

protected CanAttack ( Actor self, Target target ) : bool
self Actor
target OpenRA.Traits.Target
return bool
コード例 #1
0
ファイル: AttackCharge.cs プロジェクト: wenzeslaus/OpenRA
            public override Activity Tick(Actor self)
            {
                if (IsCanceled || !attack.CanAttack(self, target))
                {
                    return(NextActivity);
                }

                if (attack.charges == 0)
                {
                    return(this);
                }

                self.Trait <RenderBuildingCharge>().PlayCharge(self);

                return(Util.SequenceActivities(new Wait(attack.info.InitialChargeDelay), new ChargeFire(attack, target), this));
            }
コード例 #2
0
ファイル: AttackCharge.cs プロジェクト: wenzeslaus/OpenRA
            public override Activity Tick(Actor self)
            {
                if (IsCanceled || !attack.CanAttack(self, target))
                {
                    return(NextActivity);
                }

                if (attack.charges == 0)
                {
                    return(NextActivity);
                }

                attack.DoAttack(self, target);

                return(Util.SequenceActivities(new Wait(attack.info.ChargeDelay), this));
            }
コード例 #3
0
ファイル: AttackCharge.cs プロジェクト: Blackbird88/OpenRA
            public override Activity Tick(Actor self)
            {
                if (IsCanceled || !attack.CanAttack(self, target))
                {
                    return(NextActivity);
                }

                if (attack.charges == 0)
                {
                    return(this);
                }

                foreach (var notify in self.TraitsImplementing <INotifyCharging>())
                {
                    notify.Charging(self, target);
                }

                if (!string.IsNullOrEmpty(attack.info.ChargeAudio))
                {
                    Sound.Play(attack.info.ChargeAudio, self.CenterPosition);
                }

                return(Util.SequenceActivities(new Wait(attack.info.InitialChargeDelay), new ChargeFire(attack, target), this));
            }