/// <summary>
/// 运行本地资源服务器
/// </summary>
static void Run()
{
string pathToAssetServer = Path.Combine(Application.dataPath,
"AssetBundleManager/Editor/AssetBundleServer.exe");
string pathToApp = Application.dataPath.Substring(0, Application.dataPath.LastIndexOf('/'));
KillRunningAssetBundleServer();
// 写入本地资源服务器地址
BuildScript.WriteServerURL();
string args = Path.Combine(pathToApp, "AssetBundles");
args = string.Format("\"{0}\" {1}", args, Process.GetCurrentProcess().Id);
ProcessStartInfo startInfo =
ExecuteInternalMono.GetProfileStartInfoForMono(
MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), "4.0", pathToAssetServer, args, true);
startInfo.WorkingDirectory = Path.Combine(System.Environment.CurrentDirectory, "AssetBundles");
startInfo.UseShellExecute = false;
Process launchProcess = Process.Start(startInfo);
if (launchProcess == null || launchProcess.HasExited == true || launchProcess.Id == 0)
{
//Unable to start process
UnityEngine.Debug.LogError("Unable Start AssetBundleServer process");
}
else
{
//We seem to have launched, let's save the PID
instance.m_ServerPID = launchProcess.Id;
}
}