Example #1
0
    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);
        }
    }