コード例 #1
0
    public static void UpdateThread(object PersistentPath)
    {
        Debug.Log("Updating....");

        using (WebClient client = new WebClient())
        {
            client.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache);
            Debug.Log("Downloading scripts...");
            File.WriteAllText(UploadBuild.Path, client.DownloadString(UploadBuildRemotePath));
            File.WriteAllText(VitaFTPOptions.Path, client.DownloadString(VitaFTPIOptionsRemotePath));
            File.WriteAllText(UploadWrapper.path, client.DownloadString(UploadDataRemotePath));

            client.Headers.Add("user-agent", "VitaFTPI Updater");
            Debug.Log("Downloading Uploader...");

            client.DownloadFile("https://github.com/Ibrahim778/VitaFTPI-Core/releases/download/" + GetVersionTag(client.DownloadString(ApiQuery)) + "/Tools.zip", (string)PersistentPath + "/tempfile.zip");
        }
        Debug.Log("Extracting...");
        System.Diagnostics.ProcessStartInfo extStartInfo = new System.Diagnostics.ProcessStartInfo();
        extStartInfo.FileName  = "\"" + new FileInfo(new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName()).DirectoryName + "\\Extractor\\Extractor.exe" + "\"";
        extStartInfo.Arguments = "\"" + (string)PersistentPath + "/tempfile.zip\"" + " \"" + (string)PersistentPath + "/Extracted\"";
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo = extStartInfo;
        process.Start();
        while (!process.HasExited)
        {
            Thread.Sleep(1);
        }
        Debug.Log("Extracted!");
        File.Delete(PersistentPath + "/tempfile.zip");

        DirectoryInfo newUploader = new DirectoryInfo(PersistentPath + "/Extracted/Tools/Uploader");
        DirectoryInfo oldUploader = new DirectoryInfo(UploadBuild.GetUploadDir());

        if (!Directory.Exists(oldUploader.FullName))
        {
            Directory.CreateDirectory(oldUploader.FullName);
        }
        foreach (FileInfo file in newUploader.GetFiles())
        {
            Debug.Log("Copying : " + file.Name + " to :" + Path.Combine(oldUploader.FullName, file.Name));
            file.CopyTo(Path.Combine(oldUploader.FullName, file.Name), true);
        }
        Debug.Log("Done!");
    }
