refactor
This commit is contained in:
+8
-12
@@ -1,23 +1,19 @@
|
||||
/// <reference types="../../shared/client/index.d.ts" />
|
||||
import rpc from 'rage-rpc'
|
||||
import {
|
||||
RageFW_ClientEventReturn,
|
||||
RageFW_ClientEvent,
|
||||
RageFW_ClientEventArguments,
|
||||
} from './types'
|
||||
|
||||
class Player implements RageFW_Player {
|
||||
public triggerClient<EventName extends RageFW_ClientEvent>(
|
||||
player: PlayerMp,
|
||||
class Player {
|
||||
public triggerServer<EventName extends RageFW_ClientEvent>(
|
||||
eventName: EventName,
|
||||
...args: RageFW_ClientEventArguments<EventName>
|
||||
): Promise<RageFW_ClientEventReturn<EventName>> {
|
||||
return rpc.callClient(player, eventName, ...args)
|
||||
return rpc.callServer(eventName, ...args)
|
||||
}
|
||||
}
|
||||
|
||||
export const rage = {
|
||||
player: new Player(),
|
||||
}
|
||||
|
||||
const bool = rage.player.triggerClient(
|
||||
{} as PlayerMp,
|
||||
'customClientEvent',
|
||||
'arg1',
|
||||
2,
|
||||
)
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/// <reference types="@ragempcommunity/types-client" />
|
||||
|
||||
import { RageFW_ICustomClientEvent } from 'rage-fw-shared-types'
|
||||
|
||||
export type RageFW_ClientEvent =
|
||||
| keyof RageFW_ICustomClientEvent
|
||||
| keyof IClientEvents
|
||||
|
||||
export type RageFW_ClientEventArguments<K extends RageFW_ClientEvent> =
|
||||
K extends keyof RageFW_ICustomClientEvent
|
||||
? Parameters<RageFW_ICustomClientEvent[K]>
|
||||
: (K extends keyof IClientEvents ? IClientEvents[K] : never)[]
|
||||
|
||||
export type RageFW_ClientEventReturn<K extends RageFW_ClientEvent> =
|
||||
K extends keyof RageFW_ICustomClientEvent
|
||||
? ReturnType<RageFW_ICustomClientEvent[K]>
|
||||
: never
|
||||
Reference in New Issue
Block a user