PC-20230316NUNE\Administrator 64ab2b0fe5 update
2023-10-30 18:53:21 +08:00

59 lines
1.4 KiB
TypeScript

import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
import { JNFrameInfo, JNSyncFrameEvent } from '../../extensions/ngame/assets/ngame/sync/frame/JNSyncFrame';
import { app } from './App';
import { JNSyncAction } from '../../extensions/ngame/assets/ngame/sync/JNSyncAction';
import { Camera } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('WorldCanvas')
export class WorldCanvas extends Component {
@property(Node)
root:Node = null;
@property(Camera)
camera:Camera = null;
@property(Prefab)
prefab:Prefab = null;
async onLoad(){
//重置相机位置
this.camera.node.setWorldPosition(0,0,1000);
//监听帧同步
app.event.on(JNSyncFrameEvent.CLEAR,this.clear,this);
app.event.on(JNSyncFrameEvent.CREATE,this.create,this);
//监听帧回调
app.socket.on(JNSyncAction.NSyncFrameBack,this.onFrameBack,this,"JNFrameInfo");
app.sync.onReset();
app.sync.onStart();
}
//清除世界
clear(){
this.root.removeAllChildren();
}
//创建世界
create(){
this.root.addChild(instantiate(this.prefab))
this.scheduleOnce(() => {
app.sync.onStart();
});
}
update(deltaTime: number) {
app.sync.update(deltaTime);
}
onFrameBack(info:JNFrameInfo){
app.sync.addFrame(info,true);
}
}