导览

  • API(eca&lua)
  • Lua
  • API
  • Unit

Unit

单位

add_ability

(method) Unit:add_ability(type: y3.Const.AbilityType|y3.Const.AbilityTypeAlias, id: py.AbilityKey, slot?: y3.Const.AbilityIndex, level?: integer)
  -> Ability?

添加技能

@param type — 技能类型

@param id — 物编id

@param slot — 技能位

@param level — 等级

type:
    | '隐藏'
    | '普通'
    | '命令'
    | '英雄'

add_ability_point

(method) Unit:add_ability_point(skill_point: integer)

增加技能点

@param skill_point — 技能点

add_attr

(method) Unit:add_attr(attr_name: string|y3.Const.UnitAttr, value: number, attr_type?: string|y3.Const.UnitAttrType)

增加属性

@param attr_name — 属性名

@param value — 属性值

@param attr_type — 属性类型,默认为“增益”

add_attr_gc

(method) Unit:add_attr_gc(attr_name: string|y3.Const.UnitAttr, value: number, attr_type: string|y3.Const.UnitAttrType)
  -> GCNode

增加属性

@param attr_name — 属性名

@param value — 属性值

@param attr_type — 属性类型

add_buff

(method) Unit:add_buff(data: Buff.AddData)
  -> Buff?

给单位添加魔法效果

add_exp

(method) Unit:add_exp(exp: number)

增加经验值

@param exp — 经验

add_goods

(method) Unit:add_goods(tag_name: py.TabName, item_key: py.ItemKey)

添加可贩卖的商品

@param tag_name — 标签名

@param item_key — 物品id

add_hp

(method) Unit:add_hp(hp: number)

增加当前生命值

@param hp — 当前生命值

add_item

(method) Unit:add_item(item_id: py.ItemKey, slot_type?: y3.Const.ShiftSlotTypeAlias)
  -> Item?

单位添加物品

@param item_id — 物品id

@param slot_type — 槽位类型

slot_type:
    | '物品栏'
    | '背包栏'

add_level

(method) Unit:add_level(level: integer)

增加等级

@param level — 等级

add_mp

(method) Unit:add_mp(mp: number)

增加当前魔法值

@param mp — 当前魔法值

add_multi_state

(method) Unit:add_multi_state(state_enum: integer)

添加多个状态 使用 y3.const.UnitEnumState 中的枚举值

@param state_enum — 状态

add_state

(method) Unit:add_state(state_enum: integer|y3.Const.UnitEnumState)

添加状态

@param state_enum — 状态名

add_state_gc

(method) Unit:add_state_gc(state_enum: integer|y3.Const.UnitEnumState)
  -> GCNode

添加状态

@param state_enum — 状态名

add_tag

(method) Unit:add_tag(tag: string)

添加标签

@param tag — 标签

add_tech

(method) Unit:add_tech(tech_id: py.TechKey)

单位添加科技

@param tech_id — 科技id

attack_move

(method) Unit:attack_move(point: Point, range?: number)
  -> py.UnitCommand

命令攻击移动

@param point — 点

@param range — 范围

@return — 命令

attack_target

(method) Unit:attack_target(target: Unit, range: number)
  -> py.UnitCommand

命令攻击目标

@param target — 目标

@param range — 范围

@return — 命令

attr_to_name

function Unit.attr_to_name(key: string)
  -> 属性名字: string

单位属性转单位属性名字

@param key — 属性key

blink

(method) Unit:blink(point: Point)

传送到点

@param point — 点

break_mover

(method) Unit:break_mover()

打断运动器

buy

(method) Unit:buy(unit: Unit, tag_num: py.TabIdx, item_key: py.ItemKey)

从商店购买商品

@param unit — 单位

@param tag_num — 页签id

@param item_key — 物品id

can_blink_to

(method) Unit:can_blink_to(point: Point)
  -> can_teleport: boolean

能否传送到点

@param point — 点

@return can_teleport — 能否传送到点

can_visible

(method) Unit:can_visible(target_unit: Unit)
  -> visibility: boolean

是否可见

@param target_unit — 目标单位

@return visibility — 目标是否可见

can_walk_to

(method) Unit:can_walk_to(start_point: Point, end_point: Point)
  -> is_reach: boolean

是否寻路可达

@param start_point — 起始点

@param end_point — 终点

@return is_reach — 是否寻路可达

cancel_change_animation

(method) Unit:cancel_change_animation(replace_anim_name: string, bereplace_anim_name: string)

取消动画替换

@param replace_anim_name — 动画名

@param bereplace_anim_name — 动画名

cancel_replace_model

(method) Unit:cancel_replace_model(model_id: py.ModelKey)

取消模型替换

@param model_id — 模型id

cast

(method) Unit:cast(ability: Ability, target?: Destructible|Item|Point|Unit, extra_target?: Point)
  -> py.UnitCommand

命令发动技能

@param ability — 技能

@param target — 目标

@param extra_target — 额外目标

change_animation

(method) Unit:change_animation(replace_anim_name: string, bereplace_anim_name: string)

替换动画

@param replace_anim_name — 动画名

@param bereplace_anim_name — 动画名

change_owner

(method) Unit:change_owner(player: Player)

改变所属玩家

@param player — 所属玩家

