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); }