Appearance
Using inject
in RPGJS
The inject
function in RPGJS is a powerful feature for dependency injection, allowing you to retrieve instances of various classes in both client and server environments.
Client-Side Injection
To use inject
on the client side, import it from @rpgjs/client
. This allows you to retrieve singleton instances of classes such as RpgClientEngine
, KeyboardControls
, and RpgRenderer
.
Retrieving the RpgClientEngine
typescript
import { inject, RpgClientEngine } from '@rpgjs/client'
const client = inject(RpgClientEngine)
This code imports inject
and RpgClientEngine
from @rpgjs/client
and then uses inject
to retrieve the RpgClientEngine
instance.
Injecting Other Classes
Similarly, you can inject other classes like KeyboardControls
and RpgRenderer
:
typescript
import { inject, KeyboardControls, RpgRenderer } from '@rpgjs/client'
const controls = inject(KeyboardControls)
const renderer = inject(RpgRenderer)
Server-Side Injection
For server-side injection, import inject
from @rpgjs/server
. This is typically used to retrieve the RpgServerEngine
.
Retrieving the RpgServerEngine
typescript
import { inject, RpgServerEngine } from '@rpgjs/server'
const server = inject(RpgServerEngine)