void ToggleWindows(AdminChatWindow window) { adminPlayerChat.gameObject.SetActive(false); adminToAdminChat.gameObject.SetActive(false); playerPrayerWindow.gameObject.SetActive(false); switch (window) { case AdminChatWindow.AdminPlayerChat: adminPlayerChat.gameObject.SetActive(true); SelectedWindow = AdminChatWindow.AdminPlayerChat; break; case AdminChatWindow.AdminToAdminChat: adminToAdminChat.gameObject.SetActive(true); SelectedWindow = AdminChatWindow.AdminToAdminChat; break; case AdminChatWindow.PrayerWindow: playerPrayerWindow.gameObject.SetActive(true); SelectedWindow = AdminChatWindow.PrayerWindow; break; default: SelectedWindow = AdminChatWindow.None; break; } if (WindowChangeEvent != null) { WindowChangeEvent.Invoke(SelectedWindow); } }
private StateController <WindowsManagement> Initialize() { var controller = new StateController <WindowsManagement>(this); controller.StateChanged += (previous, current) => { ActiveWindowsVisibility(previous as Window, current as Window); OnWindowChange?.Invoke(previous as Window, current as Window); }; return(controller); }