Example #1
0
            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);
                }
            }