|
|
|
@ -165,25 +165,25 @@ class JiaJuParse
|
|
|
|
|
this.RoomIdNameMap.set(room.ID, room.Name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ParseProduct(product: JiaJu.ProductBase, parentName: string = "", parentRoomName: string = ""): TemplateRecord | Entity
|
|
|
|
|
ParseProduct(product: JiaJu.ProductBase, guiName: string = undefined, parentRoomName: string = ""): TemplateRecord | Entity
|
|
|
|
|
{
|
|
|
|
|
if (product.ObjType === "Board")//(product as JiaJu.EntityProduct).BoardMode
|
|
|
|
|
{
|
|
|
|
|
return this.ParseBoardParseBoard(product as JiaJu.EntityProduct, parentRoomName, parentName);
|
|
|
|
|
return this.ParseBoardParseBoard(product as JiaJu.EntityProduct, parentRoomName, guiName);
|
|
|
|
|
}
|
|
|
|
|
else if (product.ObjType === "Cabinet" || product.ObjType === "CabinetDoor" || product.ObjType === "Group")//组
|
|
|
|
|
// || product.TypeID === "" || product.TypeID === "GuiTi"
|
|
|
|
|
{
|
|
|
|
|
parentRoomName = this.RoomIdNameMap.get((product as JiaJu.ModelProduct).RoomID) ?? parentRoomName;
|
|
|
|
|
parentName = product.Name ?? parentName;
|
|
|
|
|
guiName = guiName ?? product.Name ?? "[未命名]";//柜名只能初始化一次
|
|
|
|
|
|
|
|
|
|
let template = new TemplateRecord().InitBaseParams();
|
|
|
|
|
template.Name = parentName;
|
|
|
|
|
template.Name = product.Name ?? "[未命名]";
|
|
|
|
|
this.curDb.TemplateTable.Add(template);
|
|
|
|
|
|
|
|
|
|
for (let p of (product as JiaJu.ModelProduct).Products[0].Product)
|
|
|
|
|
{
|
|
|
|
|
let obj = this.ParseProduct(p, parentName, parentRoomName);
|
|
|
|
|
let obj = this.ParseProduct(p, guiName, parentRoomName);
|
|
|
|
|
if (obj instanceof Entity)
|
|
|
|
|
template.Objects.push(obj.Id);
|
|
|
|
|
else if (obj instanceof TemplateRecord)
|
|
|
|
|