Exemple #1
0
        protected void OnHitpointsDamageReceiving(object sender, HealthEventArgs e)
        {
            var auras     = _auras.Cast <DamageAura>().ToList();
            var modifiers = auras.Select(aura => aura.modifier);

            e.SetValue(ApplyModifiers(e.value, modifiers));
        }
Exemple #2
0
        public virtual void UpdateHealth(IHealth sender, HealthEventArgs e)
        {
            IsDeadText.enabled = (sender.IsDead) ? true : false;

            CurrentHealth.text  = health.CurrentHealth.ToString();
            CurrentHealth.color = (sender.IsDead) ? Color.red : Color.white;
        }
Exemple #3
0
 /// <summary>
 /// If there are any listeners to the <c>ChangeHealthEvent</c> then it will send out
 /// the message to all the listeners.
 /// </summary>
 /// <param name="e">Any arguments that need to be passed along.</param>
 public virtual void HandleChangeHealth(HealthEventArgs e = null)
 {
     if (ChangeHealthEvent != null)
     {
         ChangeHealthEvent(this, e);
     }
 }
Exemple #4
0
        private void OnDeath(object sender, HealthEventArgs e)
        {
            StartCoroutine(FadeInThenOut(DEATH_QUIPS[UnityEngine.Random.Range(0, DEATH_QUIPS.Length)], 0.1f, 0.005f));

            // this is a dumb spot for this but I dont care
            gameManager.Spawner.ReSpawn(e.Causee.Player);
            e.Causee.Player.Health.Revive();
        }
Exemple #5
0
        protected void OnDeathBegin(HealthEventArgs e)
        {
            StopTimer();

            // Wait for death sequence to finish, then show the game over or time over screen
            if (IsTimeOver) StartCoroutine(WaitForDeathComplete(TimeOver));
            else StartCoroutine(WaitForDeathComplete(LoseLife));
        }
Exemple #6
0
 private void Killed(object sender, HealthEventArgs e)
 {
     // Character is dead, turn off all status effects
     foreach (var pair in m_statusEffects)
     {
         pair.Value.Unapply();
     }
 }
Exemple #7
0
 private void Damaged(object sender, HealthEventArgs e)
 {
     // If impactDamageType is the same as splashDamageType AND impact did not apply status effect
     // Try apply status effect from splashDamage
     if (!ApplyStatusEffect(e.impactDamage, e.impactDamageType) || e.impactDamageType != e.splashDamageType)
     {
         ApplyStatusEffect(e.splashDamage, e.splashDamageType);
     }
 }
Exemple #8
0
    public void OnHealthChanged(HealthEventArgs args)
    {
        if (args.Tag != observedTag)
        {
            return;
        }

        CalculateWidget(args.HP, args.MaxHP);
    }
        private void Player_PlayerTakeHit(object sender, HealthEventArgs e)
        {
            Player player  = (Player)e.SourceEntity; //攻撃する法
            Player player2 = (Player)e.TargetEntity; //受けるほう

            player.SendMessage("you are source");
            player2.SendMessage("you are target");
            player.Level.BroadcastMessage("isdead : " + player2.HealthManager.IsDead + " health : " + player2.HealthManager.Health + " hearts : " + player2.HealthManager.Hearts);//healthかheartsが0ならば死んだ。
        }
    /// <summary>
    /// Событие "уровень здоровья изменился"
    /// </summary>
    protected virtual void OnHealthChanged(HealthEventArgs e)
    {
        EventHandler <HealthEventArgs> handler = healthChangedEvent;

        if (handler != null)
        {
            handler(this, e);
        }
    }
Exemple #11
0
    private void NotifyOtherObjects()
    {
        if (DebugMode)
        {
            Debug.Log("Notifying other objects about an HP change!");
        }

        HealthEventArgs args = new HealthEventArgs(HP, MaxHP, gameObject.tag);

        _ambassador.SendMessage(_changeEvent, args, SendMessageOptions.DontRequireReceiver);
        _healthProvider.SendMessage(_changeEvent, args, SendMessageOptions.DontRequireReceiver);
    }
Exemple #12
0
        private void Damaged(object sender, HealthEventArgs e)
        {
            if ((e.impactDamage > 0f && e.impactDamageType == data.counterDamageType) ||
                (e.splashDamage > 0f && e.splashDamageType == data.counterDamageType))
            {
                Unapply();
            }

            if (e.impactDamage > 0f && !string.IsNullOrWhiteSpace(data.shatterDamageType) && e.impactDamageType == data.shatterDamageType)
            {
                Unapply();
                m_health.Kill(e.killer);
            }
        }
