in Editor/Window/ManagedEC2/EC2DeployStep.cs [34:84]
public EC2DeployStep(
VisualElement container,
StateManager stateManager,
EC2DeploymentSettings deploymentSettings,
ManagedEC2FleetParameters managedEC2FleetParameters) : base(container, stateManager, "EditorWindow/Components/ManagedEC2/EC2DeployStep")
{
_deploymentSettings = deploymentSettings;
_managedEC2FleetParameters = managedEC2FleetParameters;
_statusIndicator = _container.Q<StatusIndicator>();
_statusLink = container.Q("ManagedEC2DeployStatusLink");
_statusLink.RegisterCallback<ClickEvent>(_ => Application.OpenURL(
string.Format(Urls.AwsCloudFormationEventsTemplate, _stateManager.Region, _deploymentSettings.CurrentStackInfo.StackId)));
_ec2DeployContainer = container.Q<VisualElement>("ManagedEC2DeployContainer");
_ec2DeployButtonContainer = container.Q<VisualElement>("ManagedEC2ButtonContainer");
Hide(_ec2DeployContainer);
Hide(_ec2DeployButtonContainer);
_ec2Deployment = new ManagedEC2Deployment(_deploymentSettings);
_templateContent = new DeploymentStepTemplate.Builder("Deploy scenario", Strings.ManagedEC2DeployDescription)
.WithoutBaseButtons()
.Build(container);
LocalizeText();
_deployButton = container.Q<Button>("ManagedEC2CreateStackButton");
_deployButton.RegisterCallback<ClickEvent>(_ =>
{
TryStart(); // Use it to close status box and mark progress bar as in progress
_ec2Deployment.StartDeployment();
UpdateGUI();
});
_deleteButton = container.Q<Button>("ManagedEC2DeleteStackButton");
_deleteButton.RegisterCallback<ClickEvent>(async _ =>
{
await _ec2Deployment.DeleteDeployment();
_deploymentSettings.RefreshCurrentStackInfo();
UpdateGUI();
Reset();
Show(_ec2DeployContainer);
Show(_ec2DeployButtonContainer);
});
_stateManager.OnUserProfileUpdated += () => UpdateDeploymentSettings(_managedEC2FleetParameters);
_stateManager.OnUserProfileUpdated += UpdateGUI;
_deploymentSettings.CurrentStackInfoChanged += UpdateGUI;
_deploymentSettings.RefreshCurrentStackInfo();
}