Пример #1
0
 private ClientStartParameters CreateClientStartParameters(ProjectDto project)
 {
     return new ClientStartParameters
     {
         ConnectionTicket = _userContext.ConnectionTicket,
         UserName = _userContext.UserCredentials.UserName,
         ServerName = _userContext.ServerName,
         ServerPort = _userContext.ServerPort,
         ProjectId = project.Id,
         ProjectName = project.Name
     };
 }
Пример #2
0
        public Result StartClientAsync(ProjectDto project)
        {
            var clientStartParameters = CreateClientStartParameters(project);
            var startParameter = JsonSerializer.Serialize(clientStartParameters);
            var startParameterEncoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(startParameter));

            var clientPath = Path.Combine(_clientSettings.ClientDirectory, "UOStudio.Client.exe");
            if (!File.Exists(clientPath))
            {
                return Result.Failure($"Client path {clientPath} does not exist");
            }
            var process = Process.Start(clientPath, startParameterEncoded);

            return process?.Handle != IntPtr.Zero
                ? Result.Success()
                : Result.Failure("Unable to start UOStudio.Client");
        }