___导言___
模块允许您向uScript添加自定义脚本功能。模块允许您定义各种内容,包括脚本事件,类、模块(静态类)、全局、函数、属性和构造函数。您可以创建uScript模块来提供uScript和其他 插件/服务 之间的接口,或者扩展当前功能。
___快速入门___
入门前请先下载API、主模块和参考库。然后,将它们添加为对模块项目(库)的引用。如果你需要其他引用(如Unturned的Assembly-CSharp.dll),也请确保也包含这些引用。以下演示中,我们将使用Unturned的Assembly-CSharp.dll,UnityEngine.dll和UnityEngine.CoreModule.dll。
___创建第一个模块___
您可以添加的最简单的功能是通过ScriptModule,它不应该与“uScript Module”混淆。这是两件不同的东西。ScriptModule允许您在uScript中复制静态类。换句话说,它将使用ScriptModule的名称创建一个全局类型,该名称允许您直接调用其函数/属性,而无需构造函数。
对于本例,我们将创建一个名为“demo”的ScriptModule,其属性名为“timeZone”,将当前时区作为字符串获取,并创建一个名为“display”的函数,将其显示(广播)到服务器。
代码如下:
//在这里,我们标记我们的模块,并将其命名为“demo”。如果不使用名称,它将使用默认C#类名。
//由于ScriptModules要求所有注册的函数/属性都是静态的,因此我们还将类标记为static的。
[ScriptModule("demo")]
public static class DemoModule
{
//由于我们尚未命名ScriptProperty,它将默认为camelCase属性名称“timeZone”,不过这正是我们想要的。
[ScriptProperty]
public static string TimeZone => System.TimeZone.CurrentTimeZone.StandardName; //这是get-only(基于表达式的属性)
//就像ScriptProperty中提到的那样,我们也不需要为ScriptFunction命名。我这样做只是为了举例。
[ScriptFunction("display")]
public static void Display(string message)
{
ChatManager.serverSendMessage(message, Color.white);
}
}
游戏交流区
攻略区
问答区
Mod发布区
Mod地图发布区
Mod技术区
汉化区
角色扮演交流区
技术交流
开服教程区
服务器宣传区
游戏更新公告区
MiaBot框架
圆心云开服面板
话题中心
社区公告
认证申请
工具/软件区
RGB颜色对照表
签到中心
幸运抽奖
排行榜
友情链接
小黑屋
周边商城


