Ejemplo n.º 1
0
    static void CopyFile(BuildParameterFactory.BuildParameter parameter)
    {
        if (parameter.target == BuildTarget.StandaloneLinux || parameter.target == BuildTarget.StandaloneLinuxUniversal)
        {
            string src = Directory.GetCurrentDirectory() + "/config";
            string dst = parameter.directory + parameter.name + "_Data/Mono/etc/mono/config";
            try {
                FileUtil.ReplaceFile(src, dst);
            } catch (System.Exception e) {
                Debug.LogError("Failed to copy file : " + e);
            }
        }

        /* After ver 4.6(included), .app/Contents/MacOS/* would use build name instead of ProductName
         * else if (parameter.target == BuildTarget.StandaloneOSXIntel || parameter.target == BuildTarget.StandaloneOSXUniversal) {
         *      string src = parameter.directory + parameter.name + ".app/Contents/MacOS/PE_Client";
         *      string dst = parameter.directory + parameter.name + ".app/Contents/MacOS/Planet Explorers";
         *      try {
         *              FileUtil.DeleteFileOrDirectory(dst);
         *              FileUtil.MoveFileOrDirectory(src, dst);
         *              //FileUtil.CopyFileOrDirectory(src, dst);
         *      } catch (System.Exception e) {
         *              Debug.LogError("Failed to copy file : " + e);
         *      }
         * }
         */
    }
Ejemplo n.º 2
0
    static bool ExecuteBuild(BuildParameterFactory.BuildParameter parameter)
    {
        if (!string.IsNullOrEmpty(parameter.error))
        {
            Debug.LogError(parameter.error);
            return(EditorUtility.DisplayDialog("!Failed", "ParaError:" + parameter.error, "Continue", "Abort"));
        }

        if (BuildPipeline.isBuildingPlayer)
        {
            return(EditorUtility.DisplayDialog("!Failed", "IsBuildingPlayer", "Continue", "Abort"));
        }

        if (!PrepareBuildDir(parameter))
        {
            return(EditorUtility.DisplayDialog("!Failed", "Failed to prapare build dir", "Continue", "Abort"));
        }

        PreparePlayerSetting(parameter);
        PrepareBuildSetting(parameter);

        string error = BuildPipeline.BuildPlayer(parameter.scenes, parameter.path, parameter.target, parameter.options);

        if (string.IsNullOrEmpty(error))
        {
            CopyFile(parameter);
            Debug.Log("Succed to build player : " + parameter);
        }
        else
        {
            Debug.LogError(error);
            return(EditorUtility.DisplayDialog("!Failed", error, "Continue", "Abort"));
        }
        return(true);
    }
Ejemplo n.º 3
0
    static void PreparePlayerSetting(BuildParameterFactory.BuildParameter parameter)
    {
        if (PlayerSettings.GetScriptingDefineSymbolsForGroup(parameter.targets) != parameter.symbols)
        {
            Debug.Log("Set symbols : " + parameter.symbols);

            PlayerSettings.SetScriptingDefineSymbolsForGroup(parameter.targets, parameter.symbols);
        }
    }
Ejemplo n.º 4
0
    static void PrepareBuildSetting(BuildParameterFactory.BuildParameter parameter)
    {
        if (EditorUserBuildSettings.activeBuildTarget != parameter.target)
        {
            Debug.Log("Switch to target : " + parameter.target);

            EditorUserBuildSettings.SwitchActiveBuildTarget(parameter.target);
        }
    }
Ejemplo n.º 5
0
    static bool PrepareBuildDir(BuildParameterFactory.BuildParameter parameter)
    {
        if (!System.IO.Directory.Exists(parameter.directory))
        {
            try
            {
                Directory.CreateDirectory(parameter.directory);

                Debug.Log("Succeed to create directory : " + parameter.directory);
                return(true);
            }
            catch (System.Exception e)
            {
                Debug.LogError("Failed to create directory : " + e);
                return(false);
            }
        }

        return(true);
    }