コード例 #2
0
    void OnGUI()
    {
        GUILayoutOption width112 = GUILayout.Width(112);

#if !UNITY_PSP2
        EditorGUILayout.HelpBox("This is a PSVITA only tool, To use it set your build target to PSVITA!", MessageType.Warning);
        return;
#endif
        EditorGUILayout.BeginVertical();
        EditorGUILayout.Space();
        GUILayout.Label("Build Settings", EditorStyles.boldLabel);
        EditorGUILayout.BeginHorizontal();
        scrollView = EditorGUILayout.BeginScrollView(scrollView, false, false);
        if (uploadData == null)
        {
            GetUploadData();
        }

        uploadData.startOnBuildEnd = EditorGUILayout.Toggle("Start on build end", uploadData.startOnBuildEnd);

        GUILayout.Space(7);
        uploadData.KeepFolderAfterBuild = EditorGUILayout.Toggle("Keep build folder", uploadData.KeepFolderAfterBuild);
        GUILayout.Space(5);
        uploadData.ExtractOnPC = EditorGUILayout.Toggle("Extract VPK on PC", uploadData.ExtractOnPC);

        EditorGUILayout.Space();
        GuiLine(1);
        EditorGUILayout.Space();

        GUILayout.Label("Connection Settings", EditorStyles.boldLabel);

        GUILayout.BeginHorizontal();
        GUILayout.Label("IP Adress");
        GUILayout.FlexibleSpace();
        uploadData.IP = EditorGUILayout.TextField(uploadData.IP, EditorStyles.numberField, width112).Split(' ')[0];
        GUILayout.EndHorizontal();

        GUILayout.Space(4);
        uploadData.UseUSB = EditorGUILayout.Toggle("Use USB", uploadData.UseUSB);
        if (uploadData.UseUSB)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Storage Type (PSVita)");
            uploadData.storageIndex = EditorGUILayout.Popup(uploadData.storageIndex, storageOptionsVisual);
            uploadData.storageType  = storageOptions[uploadData.storageIndex];
            GUILayout.EndHorizontal();
            uploadData.useUDCD = EditorGUILayout.Toggle("Use udcd_uvc", uploadData.useUDCD);
            if (uploadData.useUDCD)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("Plugin path: ");
                uploadData.udcdPath = EditorGUILayout.TextField(uploadData.udcdPath, EditorStyles.textField, GUILayout.Width(150)).Split(' ')[0];
                GUILayout.EndHorizontal();
            }
        }

        GUILayout.Space(8);
        GUILayout.BeginHorizontal();
        uploadData.CustomUploaderFolder = EditorGUILayout.Toggle("Custom Uploader Folder", uploadData.CustomUploaderFolder);

        if (uploadData.CustomUploaderFolder)
        {
            if (GUILayout.Button("Browse", width112))
            {
                uploadData.UploaderFolder = EditorUtility.OpenFolderPanel("Select Uploader Folder", uploadData.UploaderFolder, "");
            }
            GUILayout.EndHorizontal();
            EditorGUILayout.Space();
        }
        else
        {
            GUILayout.EndHorizontal();
        }

        EditorGUILayout.Space();

        // Should save once you change a field.
        if (GUI.changed)
        {
            File.WriteAllText(SavePath, JsonUtility.ToJson(uploadData));
            AssetDatabase.ImportAsset("Assets/VitaFTPI/SaveConfig.txt");
            Debug.Log("Configuration Saved!");
        }


        EditorGUILayout.Space();
        GuiLine(1);

        EditorGUILayout.Space();
        GUILayout.Label("Dev Options", EditorStyles.boldLabel);
        GUILayout.Space(8);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Test Build"))
        {
            UploadBuild.TestBuild();
            return;
        }
        if (GUILayout.Button("Relaunch Previous Test"))
        {
            UploadBuild.sendCommand("file ux0:data/VitaUnity/build/build.self");
        }
        if (!UploadBuild.HasStarted)
        {
            if (GUILayout.Button("Start Debug"))
            {
                UploadBuild.StartDebug();
            }
        }
        else if (UploadBuild.HasStarted)
        {
            if (GUILayout.Button("Stop Debug"))
            {
                UploadBuild.StopDebug();
            }
        }
        GUILayout.EndHorizontal();
        EditorGUILayout.Space();

        GuiLine(1);
        EditorGUILayout.Space();

        GUILayout.Label("Install Actions", EditorStyles.boldLabel);
        GUILayout.Space(8);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Build Game"))
        {
            UploadBuild.BuildGame();
            return;
        }
        if (GUILayout.Button("Install"))
        {
            UploadBuild.BuildVPK(true);
            if (uploadData.ExtractOnPC)
            {
                UploadBuild.ReplaceInstall();
            }
            else
            {
                UploadBuild.UploadVPK();
            }
        }
        if (GUILayout.Button("Pack VPK"))
        {
            UploadBuild.PackVPK();
        }
        GUILayout.EndHorizontal();


        EditorGUILayout.Space();
        GuiLine(1);
        EditorGUILayout.Space();

        GUILayout.Label("Other", EditorStyles.boldLabel);
        EditorGUILayout.Space();
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Launch Game"))
        {
            UploadBuild.sendCommand("launch " + Regex.Match(PlayerSettings.PSVita.contentID, "([A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9])").Value);
        }
        if (GUILayout.Button("Reboot"))
        {
            UploadBuild.sendCommand("reboot");
        }
        if (GUILayout.Button("Close all apps"))
        {
            UploadBuild.sendCommand("destroy");
        }
        GUILayout.EndHorizontal();
        EditorGUILayout.Space();

        GuiLine(1);
        EditorGUILayout.Space();

        EditorGUILayout.Space();
        GUILayout.Label("Made with <3 by Ibrahim");
        GUILayout.Label("Layout by Bizzy and iDevOnAParkingLot");

        EditorGUILayout.EndScrollView();
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.EndVertical();
    }