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