check_precondition_by_key

function Unit.check_precondition_by_key(player: Player, unit_key: py.UnitKey)
  -> unit_precondition: boolean

单位类型前置条件是否通过

@param player — 玩家

@param unit_key — 单位类型

@return unit_precondition — 单位类型前置条件是否通过

clear_change_animation

(method) Unit:clear_change_animation(anim_name: string)

重置动画替换

@param anim_name — 动画名

command

(method) Unit:command(command: py.UnitCommand)

发布命令

@param command — 命令

create_illusion

function Unit.create_illusion(illusion_unit: Unit, call_unit: Unit, player: Player, point: Point, direction: number, clone_hp_mp: boolean)
  -> Unit?

创建幻象

@param illusion_unit — 幻象复制的单位

@param call_unit — 召唤单位

@param player — 玩家

@param point — 点

@param direction — 方向

@param clone_hp_mp — 复制当前的生命值和魔法值

create_unit

function Unit.create_unit(owner: Player|Unit, unit_id: py.UnitKey, point: Point, direction: number)
  -> Unit

创建单位

@param unit_id — 单位类型

@param point — 点

@param direction — 方向

custom_event_manager

EventManager?

damage

(method) Unit:damage(data: Unit.DamageData)

drop_item

(method) Unit:drop_item(item: Item, point: Point)
  -> py.UnitCommand

命令丢弃物品

event

fun(self: Unit, event: "单位-研发科技", callback: fun(trg: Trigger, data: EventParam.单位-研发科技)):Trigger

event_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
结果为:    1

event_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) -- 可以触发事件

exchange_item

(method) Unit:exchange_item(item: Item, type: y3.Const.ShiftSlotTypeAlias, index: integer)

交换物品 如果目标位置是空的,则相当于把物品移动了过去

@param item — 物品

@param index — 槽位

type:
    | '物品栏'
    | '背包栏'

find_ability

(method) Unit:find_ability(type: y3.Const.AbilityType|y3.Const.AbilityTypeAlias, id: py.AbilityKey)
  -> ability: Ability?

通过技能名寻找技能

@param type — 技能类型

@param id — 物编id

@return ability — 技能

type:
    | '隐藏'
    | '普通'
    | '命令'
    | '英雄'

find_buff

(method) Unit:find_buff(buff_key: py.ModifierKey, index?: integer)
  -> Buff?

获取单位指定id的魔法效果

@param buff_key — 魔法效果id

@param index — 第几个

@return — 单位指定类型的魔法效果

follow

(method) Unit:follow(target: Unit, refresh_interval?: number, near_offset?: number, far_offset?: number, follow_angle?: number, follow_dead_target?: boolean)
  -> py.UnitCommand

命令跟随单位

@param refresh_interval — 刷新间隔

@param near_offset — 跟随距离

@param far_offset — 重新跟随距离

@param follow_angle — 跟随角度

@param follow_dead_target — 是否跟随死亡单位

get_abilities_by_type

(method) Unit:get_abilities_by_type(type: y3.Const.AbilityType)
  -> Ability[]

获取指定类型的所有技能

get_ability_by_seq

(method) Unit:get_ability_by_seq(seq: py.AbilitySeq)
  -> Ability?

根据技能序号获取技能

get_ability_by_slot

(method) Unit:get_ability_by_slot(type: y3.Const.AbilityType|y3.Const.AbilityTypeAlias, slot: integer)
  -> ability: Ability?

获得某个技能位的的技能

@param type — 技能类型

@param slot — 技能位

@return ability — 技能

type:
    | '隐藏'
    | '普通'
    | '命令'
    | '英雄'

get_ability_point

(method) Unit:get_ability_point()
  -> hero_ability_point_number: integer

获取英雄的技能点数量

@return hero_ability_point_number — 英雄的技能点数量

get_affect_techs

(method) Unit:get_affect_techs()
  -> py.TechKey[]

获取单位受到影响的所有科技

get_alert_range

(method) Unit:get_alert_range()
  -> alert_range: number

获取单位警戒范围

@return alert_range — 单位警戒范围

get_all_items

(method) Unit:get_all_items()
  -> item_group: ItemGroup

单位的所有物品

@return item_group — 所有物品

get_armor_type

(method) Unit:get_armor_type()
  -> DAMAGE_ARMOR_TYPE: integer

获得护甲类型

@return DAMAGE_ARMOR_TYPE — 护甲类型

get_attack_type

(method) Unit:get_attack_type()
  -> DAMAGE_ATTACK_TYPE: integer

获得攻击类型

@return DAMAGE_ATTACK_TYPE — 攻击类型

get_attr

(method) Unit:get_attr(attr_name: y3.Const.UnitAttr, attr_type?: '实际'|'额外'|y3.Const.UnitAttrType)
  -> number

获取属性(默认为实际属性)

attr_type:
    | '实际'
    | '额外'

get_attr_all_ratio

(method) Unit:get_attr_all_ratio(attr_name: string|y3.Const.UnitAttr)
  -> number

获取属性(最终加成)

get_attr_base

(method) Unit:get_attr_base(attr_name: string|y3.Const.UnitAttr)
  -> attr_base: number

获取单属性(基础)

@return attr_base — 单位基础属性类型的属性

get_attr_base_ratio

