private static T SetupDoorBase <T>(CPBlock block, SecurityDoor door) where T : CPContext, new() { Vector3 position = door.m_bioScanAlign.position; if (!PhysicsUtil.SlamPos(ref position, Vector3.down, 4.0f, LayerManager.MASK_LEVELGEN, false, 0f, 1.0f)) { return(null); } return(SetupBase <T>(block, door.Gate.ProgressionSourceArea, position, door.transform)); }