ide - adkevinchang/paracraftapi GitHub Wiki
ide
timer
时间类
"(gl)script/ide/timer.lua"
commonlib.Timer
commonlib.TimerManager
公共方法
Timer:Change(dueTime,period)
定时器方法(可反复调用)
参数
dueTime:number -- dueTime毫秒之后启动定时器
period:number -- 每隔period毫秒启动一次定时器
使用方法
local mytimer = commonlib.Timer:new({callbackFunc = function() xxx end})
mytimer:Change(0, 1000) -- 在0毫秒之后调用定时器函数,之后每隔1000毫秒触发一次
mytimer:Change(1000, nil) -- 在1000毫秒之后调用一次定时器,之后马上停止
mytimer:Change() -- 关掉定时器
------------------------
TimerManager.SetTimeout(func, millisecond)
超时调用函数方法(只调用一次)
参数
func:function -- 定时器函数
millisecond:number -- 超时时间
Files
文件类
"(gl)script/ide/Files.lua"
commonlib.Files
公共方法
Files.IsAbsolutePath(filename)
判断是否为绝对路径
参数
filename:string -- 文件路径名
LuaXML
lua与xml转换类
"(gl)script/ide/LuaXML.lua"
commonlib.Lua2XmlString
公共方法
commonlib.Lua2XmlString(input, bBeautify, sortByKey)
转换Lua表为XML文件
参数
input:table -- lua文件
bBeautify:bool -- 为true时使用缩进
sortByKey:bool -- 为true时通过键值进行排序
oo
面向对象类
"(gl)script/ide/commonlib.lua"
公共方法
commonlib.add_interface(target_class, interface_class)
将interface_class中所有的字符串键值对(除了构造函数和target_class中已经存在的)复制到target_class中供其使用,比继承更快。
参数
target_class:class -- 目标类
interface_class:class -- 接口类
ide->System->Core
ToolBase
工具类
"(gl)script/ide/System/Core/ToolBase.lua"
公共方法
ToolBase.Connect(sender, signal, receiver, slot, connection_type)
信号与槽模式
参数
sender:class -- 发送类对象
signal:function -- 发送类对象的函数
receiver:class -- 接收类对象
slot:function -- 接收类对象的函数
connection_type:string -- 为nil时为AutoConnection
示例
xxx.Connect(TouchSelection, TouchSelection.SelectionChanged, TouchSelectionBar, TouchSelectionBar.OnSelectionChanged);
TouchSelection:Signal("SelectionChanged", function(nCount) end);
function TouchSelectionBar:OnSelectionChanged(nCount)
xxx
end
Color
颜色类
(gl)script/ide/System/Core/Color.lua")
commonlib.gettable("System.Core.Color")
公共方法
Color.ToValue(color)
将以#开头的字符串转换成以0x开头
ide->System->Util
CmdParser
命令解析类
"(gl)script/ide/System/Util/CmdParser.lua"
commonlib.gettable("System.Util.CmdParser")
公共方法
CmdParser.ParseText(cmd_text, text) -- 解析出给定的文本
CmdParser.ParseString(cmd_text) -- 解析字符串
CmdParser.ParseBool(cmd_text) -- 解析布尔量(1|0 on|off true|false)
CmdParser.ParseOption(cmd_text) -- 解析以-开始的参数
参数
cmd_text -- 源命令文本
ide->System->Core
Filters
"(gl)script/ide/System/Core/Filters.lua"
commonlib.gettable("System.Core.Filters")
公共方法
Filters:add_filter( tag, function_to_add, priority)
将函数或方法与指定的事件进行绑定,监听事件。
参数
tag:string -- 行为标签
function_to_add:function -- 绑定的函数或方法
prrority:number -- 优先级
------------------------
Filters:apply_filters( tag, value, ... )
参数
tag:string -- 行为标签
value -- 传递给add_filter中函数的值
ide->math
ShapeAABB
轴对齐矩形边界框类
(gl)script/ide/math/ShapeAABB.lua")
commonlib.gettable("mathlib.ShapeAABB")
公共方法
ShapeAABB:GetMin()
获得边界框的最小点
-------------------
ShapeAABB:GetMax()
获得边界框的最大点
-------------------
ShapeAABB:SetPointAABB(pt)
ShapeAABB:Extend(vector_or_x, y, z)
同时使用用于获得所选的AABB区域