Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
18 lines
2.1 KiB
JavaScript
18 lines
2.1 KiB
JavaScript
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'));
|
|
}
|