using UnityEditor; using UnityEngine; namespace Touka { public class ToukaSDKManagerEditor : EditorWindow { private static bool useGuestLogin = true; private static bool useFbLogin; private static bool useGoogleLogin; private static string fbUserId = "fb_123"; private static string googleUserId = "google_123"; [MenuItem("ToukaGames/Open GM Panel", priority = 20000)] static void OpenPanel() { var loginChannels = PlayerPrefs.GetString("loginChannels", "" + (int)LoginType.LOGIN_BY_GUESTER); foreach (var c in loginChannels.Split(',')) { var channel = int.Parse(c); switch (channel) { case (int)LoginType.LOGIN_BY_GUESTER: useGuestLogin = true; break; case (int)LoginType.LOGIN_BY_FACEBOOK: useFbLogin = true; break; case (int)LoginType.LOGIN_BY_GOOGLE: useGoogleLogin = true; break; } } googleUserId = PlayerPrefs.GetString("google_user_id", "google_123"); fbUserId = PlayerPrefs.GetString("facebook_user_id", "fb_123"); var window = (ToukaSDKManagerEditor)GetWindow(typeof(ToukaSDKManagerEditor)); window.Show(); } private void OnGUI() { GUILayout.Label("Login Options", EditorStyles.boldLabel); EditorGUI.BeginDisabledGroup(true); useGuestLogin = EditorGUILayout.Toggle("Guest Login", useGuestLogin); EditorGUI.EndDisabledGroup(); useFbLogin = EditorGUILayout.Toggle("Facebook Login", useFbLogin); if (useFbLogin) { EditorGUILayout.BeginHorizontal(); fbUserId = EditorGUILayout.TextField("Facebook UserID", fbUserId); if (GUILayout.Button("Default")) { fbUserId = "fb_123"; } EditorGUILayout.EndHorizontal(); } useGoogleLogin = EditorGUILayout.Toggle("Google Login", useGoogleLogin); if (useGoogleLogin) { EditorGUILayout.BeginHorizontal(); googleUserId = EditorGUILayout.TextField("Google UserID", googleUserId); if (GUILayout.Button("Default")) { googleUserId = "google_123"; } EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Save")) { // Save the login options SaveLoginOptions(); } } private void SaveLoginOptions() { var loginChannels = ""; if (useGuestLogin) { loginChannels += (int)LoginType.LOGIN_BY_GUESTER; } if (useFbLogin) { loginChannels += "," + (int)LoginType.LOGIN_BY_FACEBOOK; PlayerPrefs.SetString("facebook_user_id", fbUserId); } if (useGoogleLogin) { loginChannels += "," + (int)LoginType.LOGIN_BY_GOOGLE; PlayerPrefs.SetString("google_user_id", googleUserId); } PlayerPrefs.SetString("loginChannels", loginChannels); EditorUtility.DisplayDialog("保存成功", "你的更改已成功保存!重启游戏后生效。", "确定"); } } }