示例#1
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        EditorGUI.BeginProperty(position, label, property);
        GUILayout.Space(-15f);

        EditorGUILayout.PropertyField(property.FindPropertyRelative("enabled"));
        SerializedProperty targetingMode = property.FindPropertyRelative("targetingMode");

        EditorGUILayout.PropertyField(targetingMode);
        switch (targetingMode.enumValueIndex)
        {
        case (int)ForceField2D.SelectionMethod.ETargetingMode.Collider2D:
            ForceField2D ff = property.serializedObject.targetObject as ForceField2D;
            if (ff.GetComponent <Collider2D>() == null && ff.GetComponent <Rigidbody2D>() == null)
            {
                EditorGUILayout.HelpBox(noColliderWarning, MessageType.Warning);
            }
            break;

        case (int)ForceField2D.SelectionMethod.ETargetingMode.Raycast:
            EditorGUILayout.PropertyField(property.FindPropertyRelative("rayCastOption"), true);
            break;

        case (int)ForceField2D.SelectionMethod.ETargetingMode.Manual:
            EditorGUILayout.PropertyField(property.FindPropertyRelative("targetsList"), true);
            break;
        }
        EditorGUI.EndProperty();
    }
示例#2
0
 void OnEnable()
 {
     forceField             = target as ForceField2D;
     alwaysIgnoredList      = serializedObject.FindProperty("alwaysIgnoredList");
     selectionMethods       = serializedObject.FindProperty("selectionMethods");
     fieldFunctions         = serializedObject.FindProperty("fieldFunctions");
     layerMask              = serializedObject.FindProperty("layerMask");
     sendMessage            = serializedObject.FindProperty("sendMessage");
     showTooltips           = serializedObject.FindProperty("showTooltips");
     gizmosMode             = serializedObject.FindProperty("gizmosMode");
     drawTargetsConnection  = serializedObject.FindProperty("drawTargetsConnection");
     drawFieldPointers      = serializedObject.FindProperty("drawFieldPointers");
     drawRaycastArea        = serializedObject.FindProperty("drawRaycastArea");
     targetsConnectionColor = serializedObject.FindProperty("targetsConnectionColor");
     testObject             = serializedObject.FindProperty("testObject");
     pointerLength          = serializedObject.FindProperty("pointerLength");
     pointerSpace           = serializedObject.FindProperty("pointerSpace");
     pointerXCount          = serializedObject.FindProperty("pointerXCount");
     pointerYCount          = serializedObject.FindProperty("pointerYCount");
     strongPointerColor     = serializedObject.FindProperty("strongPointerColor");
     weakPointerColor       = serializedObject.FindProperty("weakPointerColor");
     strongThreshold        = serializedObject.FindProperty("strongThreshold");
     weakThreshold          = serializedObject.FindProperty("weakThreshold");
     raycastColor           = serializedObject.FindProperty("raycastColor");
     generalMultiplier      = serializedObject.FindProperty("generalMultiplier");
     useLocalSpace          = serializedObject.FindProperty("useLocalSpace");
 }