Example #1
0
    public void RewindEnd()
    {
        //Remove rewinded positions
        mActions.RemoveRange((mActions.Count - mActionItr + 1), mActionItr - 1);
        mActionItr = 1;

        float yMoveDir = s_Utils.ShortToFloat(mActions[mActions.Count - 1].GetYVel());

        Debug.Log(yMoveDir);
        //Re apply vertical velocity for physics objects
        if (mPhysics && yMoveDir != 0 && yMoveDir != -1)         //Player's is -1 because of how his collision works
        {
            mPhysics.AddVerticalVelocity(yMoveDir, s_TimeManager.sTimeStamp - mActions[mActions.Count - 1].GetTimeStamp());
        }

        //Important to add your current position right after rewind stops
        AddCurrentPosition();
    }