[InitializeOnLoad] :在启动Unity的时候运行编辑器脚本
官方案例:
using UnityEngine;
using UnityEditor;
[InitializeOnLoad]
publicclassStartup{
staticStartup()
{
Debug.Log("Up and running");
}
}
在启动Unity的时候打印一句话。
e.g. siki:
using UnityEditor;
using UnityEngine;
[InitializeOnLoad]
publicclassAppload
{
staticAppload()
{
bool hasKey =PlayerPrefs.HasKey("sikiwelcomescreen");
if(hasKey==false)
{
//EditorApplication.update += Update;
PlayerPrefs.SetInt("sikiwelcomescreen",1);
WelcomeScreen.ShowWindow();
}
}
//static void Update()
//{
// bool isSuccess = EditorApplication.ExecuteMenuItem("Welcome Screen");
// if (isSuccess) EditorApplication.update -= Update;
//}
}
publicclassWelcomeScreen:EditorWindow
{
privateTexture mSamplesImage;
privateRect imageRect =newRect(30f,90f,350f,350f);
privateRect textRect =newRect(15f,15f,380f,100f);
publicvoidOnEnable()
{
//this.mWelcomeScreenImage = EditorGUIUtility.Load("WelcomeScreenHeader.png") as Texture;
//BehaviorDesignerUtility.LoadTexture("WelcomeScreenHeader.png", false, this);
this.mSamplesImage =LoadTexture("wechat.jpg");
}
TextureLoadTexture(string name)
{
string path ="Assets/PlayMaker/Editor/";
return(Texture)AssetDatabase.LoadAssetAtPath(path + name,typeof(Texture));
}
publicvoidOnGUI()
{
//GUI.DrawTexture(this.mWelcomeScreenImageRect, this.mWelcomeScreenImage);
GUIStyle style =newGUIStyle();
style.fontSize =14;
style.normal.textColor =Color.white;
GUI.Label(this.textRect,"欢迎扫一扫siki的微信,关注微信号 我会在上面推送一套关于独立游戏开发者的游戏视频教程 免费的! 时刻更新中! 这个页面只会显示一次",style);
GUI.DrawTexture(this.imageRect,this.mSamplesImage);
}
publicstaticvoidShowWindow()
{
WelcomeScreen window =EditorWindow.GetWindow<WelcomeScreen>(true,"Hello 你好 我是你们最亲爱的siki老师");
window.minSize = window.maxSize =newVector2(410f,470f);
UnityEngine.Object.DontDestroyOnLoad(window);
}
}