Esempio n. 1
0
 private void OnUnitHealthChanged(HealthChangeEvent healthChangeEvent)
 {
     for (int i = 0; i < _fillSegmentInstances.Count; i++)
     {
         _fillSegmentInstances[i].Filled = i < healthChangeEvent.Health.Current;
     }
 }
        private void Awake()
        {
            if (onMaxHealthChange == null)
            {
                onMaxHealthChange = new HealthChangeEvent();
            }

            if (onHealthChange == null)
            {
                onHealthChange = new HealthChangeEvent();
            }

            if (onDeath == null)
            {
                onDeath = new UnityEvent();
            }

            if (onAttackStart == null)
            {
                onAttackStart = new UnityEvent();
            }

            if (onAttackEnd == null)
            {
                onAttackEnd = new UnityEvent();
            }
        }
Esempio n. 3
0
    public static UpdateHealth Create(HealthChangeEvent e)
    {
        var updateHealth = new GameObject("UpdateHealth").AddComponent <UpdateHealth>();

        updateHealth.tag = "DontDestroyOnTrigger";
        updateHealth.Initialize(e);
        return(updateHealth);
    }
 private void OnHealthChanged(HealthChangeEvent args)
 {
     if (args.Health.Current == 0)
     {
         CanAttack = CanAttack ? false : CanAttack;
         CanMove   = CanMove ? false : CanMove;
     }
 }
Esempio n. 5
0
 private void OnBuildingHealthChanged(HealthChangeEvent healthChangeEvent)
 {
     if (_gameboard.World.Buildings.All(x => x.Health.Current == 0))
     {
         _sequencer.SetToEndGame();
         _eventsController.EndGame(new GameEndedResult(GameEndedResultState.Loss));
     }
 }
Esempio n. 6
0
 public void OnHealthChangeEvent(int damage)
 {
     _baseHealth -= damage;
     if (_baseHealth <= 0)
     {
         EndGameEvent?.Invoke();
     }
     HealthChangeEvent?.Invoke(_baseHealth);
 }
Esempio n. 7
0
 void OnHealthChanged(HealthChangeEvent obj)
 {
     if (obj.NewValue <= 0)
     {
         LogEx.Log <Character>("{0} fainted...", name);
         ActiveState = ActiveState.Fainted;
         Fainted.InvokeSafe(this);
     }
 }
Esempio n. 8
0
    void CheckSource(HealthChangeEvent healthChange)
    {
        if (_ignoreSelfDamage && healthChange.Source == healthChange.Reciever)
        {
            return;
        }

        OnHealthChanged(healthChange);
    }
Esempio n. 9
0
 private void OnHealthChange(HealthChangeEvent hce)
 {
     if (hce.amount < 0)
     {
         flashTimer   = FlashDuration;
         shakeBasePos = transform.localPosition;
         shakeDir     = Vector3.down;
         SetFlash(true);
     }
 }
Esempio n. 10
0
    protected void Relay(HealthChangeEvent healthChange)
    {
        foreach (var action in GetComponents <TargetedAction>())
        {
            //action.Initialize(BattleSystem);
            action.SetSource(healthChange.Source);
            action.SetReciever(healthChange.Reciever);

            BattleSystem.RegisterAction(action);
        }
    }
Esempio n. 11
0
    public void OnHealthChange(int newHealth)
    {
        HealthChangeEvent e = GetEventSystem <HealthChangeEvent>()
                              .CallListners(new HealthChangeEvent(gameObject, healthValue, newHealth));

        if (e.IsCancel)
        {
            return;
        }
        healthValue = e.NewHealth;
    }
Esempio n. 12
0
    public void Heal(GameObject source, int amount)
    {
        HealthChangeEvent healthChangeEvent = new HealthChangeEvent(source, gameObject, amount);

        OnHeal.Invoke(healthChangeEvent);

        if (!healthChangeEvent.Cancelled)
        {
            Health += healthChangeEvent.HealthDelta;
        }
    }
