void TextField(MpcArgument args, Func <MpcArgument, string> getter, Action <MpcArgument, string> setter) { var current = getter(args); var newValue = EditorGUILayout.TextField(current); if (newValue != current) { setter(args, newValue); args.Save(); } }
async void OnEnable() { window = this; // set singleton. try { var dotnet = await ProcessHelper.FindDotnetAsync(); isDotnetInstalled = dotnet.found; dotnetVersion = dotnet.version; if (isDotnetInstalled) { isInstalledMpc = await ProcessHelper.IsInstalledMpc(); } } finally { mpcArgument = MpcArgument.Restore(); processInitialized = true; } }