(method) Unit:get_attr_base_ratio(attr_name: string|y3.Const.UnitAttr)
  -> number

获取属性(基础加成)

get_attr_bonus

(method) Unit:get_attr_bonus(attr_name: string|y3.Const.UnitAttr)
  -> number

获取属性(增益)

get_attr_bonus_ratio

(method) Unit:get_attr_bonus_ratio(attr_name: string|y3.Const.UnitAttr)
  -> number

获取属性(增益加成)

get_attr_growth_by_key

function Unit.get_attr_growth_by_key(unit_key: py.UnitKey, attr_name: string|y3.Const.UnitAttr)
  -> unit_attribute_growth: number

获取单位属性成长

@return unit_attribute_growth — 单位属性成长

get_attr_other

(method) Unit:get_attr_other(attr_name: string|y3.Const.UnitAttr)
  -> number

获取属性(额外)

@param attr_name — 属性名

get_bar_cnt

(method) Unit:get_bar_cnt()
  -> slot_number: integer

获取单位物品栏的槽位数

@return slot_number — 单位物品栏的槽位数

get_buffs

(method) Unit:get_buffs()
  -> Buff[]

获取单位身上的魔法效果

@return — 魔法效果表

get_by_handle

function Unit.get_by_handle(py_unit: py.Unit)
  -> Unit?

通过py层的单位实例获取lua层的单位实例

get_by_id

function Unit.get_by_id(id: py.UnitID)
  -> Unit?

根据唯一ID获取单位。

get_by_res_id

function Unit.get_by_res_id(res_id: integer)
  -> Unit

获取摆放在场景上的单位

get_by_string

function Unit.get_by_string(str: string)
  -> Unit?

根据字符串获取单位,字符串是通过 tostring(Unit) 或是使用ECA中的“任意变量转化为字符串”获得的。

get_camp_id

(method) Unit:get_camp_id()
  -> py.CampID

获取单位阵营ID

get_cancel_alert_range

(method) Unit:get_cancel_alert_range()
  -> cancel_alert_range: number

获取单位取消警戒的范围

@return cancel_alert_range — 单位取消警戒的范围

get_collision_radius

(method) Unit:get_collision_radius()
  -> collision_radius: number

获取单位碰撞半径

@return collision_radius — 单位碰撞半径

get_common_attack

(method) Unit:get_common_attack()
  -> Ability?

comment 获取普攻技能

get_custom_event_manager

(method) CustomEvent:get_custom_event_manager()
  -> EventManager?

get_description

(method) Unit:get_description()
  -> unit_description: string

获取单位的描述

@return unit_description — 单位的描述

get_description_by_key

function Unit.get_description_by_key(unit_key: py.UnitKey)
  -> des: string

获取单位类型的描述

@param unit_key — 单位类型

@return des — 单位类型的描述

get_exp

(method) Unit:get_exp()
  -> exp: integer

获取单位当前的经验值

@return exp — 单位当前的经验值

get_exp_reward

(method) Unit:get_exp_reward()
  -> exp: integer

获取单位被击杀经验

@return exp — 单位被击杀经验

get_facing

(method) Unit:get_facing()
  -> angle: number

获取单位的朝向

@return angle — 单位的朝向

get_final_attr

(method) Unit:get_final_attr(attr_name: string|y3.Const.UnitAttr)
  -> number

获取最终属性

@param attr_name — 属性名

get_goods_cd

(method) Unit:get_goods_cd(page: py.TabIdx, index: integer)
  -> cd: number

获取商店商品的库存间隔

@param page — 页签id

@param index — 序号

@return cd — 默认间隔时间

get_goods_key

(method) Unit:get_goods_key(tag_index: py.TabIdx, item_index: integer)
  -> item: py.ItemKey

获取商店的物品id

@param tag_index — 页签

@param item_index — 序号

@return item — 物品类型

get_goods_remaining_cd

(method) Unit:get_goods_remaining_cd(page: py.TabIdx, index: integer)
  -> recovery_time: number

获取商店商品的剩余恢复时间

@param page — 页签id

@param index — 序号

@return recovery_time — 剩余恢复时间

get_goods_stack

(method) Unit:get_goods_stack(tag_index: py.TabIdx, item_key: py.ItemKey)
  -> item_stock: integer

获取商店的物品商品库存

@param tag_index — 页签

@param item_key — 物品类型

@return item_stock — 商品库存

get_height

(method) Unit:get_height()
  -> height: number

获取单位飞行高度

@return height — 单位飞行高度

get_hp

(method) Unit:get_hp()
  -> current_unit_hp: number

获取当前生命值

@return current_unit_hp — 当前生命值

get_icon

(method) Unit:get_icon()
  -> image: py.Texture

获取单位的头像

@return image — 单位的头像

get_icon_by_key

function Unit.get_icon_by_key(unit_key: py.UnitKey)
  -> image: py.Texture

获取单位类型的头像

@param unit_key — 单位类型

@return image — 单位类型的头像

get_id

(method) Unit:get_id()
  -> integer

获取唯一ID

get_illusion_owner

(method) Unit:get_illusion_owner()
  -> unit: Unit?

获取幻象的召唤者

@return unit — 幻象的召唤者

get_item_by_slot