Esempio n. 13
0
    protected override void OnHealthChanged(HealthChangeEvent healthChange)
    {
        base.OnHealthChanged(healthChange);

        if (!EqualityHelper.IsEqual(Equality, healthChange.NewValue, Threshold))
        {
            return;
        }

        Relay(healthChange);
    }
Esempio n. 14
0
 public void OnReceiveDamage(HealthChangeEvent e)
 {
     if (Invincible)
     {
         e.Cancel();
     }
     else
     {
         Invincible = true;
         StartCoroutine("Flash");
         Invoke("ResetInvincibility", InvincibilityTime);
     }
 }
Esempio n. 15
0
    public void ReceiveEvent(object sender, HealthChangeEvent eventArgs)
    {
        KeyValuePair <Transform, CharacterType> pair = new KeyValuePair <Transform, CharacterType>(eventArgs.HealthChanger, eventArgs.CharacterType);

        if (_damageDealt.ContainsKey(pair))
        {
            _damageDealt[pair] += eventArgs.Amount;
        }
        else
        {
            _damageDealt[pair] = eventArgs.Amount;
        }
    }
Esempio n. 16
0
    //change the health to the required amount
    public void ChangeHealth(float amount, Transform source)
    {
        _health += amount;
        //Debug.Log(transform.root.name + ": " + _health);

        HealthChangeEvent message = new HealthChangeEvent();

        message.CharacterType = _characterType;
        message.Amount        = amount;
        message.HealthChanger = source;
        _healthEventH(this, message);

        if (amount < 0)
        {
            CheckDeath(amount, source);
        }
    }
Esempio n. 17
0
    public bool Damage(GameObject source, int amount)
    {
        HealthChangeEvent healthChangeEvent = new HealthChangeEvent(source, gameObject, -amount);

        OnDamage.Invoke(healthChangeEvent);

        if (!healthChangeEvent.Cancelled)
        {
            Health += healthChangeEvent.HealthDelta;
        }
        else
        {
            Debug.Log("Damage cancelled.");
        }

        return(!healthChangeEvent.Cancelled);
    }
Esempio n. 18
0
 public void HealthChange(HealthChangeEvent e)
 {
     //Note for the % version of this part of the HUD. Replace the Entinty.Player.Max... with EntityManager.Player.TotalHealth
     healthbarSize.Width = (int)((EntityManager.Player.Health / EntityManager.Player.MaxHealth) * barTex.Width);
     shieldbarSize.Width = (int)((EntityManager.Player.Shields / EntityManager.Player.MaxShields) * barTex.Width);
 }
Esempio n. 19
0
 private void TurretTakesDamage(HealthChangeEvent e)
 {
     FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Enemies/Enemy_Damage", transform.position);
 }
Esempio n. 20
0
 public void Initialize(HealthChangeEvent healthChange)
 {
     _healthChange = healthChange;
 }
 void OnHealthChanged(HealthChangeEvent arg)
 {
     _battleSystem.RegisterAction(UpdateHealth.Create(arg));
 }
Esempio n. 22
0
 private void OnHealthChange(HealthChangeEvent e)
 {
     healthChanged = true;
 }
 // Use this for initialization
 void Awake()
 {
     healthChange = new HealthChangeEvent();
 }
Esempio n. 24
0
    private void OnHealthChange(HealthChangeEvent e)
    {
        health_state.setParameterByName("Player_Health", health.HealthRatio);

        healthBar.Fill = health.HealthRatio;
    }
Esempio n. 25
0
 protected virtual void OnHealthChanged(HealthChangeEvent healthChange)
 {
 }
Esempio n. 26
0
 public void DoDamage()
 {
     HealthChangeEvent?.Invoke(_damage);
 }
Esempio n. 27
0
 protected override void OnHealthChanged(HealthChangeEvent healthChange)
 {
     base.OnHealthChanged(healthChange);
     Relay(healthChange);
 }
Esempio n. 28
0
 public void RegisterHealthEvent(HealthChangeEvent e)
 {
     m_HealthEvents += e;
 }
 private void TriggerHealthChangeEvent()
 {
     HealthChangeEvent?.Invoke();
 }