public void ImportClicked() { GameDBCSV data = (GameDBCSV)target; ImportDescriptionData(data.descriptionData, data.descriptions); ImportTypesData(data.nameData, data.names); ImportListData(data.themeData, data.types, data.themes); ImportTextTranslationData(data.textTranslationData, data.translations); ImportLabelData(data.textTranslationData, data.labels); }
public static void CreateGameDBCSV() { GameDBCSV db = ScriptableObject.CreateInstance <GameDBCSV>(); AssetDatabase.CreateAsset(db, "Assets/NewGameDBCSV.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = db; }
private void Awake() { GameDBCSV db = GlobalSettings.instance.db; Text text = GetComponent <Text>(); if (GlobalSettings.instance.win) { text.text = db.GetTranslation("Good Report"); } else { text.text = db.GetTranslation("Bad Report"); } }
public override void OnInspectorGUI() { GameDBCSV data = (GameDBCSV)target; EditorGUILayout.BeginVertical("box"); EditorGUILayout.LabelField("Info", EditorStyles.boldLabel); EditorGUILayout.Space(); EditorGUILayout.LabelField(string.Format("Description: {0}", data.descriptions.Count)); EditorGUILayout.LabelField(string.Format("Names: {0}", data.names.Count)); EditorGUILayout.LabelField(string.Format("Types: {0}", data.types.Count)); EditorGUILayout.LabelField(string.Format("Themes: {0}", data.themes.Count)); EditorGUILayout.LabelField(string.Format("Translations: {0}", data.translations.Count)); EditorGUILayout.LabelField(string.Format("Labels: {0}", data.labels.Count)); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("box"); EditorGUILayout.LabelField("CSV Data", EditorStyles.boldLabel); EditorGUILayout.Space(); data.descriptionData = (TextAsset)EditorGUILayout.ObjectField("Description", data.descriptionData, typeof(TextAsset), false); data.nameData = (TextAsset)EditorGUILayout.ObjectField("Names", data.nameData, typeof(TextAsset), false); data.themeData = (TextAsset)EditorGUILayout.ObjectField("Themes", data.themeData, typeof(TextAsset), false); data.textTranslationData = (TextAsset)EditorGUILayout.ObjectField("Translations", data.textTranslationData, typeof(TextAsset), false); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Import")) { ImportClicked(); } if (GUILayout.Button("Clear")) { data.descriptions.Clear(); data.names.Clear(); data.types.Clear(); data.themes.Clear(); data.translations.Clear(); data.labels.Clear(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); EditorUtility.SetDirty(data); }
public void Awake() { db = GlobalSettings.instance.db; GameObject[] itemObjects = GameObject.FindGameObjectsWithTag("Item"); List <Item> items = new List <Item>(); for (int i = 0; i < itemObjects.Length; ++i) { Item item = itemObjects[i].GetComponent <Item>(); if (item != null) { items.Add(item); item.type = db.types[item.index]; } } // Set mimic bool rightChoise = false; while (!rightChoise) { int mimicNumber = Random.Range(0, items.Count); rightChoise = true; for (int i = 1; i <= 7; i++) { if (items[mimicNumber].type == ("Note" + i)) { rightChoise = false; break; } } if (rightChoise) { mimic = items[mimicNumber]; items[mimicNumber].mimic = true; } } theme = db.themes[Random.Range(0, db.themes.Count)]; foreach (var item in items) { // Set name and price List <NameData> names = (from name in db.names where name.type == item.type select name).ToList(); int numNames = Random.Range(0, names.Count); item.label = names[numNames].name; item.price = names[numNames].price; // Set descriptions List <DescriptionData> descriptions = new List <DescriptionData>(); foreach (var d in db.descriptions) { if (item.type != d.type) { continue; } if (d.mimic && item != mimic) { continue; } if (d.theme != "" && d.theme != theme) { continue; } descriptions.Add(d); } if (descriptions.Count == 0) { continue; } List <DescriptionData> chosenDescriptions = new List <DescriptionData>(); int groupsNumber = descriptions.Max(d => d.group); for (int i = 0; i <= groupsNumber; i++) { List <DescriptionData> descriptionsInGroup = new List <DescriptionData>(); foreach (var d in descriptions) { if (d.group == i) { descriptionsInGroup.Add(d); } } if (descriptionsInGroup.Count > 0) { chosenDescriptions.Add(descriptionsInGroup[Random.Range(0, descriptionsInGroup.Count)]); } } item.description = ""; for (int i = 0; i < chosenDescriptions.Count; i++) { if (chosenDescriptions[i].probability >= Random.Range(0.0f, 1.0f)) { item.description += "• " + chosenDescriptions[i].text + "\n"; } } if (string.IsNullOrEmpty(item.description)) { item.description += "• " + chosenDescriptions[Random.Range(0, chosenDescriptions.Count)].text + "\n"; } } }
public void OnEnable() { GameDBCSV db = AssetDatabase.LoadAssetAtPath <GameDBCSV>("Assets/DataBase/English/ItemsCSV.asset"); types = db.types.ToArray(); }
private void Awake() { db = GlobalSettings.instance.db; }