import { Vec2 } from "cc"; import GObject from "./base/GObject"; import { v3 } from "cc"; import { JNFrameInfo } from "../../../extensions/ngame/assets/ngame/sync/frame/JNSyncFrame"; import { Node } from "cc"; import { Vec3 } from "cc"; export default class GBaseMode extends GObject { //添加对象到场景中 addGObject(obj: GObject<{}>,pos?:Vec2 | Vec3){ obj.mode = this; this.node.addChild(obj.node); if(pos){ obj.node.setWorldPosition(v3(pos.x,pos.y,0)); } } //添加Node到场景中 addGNode(obj:Node,pos?:Vec2 | Vec3){ this.node.addChild(obj); if(pos){ obj.setWorldPosition(v3(pos.x,pos.y,0)); } } onSyncUpdate(dt: number,frame:JNFrameInfo, input?: T) { //重置 场景中的层级 [...this.node.children].sort((node1,node2) => node2.worldPosition.y - node1.worldPosition.y).forEach((node,index) => { node.setSiblingIndex(index); }) } }