void Awake() { base.Awake(); eValue = EnemyValue.Rush; rushState = EnemyRushState.Ready; }
void RushStateUpdate() { switch (rushState) { case EnemyRushState.Ready: nowReadyTime += Time.deltaTime; if (nowReadyTime >= readyTime) { rushState = EnemyRushState.Start; } break; case EnemyRushState.Start: break; case EnemyRushState.Rush: break; case EnemyRushState.Attack: break; } }
void RushCheckUpdate() { if (nowRushCoolTime > 0 || eState == EnemyState.Rush) { return; } if (Vector2.Distance(hero.transform.position, this.transform.position) <= maxRushDis) { LayerMask wallLayer = 1 << LayerMask.NameToLayer("Wall"); RaycastHit2D hit = Physics2D.Raycast(hpPos.transform.position, isLeft ? Vector2.left : Vector2.right, wallMaxDis, wallLayer); if (hit != null) { eState = EnemyState.Rush; rushState = EnemyRushState.Ready; rushStartPos = this.transform.position; nowReadyTime = 0f; } // LayerMask ignoreLayer = 1 << LayerMask.NameToLayer("Plat") | 1 << LayerMask.NameToLayer("Wall"); // RaycastHit2D hit = Physics2D.Raycast(ropeStart.transform.position, direction, Mathf.Infinity, ignoreLayer); //cast downwards } }