public void Build(ModelTexture mtex) { if (mtex == null) { return; } Grid.Clear(); Grid.AddElement(Instantiate(HLine)); Variant variant = mtex.GetParent <Variant>(); foreach (ModelTexture sibling in variant.Children <ModelTexture>()) { if (sibling != mtex) { ARColorIcon icon = MakeIcon(); icon.modeltexture = sibling; icon.ColorIcon.Selected = sibling == mtex; icon.ClickBox.AddEventListener("onclick", () => { if (OnSelect != null) { OnSelect(sibling); } }); Grid.AddElement(icon); Grid.AddElement(Instantiate(HLine)); } } }
public bool exceedsLimit(ModelTexture mtex) { Variant var = mtex.GetParent <Variant>(); if (model_sizes.ContainsKey(var) && library.Count > 0) { return(mem + model_sizes[var] > MemoryLimitMb); } return(false); }
//make a new model private ARModel newModel(ModelTexture mtex) { if (Contains(mtex)) { GameObject obj = Instantiate(library[mtex]); ARModel model = obj.AddComponent <ARModel>(); model.ModelTexture = mtex; Model parent = mtex.GetParent <Model>(); model.baseScale = model.baseScale * parent.Scale; model.AddColliders(); return(model); } return(null); }
public void addModelSize(ModelTexture mtex, int size, bool overwrite = false) { Variant var = mtex.GetParent <Variant>(); Debug.Log($"{var.Name} size: {size}Mb"); if (model_sizes.ContainsKey(var)) { if (overwrite) { model_sizes[var] = size; } } else { model_sizes.Add(var, size); } }