21 lines
960 B
TypeScript
21 lines
960 B
TypeScript
const { ccclass, property } = cc._decorator;
|
|
|
|
/** Authored references supplied by one independently loaded page bundle. */
|
|
@ccclass
|
|
export default class CloudRisePage extends cc.Component {
|
|
@property([cc.String]) nodeKeys: string[] = [];
|
|
@property([cc.Node]) nodes: cc.Node[] = [];
|
|
@property([cc.String]) componentKeys: string[] = [];
|
|
@property([cc.Component]) components: cc.Component[] = [];
|
|
@property([cc.String]) frameKeys: string[] = [];
|
|
@property([cc.SpriteFrame]) frames: cc.SpriteFrame[] = [];
|
|
bind(target: any): void {
|
|
const assign = (keys: string[], values: any[]) => keys.forEach((key, i) => {
|
|
const [field, index] = key.split(":");
|
|
if (index === undefined) target[field] = values[i];
|
|
else target[field][Number(index)] = values[i];
|
|
});
|
|
assign(this.nodeKeys, this.nodes); assign(this.componentKeys, this.components); assign(this.frameKeys, this.frames);
|
|
}
|
|
}
|