(method) Unit:get_item_by_slot(type: y3.Const.ShiftSlotTypeAlias|y3.Const.SlotType, slot: integer)
  -> item: Item?

获取单位背包槽位上的物品

@param type — 槽位类型

@param slot — 位置

@return item — 物品

type:
    | '物品栏'
    | '背包栏'

get_item_type_number_of_unit

(method) Unit:get_item_type_number_of_unit(item_key: py.ItemKey)
  -> item_type_number: integer

获取单位拥有的物品类型数量

@param item_key — 物品类型id

@return item_type_number — 物品类型数量

get_key

(method) Unit:get_key()
  -> type_id: py.UnitKey

获取单位类型的ID

@return type_id — 单位类型的ID

get_last_created_unit

function Unit.get_last_created_unit()
  -> unit: Unit?

最后创建的单位

@return unit — 最后创建的单位

get_level

(method) Unit:get_level()
  -> unit_level: integer

获取单位等级

@return unit_level — 单位等级

get_life_cycle

(method) Unit:get_life_cycle()
  -> number

获取单位剩余生命周期

get_main_attr

(method) Unit:get_main_attr()
  -> string

获取单位主属性(需要开启复合属性)

get_model

(method) Unit:get_model()
  -> model: py.ModelKey

获取单位的当前模型

@return model — 当前模型

get_model_by_key

function Unit.get_model_by_key(unit_key: py.UnitKey)
  -> model: py.ModelKey

获取单位类型的模型

@param unit_key — 单位id

@return model — 模型

get_mp

(method) Unit:get_mp()
  -> current_mp: number

获取当前魔法值

@return current_mp — 当前魔法值

get_name

(method) Unit:get_name()
  -> unit_name: string

获取单位名称

@return unit_name — 单位名称

get_name_by_key

function Unit.get_name_by_key(unit_key: py.UnitKey)
  -> type_name: string

获取单位类型名称

@return type_name — 单位类型名称

get_nearest_valid_point

(method) Unit:get_nearest_valid_point()
  -> point: Point

获取单位最近的可通行点

@return point — 单位最近的可通行点

get_owner

(method) Unit:get_owner()
  -> player: Player

获取单位所属玩家

@return player — 单位所属玩家

get_owner_player

(method) Unit:get_owner_player()
  -> Player

获取所属玩家

get_parent_unit

(method) Unit:get_parent_unit()
  -> unit: Unit?

获取单位的拥有者(单位)

@return unit — 单位的拥有者

get_pkg_cnt

(method) Unit:get_pkg_cnt()
  -> slot_number: integer

获取单位背包栏的槽位数

@return slot_number — 单位背包栏的槽位数

get_point

(method) Unit:get_point()
  -> unit_point: Point

获取单位所在点

@return unit_point — 单位所在点

get_reward_res

(method) Unit:get_reward_res(player_attr_name: py.RoleResKey)
  -> player_attr: number

获取击杀可获得的资源(玩家属性)

@param player_attr_name — 玩家属性名

@return player_attr — 单位被击杀玩家属性

get_scale

(method) Unit:get_scale()
  -> model_scale: number

获取单位缩放

@return model_scale — 单位缩放

get_shield

(method) Unit:get_shield(shield_type: integer)
  -> shield_value: integer

获取单位指定护盾类型的护盾值

@param shield_type — 护盾类型

@return shield_value — 护盾类型的护盾值

get_shop_item_list

(method) Unit:get_shop_item_list(page: py.TabIdx)
  -> py.ItemKey[]

获取所有的商店物品

@param page — 页签

get_shop_range

(method) Unit:get_shop_range()
  -> purchase_range: number

获取商店的购买范围

@return purchase_range — 购买范围

get_shop_tab_name

(method) Unit:get_shop_tab_name(tag_index: py.TabIdx)
  -> tab_name: string

获取商店的页签名

@param tag_index — 页签

@return tab_name — 页签名

get_shop_tab_number

(method) Unit:get_shop_tab_number()
  -> tab_number: number

获取商店页签数量

@return tab_number — 页签数量

get_source_model

(method) Unit:get_source_model()
  -> model: py.ModelKey

获取单位的原本模型

@return model — 原本模型

get_subtype

(method) Unit:get_subtype()
  -> unit_subtype: py.UnitType

获取单位分类

@return unit_subtype — 单位分类

get_team

(method) Unit:get_team()
  -> team: py.Camp

获取单位的队伍

@return team — 获取单位的队伍

get_tech_list

(method) Unit:get_tech_list()
  -> py.TechKey[]

获取单位可研究的所有科技

get_turning_speed

(method) Unit:get_turning_speed()
  -> turning_speed: number

获取单位转身速度

@return turning_speed — 单位转身速度

get_type

(method) Unit:get_type()
  -> unit_type: py.UnitType

获取单位的单位类型ID

@return unit_type — 单位类型ID

get_type_by_id

function Unit.get_type_by_id(unit_key: py.UnitKey)
  -> integer

获取单位类型的分类

@param unit_key — 单位id

get_unit_resource_cost

(method) Unit:get_unit_resource_cost(unit_id: py.UnitKey, player_attr_name: py.RoleResKey)
  -> player_attr: integer

获取建造此单位消耗的资源(玩家属性)

@param unit_id — 单位类型

