// /server/data/index.js // Импортируем отдельные части игровых данных const { elenaBaseStats, balardBaseStats, almagestBaseStats } = require('./characterStats'); const { elenaAbilities, balardAbilities, almagestAbilities } = require('./characterAbilities'); const { tauntSystem } = require('./taunts'); // Предполагается, что taunts.js экспортирует объект tauntSystem // Собираем все данные в один объект gameData, // который будет использоваться в других частях серверной логики (например, gameLogic, GameInstance). // Эта структура аналогична той, что была в вашем исходном большом файле data.js. const gameData = { // Базовые статы персонажей по их ключам для удобного доступа // (хотя dataUtils.js теперь предоставляет функции для этого, // можно оставить и такую структуру для обратной совместимости или прямого доступа, если нужно) baseStats: { elena: elenaBaseStats, balard: balardBaseStats, almagest: almagestBaseStats }, // Способности персонажей по их ключам abilities: { elena: elenaAbilities, balard: balardAbilities, almagest: almagestAbilities }, // Система насмешек tauntSystem: tauntSystem, // Если вы хотите сохранить оригинальную структуру вашего предыдущего data.js, // где были прямые ссылки на playerBaseStats, opponentBaseStats и т.д., // вы можете добавить их сюда. Однако, с новой структурой dataUtils.js // это становится менее необходимым, так как dataUtils предоставляет // функции для получения данных по characterKey. // Для примера, если бы playerBaseStats всегда был Елена, а opponentBaseStats всегда Балард: // playerBaseStats: elenaBaseStats, // Обычно Елена // opponentBaseStats: balardBaseStats, // Обычно Балард (AI) // almagestBaseStats: almagestBaseStats, // Для Альмагест (PvP) // playerAbilities: elenaAbilities, // opponentAbilities: balardAbilities, // Способности Баларда (AI) // almagestAbilities: almagestAbilities, // Рекомендуемый подход: экспортировать данные, сгруппированные по персонажам, // а для получения данных конкретного "игрока" или "оппонента" в игре // использовать dataUtils.getCharacterData(characterKey) в GameInstance/GameManager. // Это более гибко, так как в PvP Елена может быть оппонентом, а Альмагест - игроком. }; // Экспортируем собранный объект gameData module.exports = gameData; /* Примечание: В GameInstance, GameManager, gameLogic и других модулях, где раньше был: const gameData = require('./data'); // или другой путь к старому data.js Теперь будет: const gameData = require('../data'); // или '../data/index.js' - Node.js поймет и так или const dataUtils = require('../data/dataUtils'); И если вы используете gameData напрямую: const elenaStats = gameData.baseStats.elena; const balardAbils = gameData.abilities.balard; Если используете dataUtils: const elenaFullData = dataUtils.getCharacterData('elena'); const balardAbils = dataUtils.getCharacterAbilities('balard'); Выбор зависит от того, насколько гранулированный доступ вам нужен в каждом конкретном месте. Объект gameData, экспортируемый этим файлом, может быть полезен для gameLogic, где функции могут ожидать всю структуру данных сразу. */