Exemple #1
0
 public DamageData(int mindex, Transform mspawn_point, Vector3 moffset, int mdamage, CombatDamagesHUD.eDamageTextType mtext_type)
 {
     spawn_point = mspawn_point;
     offset      = moffset;
     damage      = mdamage;
     text_type   = mtext_type;
     index       = mindex;
 }
Exemple #2
0
        public void OnHitCombatantListener(Hotfix_LT.Combat.CombatHitDamageEvent e)
        {
            Hotfix_LT.Combat.Combatant combatant = e.TargetCombatant.GetComponent <Hotfix_LT.Combat.Combatant>();
            Vector3 offset = combatant.damageTextOffset;

            CombatDamagesHUD.eDamageTextType text_type = CombatDamagesHUD.eDamageTextType.Attack;
            if (e.ShowDamage < 0)
            {
                text_type = CombatDamagesHUD.eDamageTextType.Heal;
                offset    = combatant.healTextOffset;
            }
            else if (e.IsCrit)
            {
                text_type = CombatDamagesHUD.eDamageTextType.Crit;
            }
            ShowDamages(combatant.Data.Index.GetHashCode(), combatant.DamageTextTarget, offset, e.Shield > 0 ? e.Damage : e.ShowDamage, text_type);
        }
Exemple #3
0
        private void ShowDamagesFunc(Transform spawn_point, Vector3 offset, int damage, CombatDamagesHUD.eDamageTextType text_type)
        {
            if (_instance == null || spawn_point == null)
            {
                return;
            }

            CombatDamagesHUD hud = GetHUDFromPool();

            hud.ShowDamage(damage, spawn_point, offset, text_type, delegate()
            {
                PutHUDInPool(hud);
            });
        }
Exemple #4
0
        private void ShowDamages(int index, Transform spawn_point, Vector3 offset, int damage, CombatDamagesHUD.eDamageTextType text_type)
        {
            DamageData data  = new DamageData(index, spawn_point, offset, damage, text_type);
            bool       isNew = false;

            if (!DamageQueueDic.ContainsKey(index))
            {
                DamageQueueDic.Add(index, new Queue <DamageData>());
                isNew = true;
            }
            DamageQueueDic[index].Enqueue(data);

            if (isNew)
            {
                int timer = ILRTimerManager.instance.AddTimer(150, 0, ShowDamagesTimer);
                timerDic.Add(timer, index);
            }
        }