SSTUTools.ModelSwitchGroup.initializeRoot C# (CSharp) Method

initializeRoot() private method

To be called on all model groups. If it is a root model group it will initialize itself and any children as needed. Build model root GO, initialize model for current selection, and initialize any children that need it.
private initializeRoot ( ) : void
return void
        internal void initializeRoot()
        {
            if (!string.IsNullOrEmpty(parentGroup)) { return; }//early return if not a root group
            currentEnabledModel = modelData.Find(m => m.enabled);
            if (currentEnabledModel == null)//initialize default
            {
                currentEnabledModel = modelData.Find(m => m.name == defaultModel);
                if (currentEnabledModel == null)
                {
                    //if it is still null... that is a config error and needs to be corrected
                    MonoBehaviour.print("ERROR: Could not locate default model for group: " + name + " model: " + defaultModel);
                }
                currentEnabledModel.enabled = true;
            }
            enabled = true;
            modelRoot = new GameObject("Root-" + name);
            modelRoot.transform.NestToParent(owner.transform.FindRecursive("model"));
            setupNodesForModel(currentEnabledModel);
            initializeModels();
        }