This commit is contained in:
Oleksandr Honcharov
2024-06-10 03:53:42 +03:00
parent 835c84261c
commit 8a42309956
26 changed files with 4275 additions and 613 deletions
+8 -12
View File
@@ -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,
)
+17
View File
@@ -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