@param player_attr_name — 玩家属性名

@return player_attr — 单位被击杀玩家属性

get_unit_selection_range_scale

(method) Unit:get_unit_selection_range_scale()
  -> range_scale: number

获取单位选择圈缩放

@return range_scale — 选择圈缩放

get_upgrade_exp

(method) Unit:get_upgrade_exp()
  -> exp: number

获取单位当前升级所需经验

@return exp — 单位当前升级所需经验

get_x_scale

(method) Unit:get_x_scale()
  -> xaxis: number

获取单位的X轴缩放

@return xaxis — X轴缩放

get_y_scale

(method) Unit:get_y_scale()
  -> yaxis: number

获取单位的Y轴缩放

@return yaxis — Y轴缩放

get_z_scale

(method) Unit:get_z_scale()
  -> zaxis: number

获取单位的Z轴缩放

@return zaxis — Z轴缩放

give_item

(method) Unit:give_item(item: Item, target: Unit)
  -> py.UnitCommand

命令给予物品

handle

py.Unit

py层的单位对象

has_ability_by_key

(method) Unit:has_ability_by_key(ability_key: py.AbilityKey)
  -> has_ability_type: boolean

是否有指定id的技能

@param ability_key — 技能类型

@return has_ability_type — 有指定类型的技能

has_buff_by_effect_type

(method) Unit:has_buff_by_effect_type(effect_type: y3.Const.EffectType)
  -> has_modifier_style: boolean

是否有指定类型的魔法效果

@param effect_type — 魔法效果类型

@return has_modifier_style — 有指定类型的魔法效果

has_buff_by_key

(method) Unit:has_buff_by_key(buff_key: py.ModifierKey)
  -> has_modifier: boolean

是否有指定id的魔法效果

@param buff_key — 魔法效果id

@return has_modifier — 有魔法效果

has_buff_status

(method) Unit:has_buff_status(state_name: integer)
  -> has_buff_status: boolean

是否有指定状态

请改用 has_state 方法

@param state_name — 状态

@return has_buff_status — 有指定状态

has_item

(method) Unit:has_item(item: Item)
  -> has_item: boolean

是否有指定物品

@param item — 物品

@return has_item — 有物品

has_item_by_key

(method) Unit:has_item_by_key(item_key: py.ItemKey)
  -> has_item_name: boolean

是否有指定类型的物品

@param item_key — 物品类型

@return has_item_name — 有指定类型的物品

has_move_collision

(method) Unit:has_move_collision(collision_layer: integer|y3.Const.CollisionLayers)
  -> boolean

是否拥有指定碰撞类型

@param collision_layer — 碰撞类型

@return — 是否拥有指定碰撞类型

has_state

(method) Unit:has_state(state_enum: integer|y3.Const.UnitEnumState)
  -> boolean?

是否有某个状态

@param state_enum — 状态名

has_tag

(method) Unit:has_tag(tag_name: string)
  -> has_tag: boolean

是否具有标签

@param tag_name — 标签

@return has_tag — 具有标签

heals

(method) Unit:heals(value: number, skill?: Ability, source_unit?: Unit, text_type?: string)

造成治疗

@param value — 治疗值

@param skill — 技能

@param source_unit — 单位

@param text_type — 跳字类型

hold

(method) Unit:hold(point: Point)
  -> py.UnitCommand

命令驻守

@param point — 点

@return — 命令

id

integer

is_alive

(method) Unit:is_alive()
  -> alive: boolean

是否存活

@return alive — 是否存活

is_ally

(method) Unit:is_ally(target_unit: Unit)
  -> is_enemy: boolean

是否是友方

@param target_unit — 目标单位

@return is_enemy — 是敌对关系

is_building

(method) Unit:is_building()
  -> boolean

是否是建筑

is_casting

(method) Unit:is_casting()
  -> boolean

单位是否有正在释放的技能

is_collided_with_point

(method) Unit:is_collided_with_point(point: Point, range: number)
  -> can_collide: boolean

是否与点碰撞

@param point — 点

@param range — 范围

@return can_collide — 是否与点碰撞

is_destroyed

(method) Unit:is_destroyed()
  -> boolean

is_enemy

(method) Unit:is_enemy(target_unit: Unit)
  -> is_enemy: boolean

是否是敌人

@param target_unit — 目标单位

@return is_enemy — 是敌对关系

is_exist

(method) Unit:is_exist()
  -> is_exist: boolean

是否存在

@return is_exist — 是否存在

is_hero

(method) Unit:is_hero()
  -> boolean

是否是英雄

is_illusion

(method) Unit:is_illusion()
  -> illusion: boolean

是否是幻象单位

@return illusion — 是幻象单位

is_in_battle

(method) Unit:is_in_battle()
  -> in_battle: boolean

是否在战斗状态

@return in_battle — 在战斗状态

is_in_group

(method) Unit:is_in_group(group: UnitGroup)
  -> in_group: boolean

是否在单位组中

@param group — 单位组

@return in_group — 在单位组中

is_in_radius

(method) Unit:is_in_radius(other: Point|Unit, range: number)
  -> in_radius: boolean

是否在另一个单位或点附近

@param other — 单位/点

@param range — 范围

@return in_radius — 在单位附近

is_moving

