//---------------------------------------------------------------------------------------------------------------------- public void Setup(VisualElement root) { VisualTreeAsset tab = UIElementsEditorUtility.LoadVisualTreeAsset(Constants.SCENE_CACHE_PLAYER_SETTINGS_TAB_PATH); TemplateContainer tabInstance = tab.CloneTree(); VisualElement content = tabInstance.Query <VisualElement>("Content").First(); m_generatedSCResPathTextField = tabInstance.Query <TextField>("GeneratedSCResPathText").First(); m_generatedSCResPathTextField.RegisterValueChangedCallback((ChangeEvent <string> changeEvent) => { MeshSyncRuntimeSettings settings = MeshSyncRuntimeSettings.GetOrCreateSettings(); settings.SetSceneCacheOutputPath(changeEvent.newValue); settings.SaveSettings(); }); m_outputPathSelectButton = tabInstance.Query <Button>("OutputPathSelectButton").First(); m_outputPathSelectButton.clicked += OnOutputPathSelectButtonClicked; RefreshSettings(); //MeshSyncPlayerConfig MeshSyncPlayerConfigSection section = new MeshSyncPlayerConfigSection(MeshSyncPlayerType.CACHE_PLAYER); section.Setup(content); root.Add(tabInstance); }
//---------------------------------------------------------------------------------------------------------------------- public void Setup(VisualElement root) { VisualTreeAsset tab = UIElementsEditorUtility.LoadVisualTreeAsset(Constants.SERVER_SETTINGS_TAB_PATH); TemplateContainer tabInstance = tab.CloneTree(); VisualElement content = tabInstance.Query <VisualElement>("Content").First(); //Templates VisualTreeAsset fieldTemplate = LoadVisualTreeAsset(Constants.PROJECT_SETTINGS_FIELD_TEMPLATE_PATH); MeshSyncRuntimeSettings runtimeSettings = MeshSyncRuntimeSettings.GetOrCreateSettings(); //Add server port m_serverPortField = AddField <IntegerField, int>(fieldTemplate, content, Contents.ServerPort, runtimeSettings.GetDefaultServerPort(), (int newValue) => { MeshSyncRuntimeSettings settings = MeshSyncRuntimeSettings.GetOrCreateSettings(); settings.SetDefaultServerPort((ushort)newValue); } ); m_allowPublicAccessToggle = AddField <Toggle, bool>(fieldTemplate, content, Contents.AllowPublicAccess, runtimeSettings.GetServerPublicAccess(), (bool newValue) => { MeshSyncRuntimeSettings settings = MeshSyncRuntimeSettings.GetOrCreateSettings(); settings.SetServerPublicAccess(newValue); } ); //MeshSyncPlayerConfig section MeshSyncPlayerConfigSection section = new MeshSyncPlayerConfigSection(MeshSyncPlayerType.SERVER); section.Setup(content); root.Add(tabInstance); }
//---------------------------------------------------------------------------------------------------------------------- public void Setup(VisualElement root) { Assert.IsNotNull(root); root.Clear(); VisualTreeAsset tab = UIElementsEditorUtility.LoadVisualTreeAsset(Constants.SERVER_SETTINGS_TAB_PATH); TemplateContainer tabInstance = tab.CloneTree(); VisualElement content = tabInstance.Query <VisualElement>("Content").First(); MeshSyncProjectSettings projectSettings = MeshSyncProjectSettings.GetOrCreateInstance(); //Add server port m_serverPortField = AddField <IntegerField, int>(content, Contents.ServerPort, projectSettings.GetDefaultServerPort(), (int newValue) => { projectSettings.SetDefaultServerPort((ushort)newValue); } ); m_allowPublicAccessToggle = AddField <Toggle, bool>(content, Contents.AllowPublicAccess, projectSettings.GetServerPublicAccess(), (bool newValue) => { projectSettings.SetServerPublicAccess(newValue); } ); //MeshSyncPlayerConfig section MeshSyncPlayerConfigSection section = new MeshSyncPlayerConfigSection(MeshSyncPlayerType.SERVER); section.Setup(content); Button resetButton = tabInstance.Query <Button>("ResetButton").First(); resetButton.clicked += () => { projectSettings.ResetDefaultServerConfig(); projectSettings.SaveInEditor(); Setup(root); }; root.Add(tabInstance); }