Dota开发 JS调用LuaClient
Js通知LuaClient其实和通知LuaServer差不多,就是方法不一样通知客户端用的方法是SendEventClientSide
,不过他们2个还是有一个很大的区别.
SendEventClientSide
通知的事件需要在custom.gameevents
文件中定义,就像CustomNetTable
一样,需要在一个custom_net_tables.txt
文件中定义一样
演示:
- custom.gameevents
"Test"
{
"Test"
{
"PlayerID" "short"
}
}
- JS
GameEvents.SendEventClientSide("Test", {PlayerID: Players.GetLocalPlayer()});
- Lua
export function RegisterClientEvent(context:any)
{
//这是客户端事件,不需要在Server中监听
if (IsServer())
return;
ListenToGameEvent("Test",event =>
{
print("ShowPlaceArea", event.PlayerID);
}, context);
}
- Lua的addon_game_mode_client
RegisterClientEvent(GameRules);