Exemple #13
0
    public void OnHealthChanged(HealthEventArgs args)
    {
        if (args.Tag != observedTag)
        {
            return;
        }

        DebugMessage("HP has changed!");

        if (args.HP > 0)
        {
            return;
        }

        StartCoroutine(ReloadLevelSequence());
    }
Exemple #14
0
        private void HealthManagerOnPlayerKilled(object sender, HealthEventArgs eventArgs)
        {
            Player targetPlayer = eventArgs.TargetEntity as Player;

            if (targetPlayer != null)
            {
                PlayerDeaths[targetPlayer]++;
            }

            Player sourcePlayer = eventArgs.TargetEntity as Player;

            if (sourcePlayer != null)
            {
                PlayerKills[sourcePlayer]++;
            }
        }
        private void Player_PlayerTakeHit(object sender, HealthEventArgs e)
        {
            Player player = (Player)e.TargetEntity;//受けるほう

            player.BroadcastEntityEvent();
            if (0 >= player.HealthManager.Health)
            {
                //https://github.com/DarkLexFirst/SkyBlock-test/blob/25483451a6a2333da3b10bdf33ead546552df26f/SkyBlock%20betaRelease/SkyBlock%20betaRelease/Managers/InventoryManager.cs
                string Inv = player.Inventory.GetSlots()[0].Id + "," + player.Inventory.GetSlots()[0].Metadata + "," + player.Inventory.GetSlots()[0].Count;
                for (var i = 1; i < player.Inventory.Slots.Count; i++)
                {
                    Inv = Inv + "|" + player.Inventory.GetSlots()[i].Id + "," + player.Inventory.GetSlots()[i].Metadata + "," + player.Inventory.GetSlots()[i].Count;
                }
                string Arm = player.Inventory.Boots.Id + "," + player.Inventory.Boots.Metadata + "|" + player.Inventory.Leggings.Id + "," + player.Inventory.Leggings.Metadata + "|" + player.Inventory.Chest.Id + "," + player.Inventory.Chest.Metadata + "|" + player.Inventory.Helmet.Id + "," + player.Inventory.Helmet.Metadata;
                for (var i = 1; i < player.Inventory.Slots.Count; i++)
                {
                    player.Inventory.Slots[i] = new ItemAir();
                }
                inv.Add(player.Username, Inv);
                arm.Add(player.Username, Arm);
                player.Inventory.Clear();
                player.HealthManager.TakeHit((Player)e.SourceEntity, 100, player.HealthManager.LastDamageCause);
                player.SendMessage("aaa");

                if (player != null)
                {
                    player.SendUpdateAttributes();
                    player.BroadcastEntityEvent();
                }

                player.BroadcastSetEntityData();
                player.DespawnEntity();
                var mcpeRespawn = McpeRespawn.CreateObject();
                mcpeRespawn.x = player.SpawnPosition.X;
                mcpeRespawn.y = player.SpawnPosition.Y;
                mcpeRespawn.z = player.SpawnPosition.Z;
                player.SendPackage(mcpeRespawn);
                player.HealthManager.ResetHealth();
            }
        }
Exemple #16
0
 public void OnHurt(HealthEventArgs e)
 {
     Remove();
 }
 private void Damaged(object sender, HealthEventArgs e)
 {
     onDamaged.Invoke(e);
 }
 public void OnHealthChanged(object sender, HealthEventArgs e)
 {
     this.Max   = _hero.MaxHealth;
     this.Value = _hero.Health;
 }
 protected virtual void EvaluateRegenerationStatus(object sender, HealthEventArgs e)
 {
     EvaluateRegenerationStatus();
 }
 private void Healed(object sender, HealthEventArgs e)
 {
     onHealed.Invoke(e);
 }
 /// <summary>
 /// Обработать событие "Здоровье изменилось"
 /// </summary>
 protected virtual void HandleHealthChanges(object sender, HealthEventArgs e)
 {
     ConsiderHealth(e.HP);
 }
Exemple #22
0
    private void Health_healthChange(object sender, HealthEventArgs e)
    {
        int newhealthValue = e.healthPoints > 0 ? e.healthPoints : 0;

        healthSlider.value = newhealthValue;
    }
 private void Health_healthDepleted(object sender, HealthEventArgs e)
 {
     Die();
 }
Exemple #24
0
 public virtual void UpdateHealth(IHealth sender, HealthEventArgs e)
 {
     HandleChangeHealth(e);
 }
Exemple #25
0
 protected void OnDeath(HealthEventArgs e)
 {
     Camera.Wait(999f);
 }