Ejemplo n.º 1
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        GopherEdit script         = (GopherEdit)target;
        float      jumpHeight     = EditorGUILayout.FloatField("普通跳跃高度", script.CalculateDistance(script.controller.yJumpSpeed, script.movement.yGravityForce));
        float      highJumpHeight = EditorGUILayout.FloatField("出土跳跃高度", script.CalculateDistance(script.movement.yDigJumpSpeed, script.movement.yGravityForce));
        float      yForce         = EditorGUILayout.FloatField("重力加速度(维持各跳跃高度)", script.movement.yGravityForce);

        script.controller.yJumpSpeed  = script.CalculateSpeed(jumpHeight, yForce);
        script.movement.yDigJumpSpeed = script.CalculateSpeed(highJumpHeight, yForce);
        script.movement.yGravityForce = yForce;
    }
Ejemplo n.º 2
0
    public void OnSceneGUI()
    {
        GopherEdit script         = (GopherEdit)target;
        float      jumpHeight     = script.CalculateDistance(script.controller.yJumpSpeed, script.movement.yGravityForce);
        float      highJumpHeight = script.CalculateDistance(script.movement.yDigJumpSpeed, script.movement.yGravityForce);
        Vector3    worldPosition  = script.transform.position;

        Handles.color = Color.white;
        Handles.RectangleHandleCap(0, worldPosition, Quaternion.identity, 0.07f, EventType.Repaint);
        Handles.RectangleHandleCap(1, worldPosition + Vector3.up * jumpHeight, Quaternion.identity, 0.07f, EventType.Repaint);
        Handles.RectangleHandleCap(2, worldPosition + Vector3.up * highJumpHeight, Quaternion.identity, 0.07f, EventType.Repaint);
    }