//----------------------------------------------------------------------------------------------------------------------
        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);
        }
Esempio n. 2
0
//----------------------------------------------------------------------------------------------------------------------
        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);
        }
Esempio n. 3
0
//----------------------------------------------------------------------------------------------------------------------
        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);
        }