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