/// <summary> /// Initialization method. Subsequent changes to model should call the modelSelectedXXX methods below. /// </summary> public void setupModel() { SSTUUtils.destroyChildrenImmediate(root); if (models == null) { MonoBehaviour.print("ERROR: model list was null! Models must be populated after module construction."); } model = models.Find(m => m.name == modelName); if (model == null) { MonoBehaviour.print("ERROR: could not locate model for name: " + modelName); model = models[0]; modelName = model.name; MonoBehaviour.print("Using first available model: " + model.name); } preModelSetup(model); model.setupModel(root, orientation); bool useDefaultTextureColors = false; if (!model.isValidTextureSet(textureSet) && !string.Equals("default", textureSet)) { if (!string.Equals(string.Empty, textureSet)) { MonoBehaviour.print("Current texture set for model " + model.name + " invalid: " + textureSet + ", clearing colors and assigning default texture set."); } textureSet = model.getDefaultTextureSet(); if (!model.isValidTextureSet(textureSet)) { MonoBehaviour.print("ERROR: Default texture set: " + textureSet + " set for model: " + model.name + " is invalid. This is a configuration level error in the model definition that needs to be corrected."); } useDefaultTextureColors = true; if (SSTUGameSettings.persistRecolor()) { useDefaultTextureColors = false; } } if (customColors == null || customColors.Length == 0) { useDefaultTextureColors = true; } applyTextureSet(textureSet, useDefaultTextureColors); }