Beispiel #1
0
    public override void AttackedByEnemies(int _damage, bool _IsCritical = false)
    {
        if (m_IsDead == false)
        {
            if (m_HP <= _damage)
            {
                m_HP = 0;
                StopAnimation();
                StartMoveMonster();
                m_IsDead = true;
                m_IsMove = true;

                m_CharacterAnimation.PlayAnimation(eCharacterAnimState.Dead, false);

                // 재화 증가 능력치 적용
                int   goldUpLevel = MainController.Instance.UserInfo.GetUserAbilityLevel(eHeroAbilityKind.GOLDUP);
                float goldUp      = MainController.Instance.GetHeroAbilityLevel(eHeroAbilityKind.GOLDUP, goldUpLevel).Effect;
                // 반올림
                double GoldUpGold = Math.Round(m_MonsterInfo.DropGold * goldUp);

                // 유저 정보 수정
                MainController.Instance.UserInfo.ChangeUserGold((int)GoldUpGold);
                MainController.Instance.UserInfo.SaveUser();

                GameObject obj1 = ResourceManager.GetOBJCreatePrefab("Prefab_Damage", Position_Damage.transform);
                UIDamage   gold = obj1.GetComponent <UIDamage>();

                gold.Initailize(eDamageState.Gold, (int)GoldUpGold);

                if (AdventureSceneManager.Instance != null)
                {
                    AdventureSceneManager.Instance.RenewalTabUI();
                }
            }
            else if (m_HP > _damage)
            {
                m_HP = m_HP - _damage;
            }
            m_HPBar.SetStatePoint(m_HP);

            GameObject obj    = ResourceManager.GetOBJCreatePrefab("Prefab_Damage", Position_Damage.transform);
            UIDamage   damage = obj.GetComponent <UIDamage>();

            if (_IsCritical == false)
            {
                damage.Initailize(eDamageState.Damage, _damage);
            }
            else
            {
                damage.Initailize(eDamageState.Critical, _damage);
            }
        }
    }
 public void PlayAnimation(eCharacterAnimState _state, bool _loop)
 {
     m_CharacterAnimation.PlayAnimation(_state, _loop);
 }