Ejemplo n.º 1
0
 public void InitializeRace(RaceGameController raceGameController)
 {
     this.raceGameController = raceGameController;
     fixedSpeed             = 0f;
     interpolatedFixedSpeed = fixedSpeed;
     maxSpeed             = myMutableData.RaceTrackProperties.MaxSpeed;
     interpolatedMaxSpeed = maxSpeed;
     firstTrackDir        = false;
     chaseCamera          = null;
     raceControllerMode   = RaceControllerMode.Countdown;
     delayUI = 2;
 }
Ejemplo n.º 2
0
 private bool launch(RaceGameEvents.Launch e)
 {
     if (isLocalPlayer)
     {
         raceControllerMode = RaceControllerMode.Launch;
         jumpRequest.Set();
         steerVel = trackDir * myMutableData.LaunchImpulse;
         speedLines.SetActive(value: true);
         ChaseCamera chaseCamera = ClubPenguin.Core.SceneRefs.Get <ChaseCamera>();
         if (chaseCamera != null)
         {
             chaseCamera.Enable(base.gameObject);
         }
         setControlsEnabled(enabled: false);
     }
     return(false);
 }
Ejemplo n.º 3
0
 public override void Steer(Vector2 steerInput)
 {
     if (raceControllerMode == RaceControllerMode.Launch)
     {
         raceControllerMode = RaceControllerMode.Race;
     }
     else
     {
         if (mode != Mode.PhysicsDriven)
         {
             return;
         }
         if (raceControllerMode == RaceControllerMode.Countdown)
         {
             steerVel  = lateralRotation * (steerInput.x * trackDir * myMutableData.LateralThrustScale);
             steerVel += myMutableData.ConstantForwardThrust * interpolatedTrackDir;
             steerVel *= (isFloatingOnWater ? myMutableData.ImpulseScaleOnWater : myMutableData.ImpulseScale);
         }
         else if (firstTrackDir)
         {
             steerVel = lateralRotation * (steerInput.x * trackDir * myMutableData.LateralThrustScale);
             if (pilotBody.velocity.sqrMagnitude < constantForwardThrustThresholdSquared)
             {
                 steerVel += myMutableData.ConstantForwardThrust * interpolatedTrackDir;
             }
             steerVel *= (isFloatingOnWater ? myMutableData.ImpulseScaleOnWater : myMutableData.ImpulseScale);
         }
         else
         {
             steerVel  = myMutableData.ConstantForwardThrust * trackDir;
             steerVel *= (isFloatingOnWater ? myMutableData.ImpulseScaleOnWater : myMutableData.ImpulseScale);
         }
         base.Broadcaster.BroadcastOnStickDirectionEvent(steerInput);
         base.Broadcaster.BroadcastOnSteerDirectionEvent(steerVel);
     }
 }