A game about forced loneliness, made by TACStudios
at master 3.3 kB view raw
1using UnityEditor; 2using UnityEngine; 3 4using PlasticGui; 5using Unity.PlasticSCM.Editor.UI; 6 7namespace Unity.PlasticSCM.Editor 8{ 9 internal class SwitchModeConfirmationDialog : PlasticDialog 10 { 11 protected override Rect DefaultRect 12 { 13 get 14 { 15 var baseRect = base.DefaultRect; 16 return new Rect(baseRect.x, baseRect.y, 560, 180); 17 } 18 } 19 20 internal static bool SwitchMode( 21 bool isGluonMode, 22 EditorWindow parentWindow) 23 { 24 SwitchModeConfirmationDialog dialog = Create(isGluonMode); 25 return dialog.RunModal(parentWindow) == ResponseType.Ok; 26 } 27 28 protected override void OnModalGUI() 29 { 30 Title(PlasticLocalization.GetString( 31 PlasticLocalization.Name.SwitchModeConfirmationDialogTitle)); 32 33 DoExplanationArea(mIsGluonMode); 34 35 GUILayout.Space(20); 36 37 DoButtonsArea(); 38 } 39 40 protected override string GetTitle() 41 { 42 return PlasticLocalization.GetString( 43 PlasticLocalization.Name.SwitchModeConfirmationDialogTitle); 44 } 45 46 void DoExplanationArea(bool isGluonMode) 47 { 48 PlasticLocalization.Name currentMode = isGluonMode ? 49 PlasticLocalization.Name.GluonMode : 50 PlasticLocalization.Name.DeveloperMode; 51 52 PlasticLocalization.Name selectedMode = isGluonMode ? 53 PlasticLocalization.Name.DeveloperMode : 54 PlasticLocalization.Name.GluonMode; 55 56 string formattedExplanation = PlasticLocalization.GetString( 57 PlasticLocalization.Name.SwitchModeConfirmationDialogExplanation, 58 PlasticLocalization.GetString(currentMode), 59 PlasticLocalization.GetString(selectedMode)); 60 61 TextBlockWithEndLink(UnityUrl.UnityWebsite.Gluon(), formattedExplanation, UnityStyles.Paragraph); 62 } 63 64 void DoButtonsArea() 65 { 66 using (new EditorGUILayout.HorizontalScope()) 67 { 68 GUILayout.FlexibleSpace(); 69 70 if (Application.platform == RuntimePlatform.WindowsEditor) 71 { 72 DoSwitchButton(); 73 DoCancelButton(); 74 return; 75 } 76 77 DoCancelButton(); 78 DoSwitchButton(); 79 } 80 } 81 82 void DoSwitchButton() 83 { 84 if (!AcceptButton(PlasticLocalization.GetString( 85 PlasticLocalization.Name.SwitchButton))) 86 return; 87 88 OkButtonAction(); 89 } 90 91 void DoCancelButton() 92 { 93 if (!NormalButton(PlasticLocalization.GetString( 94 PlasticLocalization.Name.CancelButton))) 95 return; 96 97 CancelButtonAction(); 98 } 99 100 static SwitchModeConfirmationDialog Create( 101 bool isGluonMode) 102 { 103 var instance = CreateInstance<SwitchModeConfirmationDialog>(); 104 instance.mIsGluonMode = isGluonMode; 105 instance.mEnterKeyAction = instance.OkButtonAction; 106 instance.mEscapeKeyAction = instance.CancelButtonAction; 107 return instance; 108 } 109 110 bool mIsGluonMode; 111 } 112}