protected IEnumerator AddProjects(string[] projectNames) { UnityProjectHost host = new UnityProjectHost("test server id", "test server name", new[] { "endpoint 1" }, "test accessToken", false); var projectList = new List <Project>();//UnityProjectHost host, string projectId, string projectName for (int i = 0; i < projectNames.Length; ++i) { var project = new Project(new UnityProject(host, i.ToString(), $"Project {projectNames[i]} {i}")); project.lastPublished.AddMinutes(i); projectList.Add(project); } ReflectPipelineFactory.projectsRefreshCompleted.Invoke(projectList); ReflectPipelineFactory.projectsRefreshCompleted = new ProjectListerSettings.ProjectsEvents(); UIStateManager.current.ForceSendSessionStateChangedEvent(); yield return(WaitAFrame()); }
protected IEnumerator AddProjects(string[] projectNames) { UnityProjectHost host = new UnityProjectHost("test server id", "test server name", new[] { "endpoint 1" }, "test accessToken", false); var projectList = new List <Project>();//UnityProjectHost host, string projectId, string projectName for (int i = 0; i < projectNames.Length; ++i) { var project = new Project(new UnityProject(host, i.ToString(), $"Project {projectNames[i]} {i}")); project.lastPublished.AddMinutes(i); projectList.Add(project); } ReflectProjectsManager.projectsRefreshCompleted.Invoke(projectList); ReflectProjectsManager.projectsRefreshCompleted = new ProjectListerSettings.ProjectsEvents(); // Dispatcher.Dispatch(SetProjectRoomAction.From(projectList.Cast<IProjectRoom>().ToArray())); yield return(WaitAFrame()); }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { var host = ScriptableObject.CreateInstance <HostSO>(); host.host = new HostDummy(); var realProject = property.serializedObject.targetObject as ProjectDrawerUIE.ProjectSO; var flag = label.text.Equals("Host"); if (realProject && label.text.Equals("Host")) { try { UnityProjectHost realHost = realProject.project.Host; host.host.ServerId = realHost.ServerId; host.host.ServerName = realHost.ServerName; m_valid = true; } catch (Exception) { m_valid = false; } } else { if (realProject && label.text.StartsWith("Element")) { try { var index = int.Parse(label.text.Split(' ')[1]); UnityProjectHost realHost = realProject.project.Host; host.host.ServerId = realHost.ServerId; host.host.ServerName = realHost.ServerName; m_valid = true; } catch (Exception) { m_valid = false; } } } SerializedObject serializedObject = new UnityEditor.SerializedObject(host); SerializedProperty serializedPropertyProject = serializedObject.FindProperty("host"); EditorGUI.BeginProperty(position, label, property); EditorGUI.LabelField(new Rect(position.x, position.y, position.width, 16), label); if (m_valid) { var serverIdRect = new Rect(position.x, position.y + 18, position.width, 16); var serverNameRect = new Rect(position.x, position.y + 36, position.width, 16); EditorGUI.indentLevel++; EditorGUI.PropertyField(serverIdRect, serializedPropertyProject.FindPropertyRelative("ServerId")); EditorGUI.PropertyField(serverNameRect, serializedPropertyProject.FindPropertyRelative("ServerName")); EditorGUI.indentLevel--; } EditorGUI.EndProperty(); ScriptableObject.DestroyImmediate(host); }