예제 #1
0
    public void OnSceneGUI()
    {
        UCircleCollider u_collider = (UCircleCollider)target;

        Handles.color = Color.green;
        if (u_collider.trans != null)
        {
            Handles.DrawWireDisc(u_collider.trans.position, u_collider.trans.forward, u_collider.radius);
        }
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        EditorUtility.SetDirty(target);          //ensures repaint on value change
        UCircleCollider uCollider = (UCircleCollider)target;

        //Radius
        if (uCollider.radius < 0f)
        {
            uCollider.radius = 0f;             //forcefully avoid negative values
        }
        bool is_radius_over_suggested_max = (uCollider.radius > UCircleCollider.GetSuggestedMaxRadius());

        if (is_radius_over_suggested_max)
        {
            GUI.color = Color.yellow;
        }
        uCollider.radius = EditorGUILayout.FloatField("Collider Radius", uCollider.radius);
        GUI.color        = Color.white;
        if (is_radius_over_suggested_max)
        {
            EditorGUILayout.HelpBox("Exceeding UCollider suggested radius range", MessageType.Warning);
        }
        EditorGUILayout.HelpBox("UDEngine currently requires all collider to have the shape of circle to ensure good performance. To simulate other shapes, consider multiple circle colliders", MessageType.Info);

        // default the .trans prop as its own parent
        // default the .trans prop as its own parent
        if (uCollider.trans == null)
        {
            if (uCollider.transform.parent != null)
            {
                uCollider.SetTransform(uCollider.transform.parent);
            }
            else
            {
                uCollider.SetTransform(uCollider.transform);
            }
        }
        uCollider.SetTransform(EditorGUILayout.ObjectField("Transform", uCollider.trans, typeof(Transform), true) as Transform);

        uCollider.SetLayer(EditorGUILayout.IntField("Layer", uCollider.layer));

        bool isEnabled = EditorGUILayout.Toggle("Enabled", uCollider.IsEnabled());

        uCollider.SetEnable(isEnabled);
    }