Exemple #1
0
 public static MvcBootstrapHelper <TModel> GetHelper <TModel>(this ComponentOverride componentOverride)
 {
     return(new MvcBootstrapHelper <TModel>(componentOverride.GetHtmlHelper <TModel>()));
 }
Exemple #2
0
        private void ListDropdown(Rect rect, ReorderableList list)
        {
            var menu = new GenericMenu();

            menu.AddItem(new GUIContent("Use Existing Override"),
                         false, data => {
                CreateNewState(list.serializedProperty, "Empty", null);
            }, null);

            menu.AddItem(new GUIContent("Create New Override"),
                         false, data => {
                var type    = GetStateType(list.serializedProperty);
                string path = EditorUtility.SaveFilePanelInProject("Save New Override", ComponentOverride.DefaultNameForType(type), "asset", "Create");
                if (!string.IsNullOrEmpty(path))
                {
                    var newOverride      = ScriptableObject.CreateInstance <ComponentOverride>();
                    newOverride.TypeName = type.FullName;
                    AssetDatabase.CreateAsset(newOverride, path);
                    CreateNewState(list.serializedProperty, newOverride.displayName, newOverride);
                }
            }, null);

            menu.ShowAsContext();
        }
Exemple #3
0
 public static HtmlHelper <TModel> GetHtmlHelper <TModel>(this ComponentOverride componentOverride)
 {
     return(((MvcBootstrapConfig <TModel>)componentOverride.Config).HtmlHelper);
 }
Exemple #4
0
        private SerializedProperty CreateNewState(SerializedProperty listProperty, string name, ComponentOverride values)
        {
            listProperty.serializedObject.Update();
            Undo.RecordObject(listProperty.serializedObject.targetObject, "Create State");
            listProperty.arraySize++;

            var newState = listProperty.GetArrayElementAtIndex(listProperty.arraySize - 1);

            newState.FindPropertyRelative("_name").stringValue            = name;
            newState.FindPropertyRelative("_values").objectReferenceValue = values;
            newState.FindPropertyRelative("_blockedBy").intValue          = 0;
            newState.FindPropertyRelative("_isActive").boolValue          = false;
            listProperty.serializedObject.ApplyModifiedProperties();

            return(newState);
        }