internal virtual()

in Editor/CoreAPI/DeploymentRequestFactory.cs [25:77]


        internal virtual (DeploymentRequest request, bool success, Response failedResponse) CreateRequest(
            string scenarioFolderPath, string gameName, bool isDevelopmentBuild)
        {
            if (scenarioFolderPath is null)
            {
                throw new ArgumentNullException(nameof(scenarioFolderPath));
            }

            if (gameName is null)
            {
                throw new ArgumentNullException(nameof(gameName));
            }
 
            string stackName = IsContainersDeployment ? GameLiftCoreApi.GetStackNameContainers(gameName) : GameLiftCoreApi.GetStackName(gameName);
            string cfnTemplatePath = Path.Combine(scenarioFolderPath, Paths.CfnTemplateFileName);
            string parametersPath = Path.Combine(scenarioFolderPath, Paths.ParametersFileName);
            string lambdaFolderPath = Path.Combine(scenarioFolderPath, Paths.LambdaFolderPathInScenario);

            GetSettingResponse currentProfileResponse = GameLiftCoreApi.GetSetting(SettingsKeys.CurrentProfileName);

            if (!currentProfileResponse.Success)
            {
                return (null, false, currentProfileResponse);
            }

            GetSettingResponse currentRegionResponse = GameLiftCoreApi.GetSetting(SettingsKeys.CurrentRegion);

            if (!currentRegionResponse.Success)
            {
                return (null, false, currentRegionResponse);
            }

            GetSettingResponse bucketResponse = GameLiftCoreApi.GetSetting(SettingsKeys.CurrentBucketName);

            if (!bucketResponse.Success)
            {
                return (null, false, bucketResponse);
            }

            var request = new DeploymentRequest()
            {
                Profile = currentProfileResponse.Value,
                Region = currentRegionResponse.Value,
                BucketName = bucketResponse.Value,
                StackName = stackName,
                CfnTemplatePath = cfnTemplatePath,
                ParametersPath = parametersPath,
                IsDevelopmentBuild = isDevelopmentBuild,
                GameName = gameName,
                LambdaFolderPath = lambdaFolderPath,
            };
            return (request, true, null);
        }