コード例 #1
0
 private void Avatar_OnDamageTaken(object sender, DamageTakenEventArgs e)
 {
     if (this.hitParticleSystem != null)
     {
         this.hitParticleSystem.Play();
     }
 }
コード例 #2
0
            private void OnUnitDamageTaken(Unit owner, Unit attacker, DamageTakenEventArgs e)
            {
                if (owner.ArmorPercentage >= REINFORCE_THRESHOLD)
                {
                    return;
                }

                ToReinforce(attacker);
            }
コード例 #3
0
ファイル: Npc.cs プロジェクト: zenithght/PerpetuumServer
        protected override void OnDamageTaken(Unit source, DamageTakenEventArgs e)
        {
            base.OnDamageTaken(source, e);

            var player = Zone.ToPlayerOrGetOwnerPlayer(source);

            if (player == null)
            {
                return;
            }

            AddThreat(player, new Threat(ThreatType.Damage, e.TotalDamage * 0.9), true);
        }
コード例 #4
0
        protected override void OnDamageTaken(Unit source, DamageTakenEventArgs e)
        {
            base.OnDamageTaken(source, e);

            var player = Zone.ToPlayerOrGetOwnerPlayer(source);

            if (player == null)
            {
                return;
            }

            IncrementPlayerScore(player, (int)e.TotalDamage);
        }
コード例 #5
0
        protected override void OnDamageTaken(Unit source, DamageTakenEventArgs e)
        {
            base.OnDamageTaken(source, e);

            var decayChance = _decayChance.Value;
            var random      = FastRandom.NextDouble();

            if (decayChance >= random)
            {
                var d = Decay;
                if (d > 0)
                {
                    d--;
                    Decay = d;
                }
            }
        }
コード例 #6
0
        private void Actor_DamageTaken(object?sender, DamageTakenEventArgs e)
        {
            if (sender is not Actor actor)
            {
                Debug.Fail("Sender must be IActor");
                // Do nothing. Looks like error. But client must not down.
                return;
            }

            if (actor.Person.CheckIsDead())
            {
                var deathSoundEffect = _personSoundStorage.GetDeathEffect(actor.Person);
                deathSoundEffect.CreateInstance().Play();
            }
            else
            {
                var impactSoundEffect = _personSoundStorage.GetImpactEffect(actor.Person);
                impactSoundEffect.CreateInstance().Play();
            }
        }
コード例 #7
0
        private void OnUnitDamageTaken(Unit unit, Unit attacker, DamageTakenEventArgs e)
        {
            ConnectionHandler.SendEventToNetwork(new NodeAttackedEventArgs(attacker));

            if (Interlocked.CompareExchange(ref _damageTaken, 1, 0) == 1)
            {
                return;
            }

            Logger.Info($"PBS node attacked ({_pbsUnit.Eid}) attacker: {attacker.InfoString}");

            Task.Delay(TimeSpan.FromSeconds(30)).ContinueWith(t =>
            {
                try
                {
                    _pbsUnit.SendNodeUpdate(PBSEventType.nodeAttacked);
                }
                finally
                {
                    _damageTaken = 0;
                }
            });
        }
コード例 #8
0
 private static void Actor_DamageTaken(object sender, DamageTakenEventArgs e)
 {
     Console.WriteLine($"{sender} taken {e.Value} damage");
 }
コード例 #9
0
 private void Actor_DamageTaken(object sender, DamageTakenEventArgs e)
 {
     _logService.Log($"{sender} take damage {e.Value}");
 }
コード例 #10
0
ファイル: StateManager.cs プロジェクト: nezbo/Descent
        private void DamageTaken(object sender, DamageTakenEventArgs eventArgs)
        {
            Contract.Requires(CurrentState == State.InflictWounds);
            Contract.Requires(FullModel.Board[eventArgs.X, eventArgs.Y].Figure != null);
            Contract.Ensures(CurrentState == Contract.OldValue(CurrentState));

            FullModel.Board[eventArgs.X, eventArgs.Y].Figure.RemoveHealth(eventArgs.Damage);
            if (HasTurn())
            {
                DamageDone(new Point(eventArgs.X, eventArgs.Y));
            }
        }