feat: Add player state management to turtle store
This commit is contained in:
@@ -10,6 +10,7 @@ console.log('📡 API URL:', API_URL);
|
|||||||
export const useTurtleStore = create((set, get) => ({
|
export const useTurtleStore = create((set, get) => ({
|
||||||
// State
|
// State
|
||||||
turtles: {},
|
turtles: {},
|
||||||
|
players: {},
|
||||||
worldBlocks: [],
|
worldBlocks: [],
|
||||||
selectedTurtleId: null,
|
selectedTurtleId: null,
|
||||||
connected: false,
|
connected: false,
|
||||||
@@ -65,6 +66,17 @@ export const useTurtleStore = create((set, get) => ({
|
|||||||
selectedTurtleId: newSelectedId
|
selectedTurtleId: newSelectedId
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
} else if (data.type === 'player_update') {
|
||||||
|
set(state => ({
|
||||||
|
players: {
|
||||||
|
...state.players,
|
||||||
|
[data.playerID]: {
|
||||||
|
playerID: data.playerID,
|
||||||
|
position: data.position,
|
||||||
|
timestamp: data.timestamp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error processing message:', error);
|
console.error('Error processing message:', error);
|
||||||
|
|||||||
Reference in New Issue
Block a user