- typed server inner rpc
- client minor fixes
- sharing browser with rpc on client
This commit is contained in:
2024-10-28 17:30:28 +00:00
parent 3bbf1e2209
commit cbbf4f38e6
12 changed files with 98 additions and 160 deletions
+12 -16
View File
@@ -1,31 +1,27 @@
import { Rpc } from '@entityseven/rage-fw-rpc'
import { rpc } from './rpc'
import type * as T from '../types'
export class Player {
private _rpc: Rpc = new Rpc()
get rpc(): Rpc {
return this._rpc
}
public triggerClient<EventName extends T.RageFW_ClientEvent>(
public async triggerClient<EventName extends T.RageFW_ClientEvent>(
player: PlayerMp,
eventName: EventName,
...args: T._ClientEventHasArgs<EventName> extends true
? [T.RageFW_ServerClientArgs<EventName>]
? [T.RageFW_ClientArgs<EventName>]
: []
): Promise<T.RageFW_ServerClientReturn<EventName>> {
return this._rpc.callClient(player, eventName, args)
): Promise<T.RageFW_ClientReturn<EventName>> {
return await rpc.callClient(player, eventName, args)
}
public triggerBrowser<EventName extends T.RageFW_CefEvent>(
public async triggerBrowser<EventName extends T.RageFW_BrowserEvent>(
player: PlayerMp,
eventName: EventName,
...args: T._CefEventHasArgs<EventName> extends true
? [T.RageFW_CefArgs<EventName>]
? [T.RageFW_BrowserArgs<EventName>]
: []
): Promise<T.RageFW_CefReturn<EventName>> {
return this._rpc.callBrowser(player, eventName, args)
): Promise<T.RageFW_BrowserReturn<EventName>> {
return await rpc.callBrowser(player, eventName, args)
}
}
// new Player().triggerBrowser({} as PlayerMp, 'customCefEvent', ['', 1])
// new Player().triggerClient({} as PlayerMp, 'customClientEvent', ['', 1])