Example #1
0
 /// <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);
 }
Example #2
0
 private void updateModelScale()
 {
     rcsBlockModule.setPosition(0);
     rcsBlockModule.setScale(currentScale);
     rcsBlockModule.updateModelMeshes();
     standoffModule.setDiameterFromAbove(rcsBlockModule.moduleDiameter, 0f);
     standoffModule.setPosition(rcsBlockModule.moduleBottom - standoffModule.moduleHeight);
     standoffModule.updateModelMeshes();
 }
Example #3
0
        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);
        }