(method) Unit:is_moving()
  -> is_moving: boolean

是否正在移动

@return is_moving — 正在移动

is_shop

(method) Unit:is_shop()
  -> is_shop: boolean

是否是商店

@return is_shop — 是商店

key

integer?

kill_by

(method) Unit:kill_by(killer: Unit)

杀死单位

@param killer — 凶手单位

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))
  -> any
lua_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互通。

learn

(method) Unit:learn(ability_key: py.AbilityKey)

学习技能

@param ability_key — 技能id

move_along_road

(method) Unit:move_along_road(road: Road, patrol_mode: integer, can_attack: boolean, start_from_nearest: boolean, back_to_nearest: boolean)
  -> py.UnitCommand

命令沿路径移动

@param road — 路径

@param patrol_mode — 移动模式

@param can_attack — 是否自动攻击

@param start_from_nearest — 就近选择起始点

@param back_to_nearest — 偏离后就近返回

@return — 命令

move_to_pos

(method) Unit:move_to_pos(point: Point, range?: number)
  -> py.UnitCommand

命令移动

@param point — 点

@param range — 范围

@return — 命令

mover_curve

(method) Unit:mover_curve(mover_data: Mover.CreateData.Curve)
  -> Mover

创建曲线运动器

mover_line

(method) Unit:mover_line(mover_data: Mover.CreateData.Line)
  -> Mover

创建直线运动器

mover_round

(method) Unit:mover_round(mover_data: Mover.CreateData.Round)
  -> Mover

创建环绕运动器

mover_target

(method) Unit:mover_target(mover_data: Mover.CreateData.Target)
  -> Mover

创建追踪运动器

object_event_manager

EventManager?

pause_life_cycle

(method) Unit:pause_life_cycle(is_stop: boolean)

设置生命周期暂停状态

@param is_stop — 生命周期暂停状态

phandle

py.Unit

代理的对象,用这个调用引擎的方法会快得多

pick_item

(method) Unit:pick_item(item: Item)
  -> py.UnitCommand

命令拾取物品

play_animation

(method) Unit:play_animation(anim_name: string, speed?: number, start_time?: number, end_time?: number, is_loop?: boolean, is_back_normal?: boolean)

*******************播放动画全局统一 播放动画

@param anim_name — 动画名

@param speed — 速度

@param start_time — 开始时间

@param end_time — 结束时间(默认-1表示播到最后)

@param is_loop — 是否循环

@param is_back_normal — 是否返回默认状态

player_shop_check

(method) Unit:player_shop_check(player: Player)
  -> boolean

玩家是否可以购买商店的物品

reborn

(method) Unit:reborn(point?: Point)

复活单位

@param point — 点

ref_manager

unknown

remove

(method) Unit:remove()

删除单位

remove_abilitiy_by_key

(method) Unit:remove_abilitiy_by_key(type: y3.Const.AbilityType|y3.Const.AbilityTypeAlias, ability_key: py.AbilityKey)

移除技能(指定类型)

拼错了,请改用 Unit:remove_ability_by_key

@param type — 技能类型

@param ability_key — 物编id

type:
    | '隐藏'
    | '普通'
    | '命令'
    | '英雄'

remove_ability

(method) Unit:remove_ability(type: y3.Const.AbilityType, slot: y3.Const.AbilityIndex)

移除技能

@param type — 技能类型

@param slot — 技能位

remove_ability_by_key

(method) Unit:remove_ability_by_key(type: y3.Const.AbilityType|y3.Const.AbilityTypeAlias, ability_key: py.AbilityKey)

移除技能(指定类型)

@param type — 技能类型

@param ability_key — 物编id

type:
    | '隐藏'
    | '普通'
    | '命令'
    | '英雄'

remove_buffs_by_effect_type

(method) Unit:remove_buffs_by_effect_type(effect_type: y3.Const.EffectType)

单位移除所有指定类型的魔法效果

@param effect_type — 影响类型的魔法效果

remove_buffs_by_key

(method) Unit:remove_buffs_by_key(buff_key: py.ModifierKey)

单位移除所有指定id的魔法效果

@param buff_key — 影响类型的魔法效果

remove_goods

(method) Unit:remove_goods(item_name: py.TabName, item_key: py.ItemKey)

移除可贩卖的商品

@param item_name — 物品名

@param item_key — 物品id

remove_item

(method) Unit:remove_item(item_id: py.ItemKey, num?: integer)

单位移除物品

@param item_id — 物品id

@param num — 数量

remove_mover

(method) Unit:remove_mover()

移除运动器

remove_multi_state

(method) Unit:remove_multi_state(state_enum: integer)

移除多个状态 使用 y3.const.UnitEnumState 中的枚举值

@param state_enum — 状态

remove_state

(method) Unit:remove_state(state_enum: integer|y3.Const.UnitEnumState)

移除状态 只有移除次数等同添加次数时才能移除状态

@param state_enum — 状态名

remove_tag

(method) Unit:remove_tag(tag: string)

移除标签

@param tag — 标签

remove_tech

(method) Unit:remove_tech(tech_id: py.TechKey)

单位删除科技

@param tech_id — 科技id

replace_model

(method) Unit:replace_model(model_id: py.ModelKey)

替换模型

@param model_id — 模型id

research_tech

