private void SelectItem() { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("", GUIStyleHelper.Plus)) { AddItem(); } GUILayout.EndHorizontal(); var items = SettingHelper.PrototypeSettings.Settings; _scroll = GUILayout.BeginScrollView(_scroll); for (int i = 0; i < items.Count; i++) { GUILayout.BeginHorizontal(); if (GUILayout.Button(items[i].Name)) { GUI.FocusControl(""); _itemObject = new SerializedObject(items[i]); _selected = items[i]; } if (GUILayout.Button("", GUIStyleHelper.Minus, GUILayout.Width(18))) { DestroyImmediate(items[i], true); SettingHelper.PrototypeSettings.Settings.RemoveAll(x => x == null); AssetDatabase.SaveAssets(); SettingHelper.PrototypeSettings.SetDirty(); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); }
/// <summary> /// Initializes a new instance of the <see cref="GameVariant"/> class with default values. /// </summary> public GameVariant() { _metadata = new ContentMetadata(); _general = new GeneralSettings(); _prototype = new PrototypeSettings(); _respawn = new RespawnSettings(); _social = new SocialSettings(); _mapOverrides = new MapOverrides(); _requisition = new RequisitionSettings(); _teams = new TeamSettings(); _loadouts = new LoadoutSettings(); _ordnance = new OrdnanceSettings(); }
private static void DisplayComponentMenu(PrototypeSettings settings, IComponent component) { var evt = Event.current; var mousePos = evt.mousePosition; EditorUtility.DisplayCustomMenu( new Rect(mousePos.x, mousePos.y, 0, 0), new[] { // todo: copy\paste new GUIContent("Remove Component"), }, -1, (data, options, selected) => { switch (options[selected]) { case "Remove Component": settings.Components.Remove(component); break; } }, null); evt.Use(); }