Ejemplo n.º 1
0
    public override void HitDamage(float dmg, bool onedead = false)
    {
        if (GetStillAlive())
        {
            HitEffect();
            //SoundMng.Data.PlayEffectSound(EffectSound.Boss_Hit, 0, transform);
            if (Random.Range(0, 100) < _AvoidPer)
            {
                dmg = 0;
            }
            _NowHP -= dmg;
            DamageFont obj = ObjectPoolingMng.Data._DamageFontObjList[ObjectPoolingMng.Data.UseDamageFont()];

            if (dmg < 1.0f && 0 < dmg)
            {
                obj.SetDamage(1, GetUnitHPPos() + new Vector2(0, 1), true);
            }
            else
            {
                obj.SetDamage((int)dmg, GetUnitHPPos() + new Vector2(0, 1), true);
            }
            if (_NowHP <= 0.0f)
            {
                DeadUnit();
                if (_IsBoss)
                {
                    StageMng.Data.LastBossDestroy();
                }
            }
        }
    }
Ejemplo n.º 2
0
    public void SetHeartPercent(int perc)
    {
        float dmg = (perc / 100.0f) * _MaxHP;
        float max = _MaxHP - _NowHP;

        _NowHP += dmg;


        if (_NowHP >= _MaxHP)
        {
            _NowHP = _MaxHP;
        }
        if (dmg > max)
        {
            dmg = max;
        }

        DamageFont obj = ObjectPoolingMng.Data._DamageFontObjList[ObjectPoolingMng.Data.UseDamageFont()];

        if (dmg < 1.0f && 0 < dmg)
        {
            obj.SetDamage(1, GetUnitHPPos(), IsEnemy());
        }
        else
        {
            obj.SetDamage((int)dmg, GetUnitHPPos(), IsEnemy());
        }
        obj.IsHeal();
    }
Ejemplo n.º 3
0
 public virtual void HitDamage(float dmg, bool onedead = false)
 {
     if (GetStillAlive())
     {
         HitEffect();
         if (onedead)
         {
             dmg = _MaxHP;
         }
         _NowHP -= dmg;
         DamageFont obj = ObjectPoolingMng.Data._DamageFontObjList[ObjectPoolingMng.Data.UseDamageFont()];
         if (dmg < 1.0f && 0 < dmg)
         {
             obj.SetDamage(1, GetUnitHPPos(), IsEnemy(), onedead);
         }
         else
         {
             obj.SetDamage((int)dmg, GetUnitHPPos(), IsEnemy(), onedead);
         }
         if (_NowHP <= 0.0f)
         {
             DeadUnit();
         }
     }
 }
Ejemplo n.º 4
0
    public void ShowDamage(int _damage, Vector3 _position, bool _bCritical)
    {
        GameObject damgeFontObj = ObjectPool.Inst.PopFromPool(damageFontName);

        damgeFontObj.SetActive(true);
        damgeFontObj.transform.position = _position;

        DamageFont damageFont = damgeFontObj.GetComponent <DamageFont>();

        damageFont.DamageFontInit(damageFontOption);
        damageFont.SetDamage(_damage, _bCritical);
    }
Ejemplo n.º 5
0
 public override void HitDamage(float dmg, bool onedead = false)
 {
     if (GetStillAlive())
     {
         HitEffect();
         SoundMng.Data.PlayEffectSound(EffectSound.Castle_Hit, 0, transform);
         _NowHP -= dmg;
         DamageFont obj = ObjectPoolingMng.Data._DamageFontObjList[ObjectPoolingMng.Data.UseDamageFont()];
         obj.SetDamage((int)dmg, GetUnitHPPos() + new Vector2(0, 1), true);
         if (_NowHP <= 0.0f)
         {
             DeadUnit();
             StageMng.Data.LastBossDestroy();
         }
     }
 }
Ejemplo n.º 6
0
 public override void HitDamage(float dmg, bool onedead = false)
 {
     if (GetStillAlive())
     {
         //SoundMng.Data.PlayEffectSound(EffectSound.MySoldier_Hit, 0, transform);
         HitEffect();
         if (_ShapeType == 3 || SoldierShapeBuffMng.Data.GetShapeOn_Seven_Club())
         {
             if (Random.Range(0, 100) < SoldierShapeBuffMng.Data._ClubData[UpgradeMng.Data._Level_Shape_Club - 1])
             {
                 dmg = 0;
             }
         }
         _NowHP -= dmg;
         DamageFont obj = ObjectPoolingMng.Data._DamageFontObjList[ObjectPoolingMng.Data.UseDamageFont()];
         obj.SetDamage((int)dmg, GetUnitHPPos(), false);
         if (_NowHP <= 0.0f && !_Bursucker)
         {
             Bursucker();
         }
     }
 }