void LoadData() { collectibleData = null; selectedCollectibleIndex = -1; gameDB.InitLocalDB(); allCollectibles = gameDB.LoadConfig <CollectibleConfigData>() as List <CollectibleConfigData>; // allCategories = gameDB.LoadConfig<CategoryConfigData>() as List<CategoryConfigData>; InitCollectibleConfigNames(); // InitCategoryNames(); allItemGroups = gameDB.LoadConfig <ItemGroupConfigData>() as List <ItemGroupConfigData>; InitItemGroupConfigNames(); }
bool DrawLoadService() { contentColor = GUI.contentColor; backgroundColor = GUI.backgroundColor; EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = EditorHelpers.orangeColor; if (GUILayout.Button("Load", GUILayout.Width(60))) { LoadData(); } GUI.backgroundColor = EditorHelpers.yellowColor; if (GUILayout.Button("New", GUILayout.Width(60))) { CollectibleConfigData newData = new CollectibleConfigData(); newData.id = "New Collectible " + newCollectibleNameSufix.ToString(); newData.name = newData.id; ++newCollectibleNameSufix; allCollectibles.Insert(0, newData); InitCollectibleConfigNames(); selectedCollectibleIndex = 0; collectibleData = newData; ShowNotification(new GUIContent("New Collectible added.")); dirty = true; } GUI.backgroundColor = EditorHelpers.greenColor; if (GUILayout.Button("Save", GUILayout.Width(60))) { Save(); } GUI.backgroundColor = backgroundColor; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); if (allCollectibles == null) { EditorGUILayout.HelpBox("It seems that there is no data... try reopening the editor.", MessageType.Error); return(false); } if (allCollectibles.Count > 0) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Collectibles:", GUILayout.Width(100)); int oldIntValue = selectedCollectibleIndex; selectedCollectibleIndex = EditorGUILayout.Popup(oldIntValue, collectibleConfigNames, GUILayout.Width(250)); if (oldIntValue != selectedCollectibleIndex) { collectibleData = allCollectibles[selectedCollectibleIndex]; } if (collectibleData != null) { GUI.backgroundColor = EditorHelpers.redColor; if (GUILayout.Button("Delete", GUILayout.Width(70))) { if (EditorUtility.DisplayDialog("Deleting Collectible!", "Are you sure you want to delete collectible '" + collectibleData.id + "'?", "Yes, Delete it.", "No!")) { gameDB.DeleteConfig(collectibleData.GetTableName(), collectibleData.id); allCollectibles.Remove(collectibleData); InitCollectibleConfigNames(); selectedCollectibleIndex = -1; collectibleData = null; ShowNotification(new GUIContent("Collectible deleted.")); return(false); } } GUI.backgroundColor = EditorHelpers.blueColor; if (GUILayout.Button("Duplicate", GUILayout.Width(100))) { CollectibleConfigData newData = collectibleData.Clone() as CollectibleConfigData; newData.id = collectibleData.id + "(Clone)"; ++newCollectibleNameSufix; allCollectibles.Insert(0, newData); InitCollectibleConfigNames(); selectedCollectibleIndex = 0; collectibleData = newData; ShowNotification(new GUIContent("Collectible duplicated.")); dirty = true; } GUI.backgroundColor = backgroundColor; } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator(); } return(collectibleData != null); }