public RacePlayer(Ball ball, MatchMessenger matchMessenger, MatchPlayer associatedMatchPlayer) { sr = StageReferences.Active; this.matchMessenger = matchMessenger; this.associatedMatchPlayer = associatedMatchPlayer; matchMessenger.CreateListener <CheckpointPassedMessage>(CheckpointPassedHandler); matchMessenger.CreateListener <RaceTimeoutMessage>(RaceTimeoutHandler); lap = 1; ball.CanMove = false; ball.AutoBrake = true; ball.CheckpointPassed += Ball_CheckpointPassed; ball.RespawnRequested += Ball_RespawnRequested; currentCheckpointPos = sr.checkpoints[0].transform.position; this.ball = ball; ball.CameraCreated += (sender, e) => { ballCamera = e.CameraCreated; ballCamera.SetDirection(sr.checkpoints[0].transform.rotation); }; checkpointTimes = new float[StageReferences.Active.checkpoints.Length]; SetNextCheckpoint(); }
private void Awake() { Active = this; }