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区域