Beispiel #1
0
    // handle the physics of the engine
    void FixedUpdate()
    {
        if (playback == null)
        {
            return;
        }

        float steer = 0;         // steering -1.0 .. 1.0
        float accel = 0;         // accelerating -1.0 .. 1.0
        int   gear  = CurrentGear;

        if (playbackPos > endPos)
        {
            Destroy(gameObject);
            return;
        }
        JCarPoint d = playback.GetHistory(playbackPos++);

        steer = d.steer;
        accel = d.accel;
        gear  = d.gear;

        transform.localPosition = d.pos;
        transform.localRotation = d.rot;
        rigidbody.velocity      = d.vel;
        if (gear > CurrentGear)
        {
            ShiftUp();
        }
        else if (gear < CurrentGear)
        {
            ShiftDown();
        }
        HandleMotor(steer, accel);
    }
Beispiel #2
0
 public void Activate(int startStamp, int endStamp)
 {
     playbackPos = startStamp;
     endPos      = endStamp;
     if (playback.IsValid(playbackPos))
     {
         JCarPoint d = playback.GetHistory(playbackPos);
         transform.localPosition = d.pos;
         transform.localRotation = d.rot;
         gameObject.SetActiveRecursively(true);
     }
     else
     {
         Destroy(gameObject);
     }
 }