public static MvcBootstrapHelper <TModel> GetHelper <TModel>(this ComponentOverride componentOverride) { return(new MvcBootstrapHelper <TModel>(componentOverride.GetHtmlHelper <TModel>())); }
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(); }
public static HtmlHelper <TModel> GetHtmlHelper <TModel>(this ComponentOverride componentOverride) { return(((MvcBootstrapConfig <TModel>)componentOverride.Config).HtmlHelper); }
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); }