• Unity启动事件-监听:InitializeOnLoad


    [InitializeOnLoad] :在启动Unity的时候运行编辑器脚本

     官方案例:
    1. using UnityEngine;
    2. using UnityEditor;
    3. [InitializeOnLoad]
    4. publicclassStartup{
    5. staticStartup()
    6. {
    7. Debug.Log("Up and running");
    8. }
    9. }
    在启动Unity的时候打印一句话。
     
    e.g. siki:
    1. using UnityEditor;
    2. using UnityEngine;
    3. [InitializeOnLoad]
    4. publicclassAppload
    5. {
    6. staticAppload()
    7. {
    8. bool hasKey =PlayerPrefs.HasKey("sikiwelcomescreen");
    9. if(hasKey==false)
    10. {
    11. //EditorApplication.update += Update;
    12. PlayerPrefs.SetInt("sikiwelcomescreen",1);
    13. WelcomeScreen.ShowWindow();
    14. }
    15. }
    16. //static void Update()
    17. //{
    18. // bool isSuccess = EditorApplication.ExecuteMenuItem("Welcome Screen");
    19. // if (isSuccess) EditorApplication.update -= Update;
    20. //}
    21. }
    22. publicclassWelcomeScreen:EditorWindow
    23. {
    24. privateTexture mSamplesImage;
    25. privateRect imageRect =newRect(30f,90f,350f,350f);
    26. privateRect textRect =newRect(15f,15f,380f,100f);
    27. publicvoidOnEnable()
    28. {
    29. //this.mWelcomeScreenImage = EditorGUIUtility.Load("WelcomeScreenHeader.png") as Texture;
    30. //BehaviorDesignerUtility.LoadTexture("WelcomeScreenHeader.png", false, this);
    31. this.mSamplesImage =LoadTexture("wechat.jpg");
    32. }
    33. TextureLoadTexture(string name)
    34. {
    35. string path ="Assets/PlayMaker/Editor/";
    36. return(Texture)AssetDatabase.LoadAssetAtPath(path + name,typeof(Texture));
    37. }
    38. publicvoidOnGUI()
    39. {
    40. //GUI.DrawTexture(this.mWelcomeScreenImageRect, this.mWelcomeScreenImage);
    41. GUIStyle style =newGUIStyle();
    42. style.fontSize =14;
    43. style.normal.textColor =Color.white;
    44. GUI.Label(this.textRect,"欢迎扫一扫siki的微信,关注微信号 我会在上面推送一套关于独立游戏开发者的游戏视频教程 免费的! 时刻更新中! 这个页面只会显示一次",style);
    45. GUI.DrawTexture(this.imageRect,this.mSamplesImage);
    46. }
    47. publicstaticvoidShowWindow()
    48. {
    49. WelcomeScreen window =EditorWindow.GetWindow<WelcomeScreen>(true,"Hello 你好 我是你们最亲爱的siki老师");
    50. window.minSize = window.maxSize =newVector2(410f,470f);
    51. UnityEngine.Object.DontDestroyOnLoad(window);
    52. }
    53. }
     





  • 相关阅读:
    呈现系统-组件间的通信方式(7)
    web项目中图标的前端处理方案
    ADO--数据访问技术
    canvas--绘制路径
    canvas--改变颜色
    canvas-在画布中画两个方块(一个空心一个实体)
    canvas--画布《第一步》
    拼图游戏【简单】
    判断字符串是否为空--string.Empty、string=""、s.length==0
    判断Char是否为数字
  • 原文地址:https://www.cnblogs.com/caymanlu/p/5830134.html
Copyright © 2020-2023  润新知