void Start() { currentState = State.PLAYING; disc = FindObjectOfType <DiscMovementIA>().gameObject; discMovement = FindObjectOfType <DiscMovementIA>().GetComponent <DiscMovementIA>(); discStartPosition = FindObjectOfType <DiscMovementIA>().gameObject.transform.position; }
void ChangeState(State newState) { switch (currentState) { //Exit case State.PLAYING: pointScoredBool = false; break; case State.RESTART_DISC: discMovement.holdDisc = false; discMeshRotation.canRotate = true; break; } switch (newState) { //Enter case State.PLAYING: p1.playerCC.detectCollisions = true; break; case State.RESTART_DISC: startDiscTimer = true; Destroy(discMovement.gameObject); GameObject newDisc = Instantiate(discPrefab); newDisc.transform.position = discStartPosition; discMovement = newDisc.GetComponent <DiscMovementIA>(); discMeshRotation = newDisc.GetComponentInChildren <Disc_MeshRotation>(); discMovement.holdDisc = true; discMeshRotation.canRotate = false; discMovement.direction = discMoveDirection; p1.canMove = true; p1.playerCC.detectCollisions = false; IA.discGameobject = newDisc; break; } currentState = newState; }