void OnEnable() { try { _target = (CurvedWorld.CurvedWorldController)target; } catch { _target = null; } if (_target == null || serializedObject == null) { //do nothing } else { LoadProperties(); } }
static public Vector3 TransformPosition(Vector3 vertex, CurvedWorld.CurvedWorldController controller) { if (controller == null || (controller.disableInEditor && Application.isEditor && Application.isPlaying == false)) { return(vertex); } switch (controller.bendType) { case BEND_TYPE.ClassicRunner_X_Positive: case BEND_TYPE.ClassicRunner_X_Negative: case BEND_TYPE.ClassicRunner_Z_Positive: case BEND_TYPE.ClassicRunner_Z_Negative: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, new Vector2(controller.bendVerticalSize, controller.bendHorizontalSize), new Vector2(controller.bendVerticalOffset, controller.bendHorizontalOffset))); } case BEND_TYPE.TwistedSpiral_X_Positive: case BEND_TYPE.TwistedSpiral_X_Negative: case BEND_TYPE.TwistedSpiral_Z_Positive: case BEND_TYPE.TwistedSpiral_Z_Negative: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, controller.bendRotationAxis, new Vector3(controller.bendCurvatureSize, controller.bendVerticalSize, controller.bendHorizontalSize), new Vector3(controller.bendCurvatureOffset, controller.bendVerticalOffset, controller.bendHorizontalOffset))); } case BEND_TYPE.LittlePlanet_X: case BEND_TYPE.LittlePlanet_Y: case BEND_TYPE.LittlePlanet_Z: case BEND_TYPE.CylindricalTower_X: case BEND_TYPE.CylindricalTower_Z: case BEND_TYPE.CylindricalRolloff_X: case BEND_TYPE.CylindricalRolloff_Z: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, controller.bendCurvatureSize, controller.bendCurvatureOffset)); } case BEND_TYPE.SpiralHorizontal_X_Positive: case BEND_TYPE.SpiralHorizontal_X_Negative: case BEND_TYPE.SpiralHorizontal_Z_Positive: case BEND_TYPE.SpiralHorizontal_Z_Negative: case BEND_TYPE.SpiralVertical_X_Positive: case BEND_TYPE.SpiralVertical_X_Negative: case BEND_TYPE.SpiralVertical_Z_Positive: case BEND_TYPE.SpiralVertical_Z_Negative: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, controller.bendRotationCenterPosition, controller.bendAngle, controller.bendMinimumRadius)); } case BEND_TYPE.SpiralHorizontalDouble_X: case BEND_TYPE.SpiralHorizontalDouble_Z: case BEND_TYPE.SpiralVerticalDouble_X: case BEND_TYPE.SpiralVerticalDouble_Z: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, controller.bendRotationCenterPosition, controller.bendRotationCenter2Position, controller.bendAngle, controller.bendMinimumRadius, controller.bendAngle2, controller.bendMinimumRadius2)); } case BEND_TYPE.SpiralHorizontalRolloff_X: case BEND_TYPE.SpiralHorizontalRolloff_Z: case BEND_TYPE.SpiralVerticalRolloff_X: case BEND_TYPE.SpiralVerticalRolloff_Z: { return(TransformPosition(vertex, controller.bendType, controller.bendPivotPointPosition, controller.bendRotationCenterPosition, controller.bendAngle, controller.bendMinimumRadius, controller.bendRolloff)); } default: return(vertex); } }