private void enableModel(string model, bool updateSymmetry = false) { //TODO if (activeModel != null) { activeModel.destroyCurrentModel(); } activeModel = Array.Find(modelData, m=>m.name==model); currentModel = activeModel.name; Transform tr = part.transform.FindRecursive("model"); Transform root = tr.FindOrCreate("SSTUModelSwitchRoot-" + part.Modules.IndexOf(this)); activeModel.setupModel(root, ModelOrientation.TOP); activeModel.updateScale(1.0f); activeModel.setPosition(0f, ModelOrientation.TOP); activeModel.updateModel(); }
private void initialize() { if (initialized) { return; } initialized = true; ConfigNode node = SSTUConfigNodeUtils.parseConfigNode(configNodeData); ConfigNode[] nodes = node.GetNodes("MODEL"); modelData = ModelData.parseModels<PositionedModelData>(nodes, m => new PositionedModelData(m)); activeModel = Array.Find(modelData, m => m.name == currentModel); enableModel(currentModel, false); updateMassAndCost(); }