public HitPoint(Vector3 pos, Vector3 normal, Vector3 opposite, RiverSpeedController controller)
    {
        int maxForce = 10;

        hitPoint = pos;

        hitNormal = new Vector3(normal.x, 0, normal.z);

        direction = (hitNormal + controller.defaultMovementDirection) * controller.minimumSpeed;
        if (direction.magnitude > maxForce)
        {
            direction.Normalize();
            direction = direction * maxForce;
        }

        hitNormal.Normalize();

        oppositePoint = opposite;
    }
Ejemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        customGuiStyle          = new GUIStyle();
        customGuiStyle.fontSize = 25;
        customGuiStyle.richText = true;

        RiverSpeedController controller = (RiverSpeedController)target;

        if (GUILayout.Button("Calculate"))
        {
            controller.Calculate();
        }

        //-----------------------GLOBAL----------------------------\\
        if (!GlobalValues)
        {
            GlobalValues = EditorGUILayout.Foldout(GlobalValues, "Global Values <<CLOSED>>", true, customGuiStyle);
        }
        else
        {
            GlobalValues = EditorGUILayout.Foldout(GlobalValues, "Global Values <<OPEN>>", true, customGuiStyle);
        }
        GUILayout.Space(5);
        //<<Stuff>>
        if (GlobalValues)
        {
            controller.minimumSpeed = (int)GUILayout.HorizontalSlider(controller.minimumSpeed, 1, 100);
            GUILayout.Label("Force: " + controller.minimumSpeed.ToString("F1"));

            controller.defaultMovementDirection = EditorGUILayout.Vector3Field("Direction: ", controller.defaultMovementDirection);
        }
        //<<Stuff>>
        GUILayout.Space(25);
        //-----------------------OTHER---------------------------\\
        if (!OtherValues)
        {
            OtherValues = EditorGUILayout.Foldout(OtherValues, "Other Values <<CLOSED>>", true, customGuiStyle);
        }
        else
        {
            OtherValues = EditorGUILayout.Foldout(OtherValues, "Other Values <<OPEN>>", true, customGuiStyle);
        }
        GUILayout.Space(5);
        //<<Stuff>>
        if (OtherValues)
        {
        }
        //<<Stuff>>
        GUILayout.Space(25);
        //-----------------------HELP------------------------\\
        if (!HelpValues)
        {
            HelpValues = EditorGUILayout.Foldout(HelpValues, "Help <<CLOSED>>", true, customGuiStyle);
        }
        else
        {
            HelpValues = EditorGUILayout.Foldout(HelpValues, "Help <<OPEN>>", true, customGuiStyle);
        }
        GUILayout.Space(5);
        //<<Stuff>>
        if (HelpValues)
        {
            GUILayout.Space(5);    //ImageSpacing
            GUILayout.Label((Texture2D)Resources.Load("EditorInspector/RiverForceAndDirections") as Texture2D);
            GUILayout.Space(-150); //ImageSpacing
        }
        //<<Stuff>>
        //-----------------------DEFAULTINSPECTOR-----------------------------\\
        GUILayout.Space(25);
        DefaultValues = GUILayout.Toggle(DefaultValues, "Draw Unity Default Inspectory Stuff");
        if (DefaultValues)
        {
            DrawDefaultInspector();
        }
    }