/// <summary> /// Update the engine scale and position for scale. /// </summary> private void updateEnginePositionAndScale() { engineModels.setScale(currentEngineScale); engineModels.root.localRotation = this.invertEngines ? Quaternion.Euler(180, 0, 0) : Quaternion.identity; engineModels.setPosition(-currentHeight * 0.5f + engineModels.moduleHeight * 0.5f); engineModels.updateModelMeshes(); engineModels.renameEngineThrustTransforms(engineThrustTransformName); }
private void updateModelScale() { rcsBlockModule.setPosition(0); rcsBlockModule.setScale(currentScale); rcsBlockModule.updateModelMeshes(); standoffModule.setDiameterFromAbove(rcsBlockModule.moduleDiameter, 0f); standoffModule.setPosition(rcsBlockModule.moduleBottom - standoffModule.moduleHeight); standoffModule.updateModelMeshes(); }
private void initialize() { if (initialized) { return; } initialized = true; ConfigNode node = SSTUConfigNodeUtils.parseConfigNode(configNodeData); ModelDefinitionLayoutOptions[] defs = SSTUModelData.getModelDefinitions(node.GetNodes("MODEL")); Transform root = part.transform.FindRecursive("model").FindOrCreate(rootTransformName); models = new ModelModule <SSTUModelSwitch>(part, this, root, ModelOrientation.TOP, nameof(currentModel), null, nameof(currentTexture), nameof(modelPersistentData), nameof(animationPersistentData), nameof(animationMaxDeploy), nameof(enableAnimationEvent), nameof(disableAnimationEvent)); models.name = "ModelSwitch"; models.getSymmetryModule = m => m.models; models.getValidOptions = () => defs; models.setupModelList(defs); models.setupModel(); models.setScale(currentScale); models.updateModelMeshes(); models.updateSelections(); updateMassAndCost(); updateAttachNodes(false); }