(method) Unit:research_tech(tech_id: py.TechKey)

研究科技

@param tech_id — 科技id

sell

(method) Unit:sell(unit: Unit, item: Item)

单位向商店出售物品

@param unit — 单位

@param item — 物品

set_Xray_is_open

(method) Unit:set_Xray_is_open(is_open: boolean)

设置透视状态

@param is_open — 是否透视

set_ability_point

(method) Unit:set_ability_point(skill_point: integer)

设置技能点

@param skill_point — 技能点

set_afterimage_time

(method) Unit:set_afterimage_time(interval: number, duration: number, start_time: number, end_time: number)

设置残影时间

@param interval — 间隔时间

@param duration — 显示时间

@param start_time — 开始时间

@param end_time — 结束时间

set_alert_range

(method) Unit:set_alert_range(range: number)

设置警戒范围

@param range — 范围

set_animation_speed

(method) Unit:set_animation_speed(speed: number)

设置动画播放速率

@param speed — 速度

set_armor_type

(method) Unit:set_armor_type(armor_type: integer)

设置护甲类型

@param armor_type — 护甲类型

set_attack_type

(method) Unit:set_attack_type(attack_type: integer)

设置攻击类型

@param attack_type — 攻击类型

set_attr

(method) Unit:set_attr(attr_name: string|y3.Const.UnitAttr, value: number, attr_type?: string|y3.Const.UnitAttrType)

设置属性

@param attr_name — 属性名

@param value — 属性值

@param attr_type — 属性类型,默认为“基础”

set_attr_growth

function Unit.set_attr_growth(unit_key: py.UnitKey, attr_name: string, value: number)

设置属性成长

@param unit_key — 单位id

@param attr_name — 属性名

@param value — 属性成长

set_bar_cnt

(method) Unit:set_bar_cnt(number: integer)

设置物品栏的槽位数

@param number — 槽位数

set_base_speed

(method) Unit:set_base_speed(speed: number)

设置走路动画基准速度

@param speed — 速度

set_behavior

(method) Unit:set_behavior(behavior: py.UnitBehavior)

设置默认单位行为

@param behavior — 单位行为

set_blood_bar_type

(method) Unit:set_blood_bar_type(bar_type: integer)

设置血条样式

@param bar_type — 血条样式

set_cancel_alert_range

(method) Unit:set_cancel_alert_range(range: number)

设置取消警戒范围

@param range — 取消警戒范围

set_collision_radius

(method) Unit:set_collision_radius(radius: number)

设置单位碰撞半径

set_day_vision

(method) Unit:set_day_vision(value: number)

设置白天的视野范围

set_description

(method) Unit:set_description(description: string)

设置描述

@param description — 描述

set_enemy_minimap_icon

(method) Unit:set_enemy_minimap_icon(img_id: py.Texture)

设置敌方单位小地图头像

@param img_id — 敌方单位小地图头像

set_exp

(method) Unit:set_exp(exp: number)

设置经验

@param exp — 经验

set_facing

(method) Unit:set_facing(direction: number, turn_time: number)

设置朝向

@param direction — 朝向

@param turn_time — 转向时间

set_ghost_color

(method) Unit:set_ghost_color(red: number, green: number, blue: number, alpha: number)

设置残影颜色

@param red — 绿

@param green — 绿

@param blue — 蓝

@param alpha — 透明度

set_goods_stack

(method) Unit:set_goods_stack(tag_name: py.TabName, item_key: py.ItemKey, number: integer)

设置商品库存

@param tag_name — 标签名

@param item_key — 物品id

@param number — 物品库存

set_health_bar_display

(method) Unit:set_health_bar_display(bar_show_type: integer)

设置血条显示方式

@param bar_show_type — 血条显示方式

set_height

(method) Unit:set_height(height: number, trans_time: number)

设置飞行高度

@param height — 高度

@param trans_time — 过渡时间

set_hp

(method) Unit:set_hp(hp: number)

设置当前生命值

@param hp — 当前生命值

set_icon

(method) Unit:set_icon(img_id: py.Texture)

设置单位头像

@param img_id — 单位头像

set_level

(method) Unit:set_level(level: integer)

设置等级

@param level — 等级

set_life_cycle

(method) Unit:set_life_cycle(time: number)

设置生命周期

@param time — 生命周期

set_minimap_icon

(method) Unit:set_minimap_icon(img_id: py.Texture)

***************敌我合并一条 设置单位小地图头像

@param img_id — 单位小地图头像

set_move_channel_air

(method) Unit:set_move_channel_air(air_limitation?: boolean)

设置单位的移动类型为空中

@param air_limitation — 空中限制

set_move_channel_land

(method) Unit:set_move_channel_land(land_limitation?: boolean, item_limitation?: boolean, water_limitation?: boolean)

设置单位的移动类型为地面

@param land_limitation — 陆地限制

@param item_limitation — 物件限制

@param water_limitation — 海洋限制

set_move_collision

(method) Unit:set_move_collision(collision_layer: integer|y3.Const.CollisionLayers, enable: boolean)

设置单位是否计算某种碰撞类型

@param collision_layer — 碰撞mask

@param enable — 开启状态

set_mp

(method) Unit:set_mp(mp: number)

设置当前魔法值

@param mp — 当前魔法值

