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);