[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);}}