public override void OnInspectorGUI()
        {
            EditorGUI.BeginDisabledGroup(true);
            {
                EditorGUILayout.ObjectField(
                    "Script:",
                    MonoScript.FromScriptableObject((ScriptableObject)target), serializedObject.GetType(),
                    false);
            }
            EditorGUI.EndDisabledGroup();

            GUILayout.Space(10);

            serializedObject.Update();

            EditorGUILayout.HelpBox(HelpMessage, MessageType.Info);
            EditorGUILayout.PropertyField(_gameEvent);
            GUILayout.Space(10);
            EditorGUILayout.PropertyField(_size);

            _reorderableList.DoLayoutList();

            GUILayout.Space(10);
            SOArchitectureEditorHelpers.DrawDescription(_descriptionProperty, ref _isShowingDescription);

            serializedObject.ApplyModifiedProperties();
        }
Ejemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            var buttonStyle = new GUIStyle(GUI.skin.button)
            {
                alignment  = TextAnchor.MiddleCenter,
                fixedWidth = 200f,
                margin     = new RectOffset(0, 0, 10, 20),
            };

            serializedObject.Update();

            EditorGUI.BeginDisabledGroup(true);
            {
                EditorGUILayout.ObjectField(
                    "Script:",
                    MonoScript.FromScriptableObject((ScriptableObject)target), serializedObject.GetType(),
                    false);
            }
            EditorGUI.EndDisabledGroup();

            GUILayout.Space(10);
            EditorGUI.BeginDisabledGroup(Application.isPlaying);
            {
                EditorGUILayout.HelpBox("Do not create game events with white spaces", MessageType.Warning);

                if (GUILayout.Button("Create interface", buttonStyle))
                {
                    SOArchitectureEditorHelpers.CreateInterface(_gameEvent.name);
                }
            }
            EditorGUI.EndDisabledGroup();

            EditorGUI.BeginDisabledGroup(!Application.isPlaying);
            {
                GUILayout.Label("Press the Raise button to simulate the event in the game");
                if (GUILayout.Button("Raise"))
                {
                    _gameEvent.Raise();
                }
            }
            EditorGUI.EndDisabledGroup();

            GUILayout.Space(10);
            SOArchitectureEditorHelpers.DrawDescription(_descriptionProperty, ref _isShowingDescription);

            serializedObject.ApplyModifiedProperties();
        }
Ejemplo n.º 3
0
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            EditorGUI.BeginDisabledGroup(true);
            {
                EditorGUILayout.ObjectField(
                    "Script:",
                    MonoScript.FromScriptableObject((ScriptableObject)target), serializedObject.GetType(),
                    false);
            }
            EditorGUI.EndDisabledGroup();

            EditorGUILayout.PropertyField(_readOnlyProperty);
            EditorGUILayout.PropertyField(!_readOnlyProperty.boolValue ? _gameEventProperty : _logProperty);

            EditorGUILayout.PropertyField(_valueProperty);

            GUILayout.Space(10);
            SOArchitectureEditorHelpers.DrawDescription(_descriptionProperty, ref _isShowingDescription);

            serializedObject.ApplyModifiedProperties();
        }