Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 private void Awake()
 {
     Active = this;
 }