public async void ShowInterfaceInstall()
        {
            HideInterfaces();

            if (VersionName == null)
            {
                await MessageWindow.Show(this, "Name missing", "No version name was provided");

                ShowInterfaceName();
            }
            else
            {
                List <BlenderVersion> existing = BlenderVersion.GetBlenderVersions(SystemInfo.RelativeToApplicationDirectory("VersionCache"), SystemInfo.RelativeToApplicationDirectory("VersionCustom"));
                if (existing.Any(x => x.Name.ToLower() == VersionName.ToLower()))
                {
                    await MessageWindow.Show(this, "Name already exists", "This version name already exists");

                    ShowInterfaceName();
                }
                else
                {
                    string path = BlenderManager.GetVersionPath(SystemInfo.RelativeToApplicationDirectory(ServerSettings.Instance.BlenderData), VersionName, SystemInfo.GetOSName());
                    _outputPath.Text            = Path.GetFullPath(path);
                    _interfaceInstall.IsVisible = true;
                }
            }
        }
예제 #2
0
        public static void Init(TestContext context)
        {
            blender = new BlenderManager();
            server  = new RenderServer(PORT, -1, true);
            manager = new BlendFarmManager(BLEND_FILE, BLEND_VERSION);
            server.Start();
            Thread.Sleep(3000);

            if (!Directory.Exists(RESULTS_DIRECTORY))
            {
                Directory.CreateDirectory(RESULTS_DIRECTORY);
            }
        }
        public async void ShowInterfaceComplete()
        {
            HideInterfaces();

            string blenderData = SystemInfo.RelativeToApplicationDirectory("BlenderData");
            string executable  = BlenderManager.GetVersionExecutablePath(blenderData, VersionName);

            if (!BlenderManager.IsVersionValid(blenderData, VersionName))
            {
                await MessageWindow.Show(this, "Missing Installation", $"Expecting Blender executable on path\n{executable}");

                ShowInterfaceInstall();
            }
            else
            {
                List <string> lines = BlenderVersion.GetCustomBlenderVersions(SystemInfo.RelativeToApplicationDirectory("VersionCustom")).Select(x => x.Name).ToList();
                lines.Add(VersionName);
                File.WriteAllLines(SystemInfo.RelativeToApplicationDirectory("VersionCustom"), lines.ToArray());

                _interfaceComplete.IsVisible = true;
            }
        }