void SetState(State nextState) { if (currentState == nextState) { return; } switch (nextState) { case State.Idle: Behaviour = new ScrollableBehaviour(0.0f); break; case State.Chase: Behaviour = new ScrollableBehaviour(enemyData.moveSpeed); GetComponent <SpriteRenderer>().flipX = false; break; case State.Run: Behaviour = new ScrollableBehaviour(0.0f); GetComponent <SpriteRenderer>().flipX = true; break; case State.Die: Behaviour = new ScrollableBehaviour(2 * enemyData.moveSpeed); currentHealth = 0; break; } currentState = nextState; }
void SetState(State nextState) { if (currentState == nextState) { return; } switch (nextState) { case State.Idle: Behaviour = new FlowPointBehaviour(new Vector2(GameManager.Instance.screenBounds.x / 2.0f, 0.0f), moveSpeed); break; case State.Chase: Behaviour = new ScrollableBehaviour(moveSpeed); break; case State.Roam: Behaviour = new RoamingBehaviour(moveSpeed); break; case State.Die: Behaviour = new ScrollableBehaviour(0.0f); currentHealth = 0; break; } currentState = nextState; }