import {readFileSync,writeFileSync} from 'node:fs'; const b='G:/Works/YouleGamesCocosCreator/cocoscreator_projects/YouleNexus/assets/'; const old=b+'games/template/TemplateRoomView.ts'; let src=readFileSync(old,'utf8').replace("import type {TemplateRoomActions,TemplateRoomPresentation} from './template-game.ts';","import type {RoomPresentationActions,RoomPresentation} from '../../framework/sdk/contracts/game-definition.ts';").replaceAll('TemplateRoomActions','RoomPresentationActions').replaceAll('TemplateRoomPresentation','RoomPresentation').replaceAll('TemplateRoomView','CommonRoomViewBase'); writeFileSync(b+'scripts/platform-login/CommonRoomViewBase.ts',src); writeFileSync(old,"import {_decorator} from 'cc';\nimport {CommonRoomViewBase} from '../../scripts/platform-login/CommonRoomViewBase.ts';\nconst {ccclass}=_decorator;\n@ccclass('TemplateRoomView')\nexport class TemplateRoomView extends CommonRoomViewBase {}\n"); const eq=b+'games/erqiwang/ErqiwangRoomView.ts'; writeFileSync(eq,readFileSync(eq,'utf8').replace("import {TemplateRoomView} from '../template/TemplateRoomView.ts';","import {CommonRoomViewBase} from '../../scripts/platform-login/CommonRoomViewBase.ts';").replace("import type {TemplateRoomActions} from '../template/template-game.ts';","import type {RoomPresentationActions} from '../../framework/sdk/contracts/game-definition.ts';").replaceAll('extends TemplateRoomView','extends CommonRoomViewBase').replaceAll('TemplateRoomActions','RoomPresentationActions')); const exit=b+'framework/presentation/room-exit-action.ts'; writeFileSync(b+'framework/sdk/room-exit-action.ts',readFileSync(exit,'utf8').replace('../sdk/contracts/','./contracts/')); writeFileSync(exit,"export {roomExitAction} from '../sdk/room-exit-action.ts';\n"); for(const game of ['erqiwang','template']){ const f=b+'games/'+game+'/'+game+'-game.ts'; writeFileSync(f,readFileSync(f,'utf8').replace('framework/presentation/room-exit-action','framework/sdk/room-exit-action')); const chat=b+'games/'+game+'/room-chat-config.ts'; writeFileSync(chat,readFileSync(chat,'utf8').replace('framework/presentation/room-chat-config','framework/sdk/contracts/room-chat')); }