void ClearStateOnRestore()
 {
     releasedFromCeiling    = false;
     overrideSkillCheck     = false;
     isSlipping             = false;
     atOutsideCorner        = false;
     atInsideCorner         = false;
     lastHorizontalPosition = Vector2.zero;
     adjacentLedgeDirection = Vector3.zero;
     moveDirection          = Vector3.zero;
     myStrafeRay            = new Ray();
     adjacentWallRay        = new Ray();
     cornerNormalRay        = new Ray();
     rappelMotor.ResetRappelState();
     moveScanner.ResetAdjacentSurfaces();
 }