public void SetupCosmeticInformation(MergedStaticConfig model, DataTreeObject dataTreeParent)
        {
            ComponentModel[] componentModels = model.models;
            List <object>    refs            = new List <object>();

            foreach (ComponentModel mdl in componentModels)
            {
                refs.Add(mdl.model.getName());
            }
            dataTreeParent.AddSimpleProperty(componentModels.Length + " model references", refs.ToArray(), SilkImage.Reference, SilkImage.Reference, false);
        }
        public void HandleModelConfig(FileInfo sourceFile, ModelConfig baseModel, List <Model3D> modelCollection, DataTreeObject dataTreeParent = null, Transform3D globalTransform = null, Dictionary <string, dynamic> extraData = null)
        {
            MergedStaticConfig mergedStatic = (MergedStaticConfig)baseModel.implementation;

            ComponentModel[] componentModels = mergedStatic.models;
            SKAnimatorToolsProxy.IncrementEnd(componentModels.Length);
            foreach (ComponentModel model in componentModels)
            {
                string filePathRelativeToRsrc = model.model.getName();
                if (filePathRelativeToRsrc.StartsWith("/"))
                {
                    filePathRelativeToRsrc = filePathRelativeToRsrc.Substring(1);
                }
                FileInfo referencedModel = new FileInfo(ResourceDirectoryGrabber.ResourceDirectoryPath + filePathRelativeToRsrc);
                if (!referencedModel.Exists)
                {
                    throw new ClydeDataReadException($"CompoundConfig at [{ResourceDirectoryGrabber.GetFormattedPathFromRsrc(sourceFile, false)}] attempted to reference [{filePathRelativeToRsrc}], but this file could not be found!");
                }
                Transform3D newTrs = model.transform;
                newTrs = globalTransform.compose(newTrs);
                ClydeFileHandler.HandleClydeFile(referencedModel, modelCollection, false, dataTreeParent, transform: newTrs);
                SKAnimatorToolsProxy.IncrementProgress();
            }
        }