mergemilitary/Assets/TKGSDK/Editor/ToukaSDKManager.cs

111 lines
3.6 KiB
C#

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("保存成功", "你的更改已成功保存!重启游戏后生效。", "确定");
}
}
}