Files

66 lines
2.2 KiB
C#

using UnityEditor;
using UnityEngine;
using PlasticGui;
using Unity.PlasticSCM.Editor.UI;
namespace Unity.PlasticSCM.Editor
{
internal class SwitchModeConfirmationDialog : PlasticDialog
{
protected override Rect DefaultRect
{
get
{
var baseRect = base.DefaultRect;
return new Rect(baseRect.x, baseRect.y, 560, 180);
}
}
internal static bool SwitchMode(
bool isGluonMode,
EditorWindow parentWindow)
{
SwitchModeConfirmationDialog dialog = Create(isGluonMode);
return dialog.RunModal(parentWindow) == ResponseType.Ok;
}
protected override void DoComponentsArea()
{
PlasticLocalization.Name currentMode = mIsGluonMode ?
PlasticLocalization.Name.GluonMode :
PlasticLocalization.Name.DeveloperMode;
PlasticLocalization.Name selectedMode = mIsGluonMode ?
PlasticLocalization.Name.DeveloperMode :
PlasticLocalization.Name.GluonMode;
string formattedExplanation = PlasticLocalization.GetString(
PlasticLocalization.Name.SwitchModeConfirmationDialogExplanation,
PlasticLocalization.GetString(currentMode),
PlasticLocalization.GetString(selectedMode));
TextBlockWithEndLink(UnityUrl.UnityWebsite.Gluon(), formattedExplanation, UnityStyles.Paragraph);
}
protected override string GetTitle()
{
return PlasticLocalization.GetString(
PlasticLocalization.Name.SwitchModeConfirmationDialogTitle);
}
static SwitchModeConfirmationDialog Create(
bool isGluonMode)
{
var instance = CreateInstance<SwitchModeConfirmationDialog>();
instance.mIsGluonMode = isGluonMode;
instance.mEnterKeyAction = instance.OkButtonAction;
instance.mEscapeKeyAction = instance.CancelButtonAction;
instance.mOkButtonText = PlasticLocalization.Name.SwitchButton.GetString();
return instance;
}
bool mIsGluonMode;
}
}