This commit is contained in:
Danya H 2025-01-26 22:30:10 +00:00
parent 037a7af2da
commit ce52e6469a
20 changed files with 197 additions and 225 deletions

View File

@ -5,10 +5,13 @@ jsxSingleQuote: false
semi: false
arrowParens: avoid
endOfLine: auto
plugins:
- prettier-plugin-svelte
overrides:
- files: "*.{css,sass,scss}"
- files: '*.{css,sass,scss}'
options:
tabWidth: 2
plugins:
- prettier-plugin-tailwindcss
parser: typescript
parser: scss
- files: '*.svelte'
options:
parser: 'svelte'

View File

@ -7,8 +7,8 @@
"check": "svelte-check --tsconfig ./tsconfig.json && tsc -p tsconfig.node.json"
},
"dependencies": {
"@rage-fw/shared": "workspace:^",
"@entityseven/rage-fw-rpc": "0.2.5"
"@entityseven/rage-fw-browser": "0.2.0",
"@rage-fw/shared": "workspace:^"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
@ -22,7 +22,7 @@
"eslint-plugin-prettier": "^5.2.1",
"globals": "^15.9.0",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.2.6",
"prettier-plugin-svelte": "^3.3.3",
"svelte": "5.1.3",
"svelte-check": "^3.8.5",
"tslib": "^2.6.3",

View File

@ -1,16 +1,20 @@
<script lang="ts">
import { fw } from '@entityseven/rage-fw-browser'
import type { RageFW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
import { onMount } from 'svelte'
import { events } from '@rage-fw/shared'
import { rpc } from '@/lib'
let data = $state<string>('')
let data =
$state<ReturnType<RageFW_ICustomBrowserEvent['customBrowserEvent']>>()
onMount(() => {
rpc.register(events.browser.customBrowserEvent, (args: string) => {
data = data + ' | ' + args
return 'response from cef'
try {
fw.event.register('customBrowserEvent', async greeting => {
data += greeting
return 'from cef'
})
rpc.callClient(events.client.cefReady, ['hello from cef'])
} catch (e) {
console.error(e)
}
})
</script>

View File

@ -1,5 +0,0 @@
import { Rpc } from '@entityseven/rage-fw-rpc'
export const rpc = new Rpc({
debugLogs: true,
})

View File

@ -21,10 +21,11 @@
"noFallthroughCasesInSwitch": true,
"types": [
"../../node_modules/@ragempcommunity/types-cef",
"../shared/declarations/rage-fw-shared-types/"
],
"paths": {
"@": ["./src"],
"@/*": ["./src/*"],
"@/*": ["./src/*"]
}
},
"include": ["src"],

View File

@ -3,7 +3,6 @@
"composite": true,
"skipLibCheck": true,
"strict": true,
// "noEmit": true,
"module": "ESNext",
"moduleResolution": "bundler",
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo"

View File

@ -6,7 +6,7 @@
},
"dependencies": {
"@rage-fw/shared": "workspace:^",
"@entityseven/rage-fw-rpc": "0.2.5"
"@entityseven/rage-fw-client": "0.2.0"
},
"license": "MIT",
"author": "Entity Seven Group",

View File

@ -1,22 +1,15 @@
import { events } from '@rage-fw/shared'
import { rpc } from './lib'
import { fw } from '@entityseven/rage-fw-client'
rpc.browser = mp.browsers.new('package://cef/index.html')
fw.player.browser = mp.browsers.new('package://cef/index.html')
rpc.register(events.client.cefReady, async (args: string) => {
mp.console.logInfo(args)
const res = (await rpc.callServer(events.server.customServerEvent, [
'hello from client',
])) as string
mp.console.logInfo(res)
return 'response from client'
})
rpc.register(events.client.cefReady, async (args: string) => {
mp.console.logInfo(args)
const res = (await rpc.callBrowser(events.browser.customBrowserEvent, [
'hello from client',
])) as string
mp.console.logInfo(res)
return 'response from client'
fw.event.register('cefReady', async () => {
fw.system.log.info('cefReady')
const responseBrowser = await fw.player.triggerBrowser(
'customBrowserEvent',
['from client'],
)
fw.system.log.info(responseBrowser)
await fw.player.triggerServer('customServerEvent', ['from client'])
})

View File

@ -1,5 +0,0 @@
import { Rpc } from '@entityseven/rage-fw-rpc'
export const rpc = new Rpc({
debugLogs: true,
})

View File

@ -6,7 +6,7 @@
},
"dependencies": {
"@rage-fw/shared": "workspace:^",
"@entityseven/rage-fw-rpc": "0.2.5"
"@entityseven/rage-fw-server": "0.2.0"
},
"license": "MIT",
"author": "Entity Seven Group",

View File

@ -1,20 +1,18 @@
import { events } from '@rage-fw/shared'
import { rpc } from './lib'
import { fw } from '@entityseven/rage-fw-server'
rpc.register('playerJoin', async (player: PlayerMp) => {
console.log(`[Server] ${player.socialClub} connected`)
fw.event.register('playerJoin', async player => {
fw.system.log.info(`Connected: ${player.socialClub}`)
})
rpc.register(
events.server.customServerEvent,
async (player: PlayerMp, args: string) => {
console.log(args)
const res = await rpc.callClient(
fw.event.register('customServerEvent', async (player, greeting) => {
fw.system.log.info(player.socialClub + ' ' + greeting)
const resFromBrowser = await fw.player.triggerBrowser(
player,
events.client.customClientEvent,
['hello from server'],
'customBrowserEvent',
['from server'],
)
console.log(res)
return 'response from server'
},
)
fw.system.log.info(player.socialClub + ' ' + resFromBrowser)
return 'from server'
})

View File

@ -1,5 +0,0 @@
import { Rpc } from '@entityseven/rage-fw-rpc'
export const rpc = new Rpc({
debugLogs: true,
})

View File

@ -1,12 +0,0 @@
export const events = {
server: {
customServerEvent: 'customServerEvent',
},
client: {
cefReady: 'cefReady',
customClientEvent: 'customClientEvent',
},
browser: {
customBrowserEvent: 'customBrowserEvent',
},
}

View File

@ -18,6 +18,7 @@
"@ragempcommunity/types-client": "^2.1.8",
"@ragempcommunity/types-server": "^2.1.8",
"@ragempcommunity/types-cef": "^2.1.8",
"@entityseven/rage-fw-shared-types": "0.2.0",
"esbuild": "^0.21.5",
"typescript": "^5.4.5",
"prettier": "^3.3.2"