示例#1
0
 protected IEnumerator EmergeCoroutine(bool flag)
 {
     _emergeState = flag ? EmergeState.ES_Up : EmergeState.ES_Down;
     _emergeTimer = flag ? 0f : _emergeNeedTime;
     while (true)
     {
         if (flag)
         {
             _emergeTimer      += Time.deltaTime;
             _botRenderer.color = Color.Lerp(_whiteNoAlpha, Color.white, _emergeTimer / _emergeNeedTime);
             if (_emergeTimer >= _emergeNeedTime)
             {
                 _trailRenderer.transform.localPosition = Vector3.up * -3.5f;
                 break;
             }
         }
         else
         {
             _emergeTimer      -= Time.deltaTime;
             _botRenderer.color = Color.Lerp(_whiteNoAlpha, Color.white, _emergeTimer / _emergeNeedTime);
             if (_emergeTimer <= 0f)
             {
                 _trailRenderer.transform.localPosition = Vector3.up;
                 SetCourseOnTarget();
                 break;
             }
         }
         yield return(null);
     }
     _emergeState = EmergeState.ES_None;
     _emerged     = flag;
 }
示例#2
0
 private void Awake()
 {
     m_emergeState  = new EmergeState(this);
     m_chasingState = new ChasingState(this);
     m_attackState  = new AttackState(this);
     m_jumpToState  = new JumpToState(this);
     m_exhaustState = new ExhaustState(this);
 }
示例#3
0
    public void OnEnable()
    {
        _emergeState = EmergeState.ES_None;
        GameObject circleGO = InstanceLord.Instance.GetInstance(InstanceLord.InstanceType.IT_CIRCLE);

        //_circleImage = GameController.Instance.GetProgressCricle(transform.position);
        _circleImage = circleGO.GetComponent <Image>();
        _circleImage.gameObject.SetActive(true);
        _circleImage.enabled = false;
        _circleImage.color   = Color.red;
        SetCourseOnTarget();
    }