private void EditItem(object obj) { TreeViewItem item = idItems[(int)obj]; ItemEditorWindow itemEditorWindow = ItemEditorWindow.OpenEdit(item.displayName); itemEditorWindow.titleContent = new GUIContent("Edit Item"); string oldKey = item.displayName; itemEditorWindow.onFinished = (newKey, values) => { if (newKey == oldKey || !LocalizationEditorWindow.Current.DataTable.ContainsKey(newKey)) { itemEditorWindow.Close(); LocalizationEditorWindow.Current.EditItem(oldKey, newKey, values); item.displayName = newKey; (item as LanguageTreeViewItem).values = values; } else if (EditorUtility.DisplayDialog("Warning", $"已经包含名为[{newKey}]的Key,是否替换?", "Yes", "No")) { itemEditorWindow.Close(); LocalizationEditorWindow.Current.EditItem(oldKey, newKey, values); Reload(); LocalizationEditorWindow.Current.Focus(); } }; }
public void AddItem() { ItemEditorWindow itemEditorWindow = ItemEditorWindow.Open(); itemEditorWindow.titleContent = new GUIContent("Add Item"); itemEditorWindow.onFinished = (key, values) => { if (string.IsNullOrEmpty(key)) { EditorUtility.DisplayDialog("Warning", "key不能为空", "OK"); LocalizationEditorWindow.Current.Focus(); return; } if (!LocalizationEditorWindow.Current.DataTable.ContainsKey(key)) { LocalizationEditorWindow.Current.AddItem(key, values); Reload(); } else if (EditorUtility.DisplayDialog("Warning", $"已经包含名为[{key}]的Key,是否替换?", "Yes", "No")) { LocalizationEditorWindow.Current.AddItem(key, values); LanguageTreeViewItem targetItem = keyItems[key] as LanguageTreeViewItem; targetItem.values = values; LocalizationEditorWindow.Current.Focus(); } }; }
private void Paste(object obj) { TreeViewItem item = obj as TreeViewItem; ItemEditorWindow itemEditorWindow = ItemEditorWindow.OpenEdit(item.displayName); itemEditorWindow.titleContent = new GUIContent("Add Item"); itemEditorWindow.onFinished = (key, values) => { if (string.IsNullOrEmpty(key)) { EditorUtility.DisplayDialog("Warning", "key不能为空", "OK"); LocalizationEditorWindow.Current.Focus(); return; } if (!LocalizationEditorWindow.Current.DataTable.ContainsKey(key)) { LocalizationEditorWindow.Current.AddItem(key, values); LocalizationEditorWindow.Current.treeView.Reload(); } else if (EditorUtility.DisplayDialog("Warning", $"已经包含名为[{key}]的Key,是否替换?", "Yes", "No")) { LocalizationEditorWindow.Current.AddItem(key, values); LocalizationEditorWindow.Current.treeView.Reload(); LocalizationEditorWindow.Current.Focus(); } }; }
public static ItemEditorWindow OpenEdit(string key) { ItemEditorWindow window = ScriptableObject.CreateInstance <ItemEditorWindow>(); Vector2 mouse = GUIUtility.GUIToScreenPoint(new Vector2(100, 100)); Rect r = new Rect(mouse, Vector2.one); window.key = key; string[] values; if (LocalizationEditorWindow.Current.DataTable.TryGetValue(key, out values)) { window.values = values.Clone() as string[]; } else { window.values = new string[LocalizationEditorWindow.Current.Languages.Count]; } Vector2 widnowCenter = LocalizationEditorWindow.Current.position.position + LocalizationEditorWindow.Current.position.size / 2; window.position = new Rect(widnowCenter - new Vector2(250, 500), new Vector2(500, 400)); window.titleContent = new GUIContent("Edit Item"); window.ShowAuxWindow(); return(window); }
public static ItemEditorWindow Open() { ItemEditorWindow window = ScriptableObject.CreateInstance <ItemEditorWindow>(); Vector2 mouse = GUIUtility.GUIToScreenPoint(new Vector2(100, 100)); Rect r = new Rect(mouse, Vector2.one * 10); window.values = new string[LocalizationEditorWindow.Current.Languages.Count]; Vector2 widnowCenter = LocalizationEditorWindow.Current.position.position + LocalizationEditorWindow.Current.position.size / 2; window.position = new Rect(widnowCenter - new Vector2(250, 500), new Vector2(500, 400)); window.titleContent = new GUIContent("Add Item"); window.ShowAuxWindow(); return(window); }