Beispiel #1
0
 public void OnInit(IXCore core)
 {
     if (ScriptableSingleton <FileServerDataCache> .instance.Server_Switch)
     {
         if (!FileServerEditorManager.IsServerRunning)
         {
             FileServerEditorManager.StartServer();
         }
     }
 }
Beispiel #2
0
        private void OnGUI()
        {
            GUILayout.Space(15);
            if (!FileServerEditorManager.IsServerRunning)
            {
                //Port
                EditorGUILayout.BeginHorizontal();
                GUILayout.Label("Listen Port:");
                ScriptableSingleton <FileServerDataCache> .instance.Port = EditorGUILayout.IntField(ScriptableSingleton <FileServerDataCache> .instance.Port);

                EditorGUILayout.EndHorizontal();

                //Url 头
                EditorGUILayout.BeginHorizontal();
                GUILayout.Label("Url Start:");
                ScriptableSingleton <FileServerDataCache> .instance.Url = EditorGUILayout.TextField(ScriptableSingleton <FileServerDataCache> .instance.Url);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.Space();

            #region switch
            if (FileServerEditorManager.IsServerRunning)
            {
                if (GUILayout.Button(IsChinese ? "关闭服务器" : "Stop Server"))
                {
                    FileServerEditorManager.StopServer();
                }
            }
            else
            {
                if (GUILayout.Button(IsChinese ? "启动服务器" : "Start Server"))
                {
                    FileServerEditorManager.StartServer();
                }
            }
            #endregion
            EditorGUILayout.HelpBox(IsChinese?"请仅将该文件服务器用于本机和内网的调试用途。": "Please use this file server only for debugging this computer and the internal network.", MessageType.Info);

            EditorGUILayout.Space();
            #region 显示Url地址
            //ip
            GUILayout.Label("Address");
            string localhost_addr = $"http://127.0.0.1{(ScriptableSingleton<FileServerDataCache>.instance.Port == 80 ? "" : ":" + ScriptableSingleton<FileServerDataCache>.instance.Port)}{ScriptableSingleton<FileServerDataCache>.instance.Url}";
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(localhost_addr, EditorStyles.linkLabel);
            if (GUILayout.Button("Copy", GUILayout.Width(50)))
            {
                GUIUtility.systemCopyBuffer = localhost_addr;
            }
            EditorGUILayout.EndHorizontal();
            if (!get_local_ip)
            {
                TryGetLocalIp(out local_ip);
            }
            if (!local_ip.IsNullOrEmpty())
            {
                EditorGUILayout.BeginHorizontal();
                string lan_ip = $"http://{local_ip}{(ScriptableSingleton<FileServerDataCache>.instance.Port == 80 ? "" : ":" + ScriptableSingleton<FileServerDataCache>.instance.Port)}{ScriptableSingleton<FileServerDataCache>.instance.Url}";
                EditorGUILayout.LabelField(lan_ip, EditorStyles.linkLabel);
                if (GUILayout.Button("Copy", GUILayout.Width(50)))
                {
                    GUIUtility.systemCopyBuffer = lan_ip;
                }
                EditorGUILayout.EndHorizontal();
            }

            #endregion

            #region Server Root Folder
            EditorGUILayout.Space();
            GUILayout.Label("WWWRoot:");
            EditorGUILayout.TextArea(ScriptableSingleton <FileServerDataCache> .instance.ServerRootFolder);
            if (GUILayout.Button(IsChinese?"设置目录":"Set wwwroot folder"))
            {
                string      source_package_root = VFSEditorConst.PROJECT_VFS_SOURCE_PACKAGES_ROOT_PATH;
                GenericMenu menu = new GenericMenu();
                menu.AddItem(
                    new GUIContent(IsChinese ? "资源构建目录" : "Built Asset Folder"),
                    (FileServerEditorManager.GetRootFolder() == source_package_root),
                    () => {
                    FileServerEditorManager.SetRootFolder(source_package_root);
                });

                menu.ShowAsContext();
            }
            #endregion
        }