mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-16 06:53:22 +00:00
thread-split: create PlayerProfile transfer flow
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
WorkerMessage,
|
||||
InitializedMessage,
|
||||
PlayerActionsResultMessage,
|
||||
PlayerProfileResultMessage,
|
||||
} from './WorkerMessages';
|
||||
|
||||
const ctx: Worker = self as any;
|
||||
@@ -83,19 +84,17 @@ ctx.addEventListener('message', async (e: MessageEvent<MainThreadMessage>) => {
|
||||
}
|
||||
|
||||
try {
|
||||
const actions = (await gameRunner).playerActions(message.playerID, message.x, message.y)
|
||||
const profile = (await gameRunner).playerProfile(message.playerID)
|
||||
sendMessage({
|
||||
type: 'player_actions_result',
|
||||
type: 'player_profile_result',
|
||||
id: message.id,
|
||||
result: actions
|
||||
} as PlayerActionsResultMessage);
|
||||
result: profile
|
||||
} as PlayerProfileResultMessage);
|
||||
} catch (error) {
|
||||
console.error('Failed to check borders:', error);
|
||||
throw error;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
console.warn('Unknown message :', message);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ export class WorkerClient {
|
||||
break;
|
||||
|
||||
case 'initialized':
|
||||
case 'player_actions_result':
|
||||
default:
|
||||
if (message.id && this.messageHandlers.has(message.id)) {
|
||||
const handler = this.messageHandlers.get(message.id)!;
|
||||
handler(message);
|
||||
@@ -91,7 +91,7 @@ export class WorkerClient {
|
||||
});
|
||||
}
|
||||
|
||||
playerInfo(playerID: number): Promise<PlayerProfile> {
|
||||
playerProfile(playerID: number): Promise<PlayerProfile> {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.isInitialized) {
|
||||
reject(new Error('Worker not initialized'));
|
||||
|
||||
Reference in New Issue
Block a user