效果
代码实现
using UnityEngine;
using UnityEditor;
public static class VersionTool
{
//Set CheckMark
[MenuItem("Platform/Editor", true)]
public static bool CheckPlatform()
{
string platform = EditorPrefs.GetString("platform", "_Editor_Platform");
Menu.SetChecked("Platform/PC", platform == "_PC_Platform");
Menu.SetChecked("Platform/IOS", platform == "_IOS_Platform");
Menu.SetChecked("Platform/Android", platform == "_Android_Platform");
Menu.SetChecked("Platform/Editor", platform == "_Editor_Platform");
Debug.LogError("CheckPlatform");
return true;
}
//Switch Platform
[MenuItem("Platform/Editor")]
public static void SwitchToEditorResource()
{
SwitchToTargetResource("_Editor_Platform");
}
[MenuItem("Platform/PC")]
public static void SwitchToPCResource()
{
SwitchToTargetResource("_PC_Platform");
}
[MenuItem("Platform/IOS")]
public static void SwitchToIOSResource()
{
SwitchToTargetResource("_IOS_Platform");
}
[MenuItem("Platform/Android")]
public static void SwitchToAndroidResource()
{
SwitchToTargetResource("_Android_Platform");
}
private static void SwitchToTargetResource(string targetKeyword)
{
EditorPrefs.SetString("platform", targetKeyword);
}
}
备注
EditorPrefs是一个用于编辑器保存数据的类,这样我们的设置即使在关闭编辑器以后也不会重置~
EditorPrefs.SetString("platform", "对应字符串");
string platform = EditorPrefs.GetString("platform", "默认字符串");