set_name

(method) Unit:set_name(name: string)

设置名称

@param name — 名称

set_night_value

(method) Unit:set_night_value(value: number)

设置夜晚的视野范围

set_outline_visible

(method) Unit:set_outline_visible(bool: boolean)

设置单位描边开启

@param bool — 布尔值

set_outlined_color

(method) Unit:set_outlined_color(color_r: number, color_g: number, color_b: number)

设置单位描边颜色

@param color_r — R

@param color_g — G

@param color_b — B

set_pkg_cnt

(method) Unit:set_pkg_cnt(number: integer)

设置背包栏的槽位数

@param number — 槽位数

set_point

(method) Unit:set_point(point: Point, isSmooth: boolean)

强制传送到点

@param point — 点

@param isSmooth — 是否丝滑

set_recycle_on_remove

(method) Unit:set_recycle_on_remove(is_recycle: boolean)

设置尸体消失后是否回收

@param is_recycle — 是否回收

set_reward_exp

(method) Unit:set_reward_exp(exp: number)

设置被击杀的经验值奖励

@param exp — 经验

set_reward_res

(method) Unit:set_reward_res(player_attr_name: py.RoleResKey, value: number)

设置被击杀的玩家属性奖励

@param player_attr_name — 属性名

@param value — 属性奖励

set_scale

(method) Unit:set_scale(scale: number)

设置模型缩放

@param scale — 模型缩放

set_select_effect_visible

(method) Unit:set_select_effect_visible(bool: boolean)

设置单位选择框的可见性

@param bool — 布尔值

set_transparent_when_invisible

(method) Unit:set_transparent_when_invisible(is_visible: boolean)

**********************这是啥 设置隐身可见时是否半透明

@param is_visible — 是否半透明

set_turning_speed

(method) Unit:set_turning_speed(speed: number)

设置转身速度

@param speed — 转身速度

set_unit_scale

(method) Unit:set_unit_scale(sx: number, sy: number, sz: number)

设置单位三轴缩放

@param sx — X轴缩放

@param sy — Y轴缩放

@param sz — Z轴缩放

shift_item

(method) Unit:shift_item(item: Item, type: y3.Const.ShiftSlotTypeAlias, index?: integer, force?: boolean)

移动物品

@param item — 物品

@param index — 槽位

@param force — 是否强制移动,true: 如果目标有物品,则移动到另一个空格中;false: 如果目标有物品,则要移动的物品会掉落

type:
    | '物品栏'
    | '背包栏'

start_ghost

(method) Unit:start_ghost(red: number, green: number, blue: number, alpha: number, interval: number, duration: number, start_time: number, end_time: number, is_origin_martial: boolean)

************************残影优化 开启残影

@param red — 红

@param green — 绿

@param blue — 蓝

@param alpha — 透明度

@param interval — 间隔时间

@param duration — 显示时间

@param start_time — 开始时间

@param end_time — 结束时间

@param is_origin_martial — 使用原生材质

stop

(method) Unit:stop()
  -> py.UnitCommand

命令停止

@return — 命令

stop_all_abilities

(method) Unit:stop_all_abilities()

停止所有技能

stop_animation

(method) Unit:stop_animation(anim_name: string)

停止动画

@param anim_name — 动画名

stop_cur_animation

(method) Unit:stop_cur_animation()

停止当前正在播放的动画

stop_ghost

(method) Unit:stop_ghost()

关闭残影

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

table

subscribe_event

(method) ObjectEvent:subscribe_event(event_name: string, ...any)
  -> any[]?
  2. Trigger.CallBack
  3. Unsubscribe: function

switch_ability

(method) Unit:switch_ability(ability_1: Ability, ability_2: Ability)

交换技能位置

@param ability_1 — 第一个技能

@param ability_2 — 第二个技能

switch_ability_by_slot

(method) Unit:switch_ability_by_slot(type_1: y3.Const.AbilityType, slot_1: y3.Const.AbilityIndex, type_2: y3.Const.AbilityType, slot_2: y3.Const.AbilityIndex)

根据坑位交换技能

@param type_1 — 第一个技能类型

@param slot_1 — 第一个技能坑位

@param type_2 — 第二个技能类型

@param slot_2 — 第二个技能坑位

type

string

unit_gains_tech

(method) Unit:unit_gains_tech(tech_key: py.TechKey)

单位获得科技

@param tech_key — 科技类型

unit_has_modifier_tag

(method) Unit:unit_has_modifier_tag(tag_name: string)
  -> has_modifier_tag: boolean

是否有指定标签的魔法效果

@param tag_name — 标签

@return has_modifier_tag — 有指定标签的魔法效果

use_item

(method) Unit:use_item(item: Item, target?: Destructible|Item|Point|Unit, extra_target?: Point)
  -> py.UnitCommand

命令使用物品

Unit.DamageData

造成伤害

ability

Ability

关联技能

common_attack

boolean

视为普攻

critical

boolean

必定暴击

damage

number

no_miss

boolean

必定命中

particle

py.SfxKey

特效

socket

string

特效挂点

target

Destructible|Item|Unit

单位

text_track

integer

跳字轨迹类型

text_type

y3.Const.DamageTextType

跳字类型

type

integer|y3.Const.DamageType

也可以传任意数字