|
|
|
@ -11,6 +11,7 @@ import { RenderType } from "../../GraphicsSystem/RenderType";
|
|
|
|
|
import { IndexedDbStore, StoreName } from "../../IndexedDb/IndexedDbStore";
|
|
|
|
|
import { Factory } from "../CADFactory";
|
|
|
|
|
import { CADFiler } from "../CADFiler";
|
|
|
|
|
import { ObjectId } from "../ObjectId";
|
|
|
|
|
import { GetBoxGeoBufferGeometry } from "./BoxSolid";
|
|
|
|
|
import { Entity } from "./Entity";
|
|
|
|
|
import { GenUVForWorld } from "./GenUVForWorld";
|
|
|
|
@ -29,6 +30,8 @@ export class EntityRef extends Entity
|
|
|
|
|
private _ScaleSize = new Vector3;//缩放后的尺寸
|
|
|
|
|
private _Center = new Vector3;//盒子中心
|
|
|
|
|
|
|
|
|
|
private _OverWriteMaterial = new Map<number, ObjectId>();//section index -> materialId
|
|
|
|
|
|
|
|
|
|
// `/Data/ASSETS/DXAA_0001`
|
|
|
|
|
constructor(private _url?: string)
|
|
|
|
|
{
|
|
|
|
@ -383,14 +386,27 @@ export class EntityRef extends Entity
|
|
|
|
|
this._ScaleSize.y = file.Read();
|
|
|
|
|
this._ScaleSize.z = file.Read();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this._OverWriteMaterial.clear();
|
|
|
|
|
if (ver > 2)
|
|
|
|
|
{
|
|
|
|
|
let size = file.Read();
|
|
|
|
|
for (let i = 0; i < size; i++)
|
|
|
|
|
{
|
|
|
|
|
let index = file.Read();
|
|
|
|
|
let id = file.ReadHardObjectId();
|
|
|
|
|
this._OverWriteMaterial.set(index, id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//对象将自身数据写入到文件.
|
|
|
|
|
WriteFile(file: CADFiler)
|
|
|
|
|
{
|
|
|
|
|
file.Write(2);
|
|
|
|
|
file.Write(3);
|
|
|
|
|
super.WriteFile(file);
|
|
|
|
|
file.Write(this._url);
|
|
|
|
|
|
|
|
|
|
//2
|
|
|
|
|
file.Write(this._Size.x);
|
|
|
|
|
file.Write(this._Size.y);
|
|
|
|
|
file.Write(this._Size.z);
|
|
|
|
@ -402,6 +418,14 @@ export class EntityRef extends Entity
|
|
|
|
|
file.Write(this._ScaleSize.x);
|
|
|
|
|
file.Write(this._ScaleSize.y);
|
|
|
|
|
file.Write(this._ScaleSize.z);
|
|
|
|
|
|
|
|
|
|
//ver3
|
|
|
|
|
file.Write(this._OverWriteMaterial.size);
|
|
|
|
|
for (let [index, id] of this._OverWriteMaterial)
|
|
|
|
|
{
|
|
|
|
|
file.Write(index);
|
|
|
|
|
file.WriteHardObjectId(id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
}
|
|
|
|
|