Item
物品
add_attribute
(method) Item:add_attribute(key: string, value: number)增加基础属性
@param key — 属性key
@param value — 属性值
add_bonus_attribute
(method) Item:add_bonus_attribute(key: string, value: number)增加增益属性
@param key — 属性key
@param value — 属性值
add_charge
(method) Item:add_charge(charge: integer)增加充能数
@param charge — 充能数
add_passive_ability
(method) Item:add_passive_ability(ability_id: py.AbilityKey, level: integer)给物品添加被动技能
@param ability_id — 技能id
@param level — 等级
add_stack
(method) Item:add_stack(stack: integer)增加堆叠数
@param stack — 堆叠数
add_tag
(method) Item:add_tag(tag: string)添加标签
@param tag — 标签
attr_pick
(method) Item:attr_pick()
-> keys: string[]遍历物品的单位属性
@return keys — 属性key
attr_pick_by_key
function Item.attr_pick_by_key(item_key: py.ItemKey)
-> keys: string[]遍历物品类型的单位属性
@param item_key — 物品类型
@return keys — 属性key
check_precondition_by_key
function Item.check_precondition_by_key(player: Player, item_key: py.ItemKey)
-> boolean检查物品类型前置条件
@param player — 玩家
@param item_key — 物品类型ID
create_item
function Item.create_item(point: Point, item_key: py.ItemKey, player?: Player)
-> Item创建物品到点
@param point — 点
@param item_key — 道具类型
@param player — 玩家
custom_event_manager
EventManager?drop
(method) Item:drop(point: Point, count: integer)丢弃物品到点
@param point — 目标点
@param count — 丢弃数量
event
fun(self: Item, event: "物品-获得", callback: fun(trg: Trigger, data: EventParam.物品-获得)):Triggerevent_dispatch
(method) CustomEvent:event_dispatch(event_name: string, ...any)
-> any
2. any
3. any
4. any发起自定义事件(回执模式),与通知模式不同,允许插入结算。
可以接受到事件的返回值,有多处注册事件时会按照注册顺序调用,
当任何事件回调返回了非 nil 的值后,后续触发器将不再调用。
Obj:event_on('获取', function (trigger,...)
print('获取1')
return 1
end)
Obj:event_on('获取', function (trigger,...)
print('获取2')
return 2
end)
local result = Obj:event_dispatch('获取')
print('结果为:', result)以上代码会打印:
获取1
结果为: 1event_dispatch_with_args
(method) CustomEvent:event_dispatch_with_args(event_name: string, args: any, ...any)
-> any
2. any
3. any
4. any发起带事件参数的自定义事件(回执模式)
event_notify
(method) CustomEvent:event_notify(event_name: string, ...any)发起自定义事件(通知模式),同一个对象身上只会有一个正在执行的事件, 当发生插入结算时,后面的事件会进入队列
Obj:event_on('获得', function ()
print('触发获得')
print('发起移除前')
Obj:event_notify('移除') -- 实际业务中,可能你获得的buff把你自己杀死了,而死亡会清除buff
print('发起移除后')
end)
Obj:event_on('移除', function ()
print('触发移除')
end)
Obj:event_notify('获得')这段代码会打印:
触发获得
发起移除前
发起移除后
触发移除event_notify_with_args
(method) CustomEvent:event_notify_with_args(event_name: string, args: any[], ...any)发起带事件参数的自定义事件(通知模式)
event_on
(method) CustomEvent:event_on(...any)
-> Trigger注册自定义事件,当触发时,会执行回调函数。
Obj:event_on('输入', function (trigger, ...)
print('触发了输入事件', ...)
end)
Obj:event_notify('输入', '123', '456')以上会打印:
触发了输入事件 123 456注册时可以指定事件的参数:
Obj:event_on('输入', {'123'}, function (trigger, ...)
print('触发了输入事件', ...)
end)
Obj:event_notify('输入', 1) -- 不能触发事件
Obj:event_notify_with_args('输入', {'123'}, 2) -- 可以触发事件
Obj:event_notify_with_args('输入', {'456'}, 3) -- 不能触发事件
Obj:event_notify_with_args('输入', {'123', '666'}, 4) -- 可以触发事件get_ability
(method) Item:get_ability()
-> ability: Ability?获取物品的主动技能
@return ability — 主动技能
get_attribute
(method) Item:get_attribute(key: string)
-> number获取物品的基础属性
@param key — 属性key
get_attribute_by_key
function Item.get_attribute_by_key(item_key: py.ItemKey, key: string)
-> number获取物品类型的基础属性
@param key — 属性key
@param item_key — 物品类型
get_bonus_attribute
(method) Item:get_bonus_attribute(key: string)
-> number获取物品的增益属性
@param key — 属性key
get_by_handle
function Item.get_by_handle(py_item: py.Item)
-> Item?通过py层的技能实例获取lua层的道具实例
@param py_item — py层的道具实例
@return — 返回在lua层初始化后的lua层道具实例
get_by_id
function Item.get_by_id(id: py.ItemID)
-> Item通过id获取lua层的道具实例
@return — 返回在lua层初始化后的lua层道具实例
get_charge
(method) Item:get_charge()
-> charges: integer物品充能数
@return charges — 充能数
get_custom_event_manager
(method) CustomEvent:get_custom_event_manager()
-> EventManager?get_description
(method) Item:get_description()
-> description: string获取物品描述
@return description — 物品描述
get_description_by_key
function Item.get_description_by_key(item_key: py.ItemKey)
-> string获取物品类型的描述
@param item_key — 物品类型
get_facing
(method) Item:get_facing()
-> angel: number获取物品的朝向
@return angel — 朝向
get_hp
(method) Item:get_hp()
-> hp: number获取物品的生命值
@return hp — 物品的生命值
get_icon
(method) Item:get_icon()
-> py.Texture获取物品的图标
get_icon_id_by_key
function Item.get_icon_id_by_key(item_key: py.ItemKey)
-> py.Texture获取物品类型的icon的图片id
@param item_key — 物品类型
get_id
(method) Item:get_id()
-> integer获取唯一ID
get_item_buy_price_by_key
function Item.get_item_buy_price_by_key(item_key: py.ItemKey, key: string|y3.Const.PlayerAttr)
-> price: number获取物品购买售价
@param item_key — 类型
@param key — 玩家属性
@return price — 价格
get_item_group_in_area
function Item.get_item_group_in_area(area: Area)
-> ItemGroup获得区域内所有物品
@param area — 区域
get_item_sell_price_by_key
function Item.get_item_sell_price_by_key(item_key: py.ItemKey, key: string|y3.Const.PlayerAttr)
-> price: number获取物品出售售价
@param item_key — 类型
@param key — 玩家属性
@return price — 价格
get_key
(method) Item:get_key()
-> key: py.ItemKey获取物品类型id
@return key — 类型
get_level
(method) Item:get_level()
-> level: integer获取物品等级
@return level — 物品等级
get_max_charge
(method) Item:get_max_charge()
-> max_charge: integer获取最大充能数
@return max_charge — 最大充能数
get_model
(method) Item:get_model()
-> model_key: py.ModelKey获取物品模型
@return model_key — 模型类型
get_model_by_key
function Item.get_model_by_key(item_key: py.ItemKey)
-> model_key: py.ModelKey获取物品类型的模型
@param item_key — 物品类型
@return model_key — 模型类型
get_name
(method) Item:get_name()
-> name: string获取物品名
@return name — 物品名字
get_name_by_key
function Item.get_name_by_key(item_key: py.ItemKey)
-> string获取物品类型名
@param item_key — 物品类型
get_num_of_item_mat
function Item.get_num_of_item_mat(item_key: py.ItemKey, comp_item_key: py.ItemKey)
-> integer物品类型合成所需的物品类型数量
get_num_of_player_attr
function Item.get_num_of_player_attr(item_key: py.ItemKey, role_res_key: py.RoleResKey)
-> number物品类型合成所需的玩家属性数量
get_owner
(method) Item:get_owner()
-> owner: Unit?物品持有者
@return owner — 持有者
get_owner_player
(method) Item:get_owner_player()
-> player: Player?获取物品的拥有玩家
@return player — 玩家
get_passive_ability
(method) Item:get_passive_ability(index: integer)
-> ability: Ability?获取物品的被动技能
@return ability — 被动技能
get_point
(method) Item:get_point()
-> position: Point物品所在点
@return position — 物品所在点
get_scale
(method) Item:get_scale()
-> scale: number获取物品缩放
@return scale — 物品缩放
get_slot
(method) Item:get_slot()
-> index: integer获取物品在单位身上的格子位置
@return index — 格子位置
get_slot_type
(method) Item:get_slot_type()
-> 背包槽类型: py.SlotType获取物品在单位身上的背包槽类型
get_stack
(method) Item:get_stack()
-> stacks: integer物品堆叠数
@return stacks — 堆叠数
get_tags_by_key
function Item.get_tags_by_key(item_key: py.ItemKey)
-> string[]获取物品的所有标签
handle
py.Item物品对象
has_tag
(method) Item:has_tag(tag: string)
-> is_has_tag: boolean存在标签
@param tag — 删除标签
@return is_has_tag — 是否有标签
has_tag_by_key
function Item.has_tag_by_key(tag: string, item_key: py.ItemKey)
-> is_has_tag: boolean物品类型是否存在标签
@param tag — 标签
@param item_key — 物品类型
@return is_has_tag — 是否有标签
id
py.ItemID物品ID
is_destroyed
(method) Item:is_destroyed()
-> boolean|unknownis_exist
(method) Item:is_exist()
-> is_exist: boolean是否存在
@return is_exist — 是否存在
is_in_bag
(method) Item:is_in_bag()
-> is_in_bag: boolean物品在背包栏
@return is_in_bag — 是否在背包栏
is_in_bar
(method) Item:is_in_bar()
-> is_in_bar: boolean物品在物品栏
@return is_in_bar — 是否在物品栏
is_in_scene
(method) Item:is_in_scene()
-> is_in_scene: boolean是否在场景中
@return is_in_scene — 是否在场景中
key
integer?kv_has
(method) KV:kv_has(key: string)
-> boolean是否拥有指定键值对。可以与ECA互通。
kv_key
string?kv_load
(method) KV:kv_load(key: string, lua_type: 'boolean'|'integer'|'number'|'string'|'table'...(+1))
-> anylua_type:
| 'boolean'
| 'number'
| 'integer'
| 'string'
| 'table'kv_remove
(method) KV:kv_remove(key: any)kv_save
(method) KV:kv_save(key: string, value: KV.SupportType)保存自定义键值对。可以与ECA互通。
object_event_manager
EventManager?phandle
py.Item物品对象
ref_manager
unknownremove
(method) Item:remove()删除物品
remove_tag
(method) Item:remove_tag(tag: string)@param tag — 标签
set_attr
(method) Item:set_attr(attr_name: string, value: number, attr_type: string)设置属性
@param attr_name — 属性名
@param value — 属性值
@param attr_type — 属性类型
set_attribute
(method) Item:set_attribute(key: string, value: number)设置基础属性
@param key — 属性key
@param value — 属性值
set_bonus_attribute
(method) Item:set_bonus_attribute(key: string, value: number)设置增益属性
@param key — 属性key
@param value — 属性值
set_charge
(method) Item:set_charge(charge: integer)设置充能数
@param charge — 充能数
set_description
(method) Item:set_description(description: string)设置物品的描述
@param description — 描述
set_droppable
(method) Item:set_droppable(dropable: boolean)设置丢弃状态
@param dropable — 状态
set_facing
(method) Item:set_facing(facing: number)设置物品朝向
@param facing — 朝向
set_hp
(method) Item:set_hp(value: number)设置生命值
@param value — 生命值
set_icon
(method) Item:set_icon(picture_id: py.Texture)设置物品的图标
@param picture_id — 图片id
set_level
(method) Item:set_level(level: integer)设置等级
@param level — 等级
set_max_charge
(method) Item:set_max_charge(charge: integer)设置最大充能数
@param charge — 最大充能数
set_name
(method) Item:set_name(name: string)设置物品的名称
@param name — 名字
set_owner_player
(method) Item:set_owner_player(player: Player)设置所属玩家
@param player — 所属玩家
set_point
(method) Item:set_point(point: Point)移动到点
@param point — 点
set_sale_state
(method) Item:set_sale_state(state: boolean)设置物品可否出售
@param state — 是否可出售
set_scale
(method) Item:set_scale(scale: number)设置物品缩放
@param scale — 缩放
set_shop_price
function Item.set_shop_price(id: py.ItemKey, player_attr_name: py.RoleResKey, price: number)设置物品商品售价
@param id — 物品id
@param player_attr_name — 玩家属性
@param price — 价格
set_stack
(method) Item:set_stack(stack: integer)设置堆叠数
@param stack — 堆叠数
set_visible
(method) Item:set_visible(is_visible: boolean)设置物品可见性
@param is_visible — 是否可见
storage_all
(method) Storage:storage_all()
-> table获取存储数据的容器
storage_get
(method) Storage:storage_get(key: any)
-> any获取存储的值
storage_set
(method) Storage:storage_set(key: any, value: any)存储任意值
storage_table
tablesubscribe_event
(method) ObjectEvent:subscribe_event(event_name: string, ...any)
-> any[]?
2. Trigger.CallBack
3. Unsubscribe: functiontype
stringItem.DrapOperation
"无" | "左键" | "右键"Item.UseOperation
"无" | "左键单击" | "右键单击" | "左键双击"
