示例#1
0
    private void OnEnable()
    {
        mTimer.StopWorking();
        mState         = eEnemyState.Idle;
        mTimer.enabled = false;
        mStateMachine  = StartCoroutine(AutoMove());
        mCurrentHP     = mHP;
        Debug.Log(EnemyHPBarPool.Instance);
        mHPBar = EnemyHPBarPool.Instance.GetFromPool();

        mHPBar.ShowGauge(mCurrentHP, mHP);
        //Vector3 screenPos = Camera.main.WorldToScreenPoint(mHPBarPos.position);
        mHPBar.transform.position = mHPBarPos.position;
    }
示例#2
0
 public void Hit(float damage)
 {
     mCurrentHP -= damage;
     if (mHPBar == null)
     {
         return;
     }
     mHPBar.ShowGauge(mCurrentHP, mHP);
     if (mCurrentHP <= 0)
     {
         mState = eEnemyState.Die;
         StateCheck();
         StopCoroutine(mStateMachine);
         mHPBar.ShowPoint(2);
         mHPBar = null;
         IngameController.Instance.AddScore(1);
     }
 }