public async void Close(string winName) { UIComponent component = Get(winName); if (component == null) { $"找不到窗口{winName}".LogError(); return; } if (component.TryGetComponent <UIAnimaComponent>(out var anima)) { World.Instance.RunSystemOfTag <IUIClose>(anima); await anima.Close(); } if (component.AutoHide) { component.rectTransform.gameObject.Hide(); } if (component.ModuleUI && ModuleUiItems.Contains(component)) { ModuleUiItems.Remove(component); } if (component.rectTransform.gameObject.activeSelf) { RunSystemAndChild <IUIClose>(component); } if (OpenItems.Contains(component)) { OpenItems.Remove(component); } TopView = OpenItems.Count > 0 ? OpenItems[^ 1] : null;
private void Initialization(int size) { items = new OpenItems <Tkey, Tvalue> [size]; for (int i = 0; i < items.Length; i++) { items[i] = new OpenItems <Tkey, Tvalue>(); } }
public async Task <UIComponent> Open(string winName, GameObject go = null) { UIComponent component = Get(winName) ?? await AddWindow(winName, go); if (!OpenItems.Contains(component)) { OpenItems.Add(component); } else { Debug.LogWarning($"{winName} is already open"); return(component); } if (component.AutoShow) { component.rectTransform.gameObject.Show(); } if (component.ModuleUI) { if (!ModuleUiItems.Contains(component)) { ModuleUiItems.Add(component); component.AddComponent <TopViewComponent>(); } component.rectTransform.SetAsLastSibling(); } else { component.SetWindowLayer(Transform.childCount - 1 - ModuleUiItems.Count); } if (component.rectTransform.gameObject.activeSelf) { RunSystemAndChild <IUIOpen>(component); } else { World.Instance.RunSystemOfTag <IUIOpen>(component); } if (!component.ModuleUI) { TopView = component; } if (component.TryGetComponent <UIAnimaComponent>(out var anima)) { World.Instance.RunSystemOfTag <IUIOpen>(anima); await anima.Open(); } return(component); }
public void CloseFile(FileTypeTabItemViewModelBase item) { if (SelectedItem == item) { SelectedItemIndex--; } item.Close(); OpenItems.Remove(item); }
public void OpenFile(string path) { try { FileTypeTabItemViewModelBase item = Utility.GetViewModelForFile(path); OpenItems.Add(item); SelectedItem = item; } catch (Exception ex) { Log.Error(ex.Message); MessageBox.Show(ex.Message, "Error"); } }