Skip to content
QiuHanWen edited this page Mar 24, 2023 · 2 revisions

你可以像其他Unity项目一样编写自己的代码。

获取Manager单例

通过AC_ManagerHolder静态类可获取躁动光标的各个Manager单例:

public static class AC_ManagerHolder
{
    //——System——
    public static IAC_SystemCursorManager SystemCursorManager { get; internal set; }
    public static IAC_SystemInputManager SystemInputManager { get; internal set; }
    public static IAC_SystemAudioManager SystemAudioManager { get; internal set; }
    public static IAC_SystemLogManager SystemLogManager { get; internal set; }

    //——Setting——
    public static IAC_CommonSettingManager CommonSettingManager { get; internal set; }

    //——Cursor——
    public static IAC_SceneManager SceneManager { get; internal set; }
    public static IAC_EnvironmentManager EnvironmentManager { get; internal set; }
    public static IAC_TransformManager TransformManager { get; internal set; }
    public static IAC_StateManager StateManager { get; internal set; }
}

接口

通过继承以下接口可接收回调:

  • IAC_Manager_ModInitHandler: Mod场景被加载/卸载
  • IAC_CursorState_ChangedHandler: 光标状态改变
  • IAC_CommonSetting_XXXHandler: 光标设置改变
  • IAC_SystemAudio_XXXDataChangedHandler: 系统音频数据改变
  • IAC_SystemCursor_AppearanceChangedHandler: 系统光标外形改变(如显隐或更换指针样式)
  • IAC_SystemInput_MouseXXXHandler: 系统鼠标事件触发
  • IAC_SystemWindow_ChangedHandler: 当前激活系统窗口改变(如分辨率变化或当前显示屏改变)

限制

出于安全原因,某些脚本不允许包含在mods中:

Assembly

  • UnityEditor
  • Mono.Cecil

Namespace

  • System.IO.*
  • UnityEngine.SceneManagement.*

Type

  • System.AppDomain
  • System.Threading.Process
  • UnityEngine.Input
  • Threeyes.IO.FileIO
  • Threeyes.External.ExternalResources
  • PathTool

Member

  • UnityEngine.Application.Quit

注意

  • 不支持继承ScriptableObject的自定义脚本,对这些脚本实例的任何引用都将在打包后解析为null。
  • 下载我的AliveCursor_ModUploader模板项目可以更好地理解以上内容。