private void updateSolarModules() { if (!updateSolar) { return; } updateAnimationControl(solarAnimationID, solarModule.model, solarAnimationLayer); bool solarEnabled = solarModule.model.panelsEnabled; SSTUSolarPanelDeployable solar = part.GetComponent <SSTUSolarPanelDeployable>(); if (solar != null) { if (solarEnabled) { solar.resourceAmount = solarModule.model.energy; solar.pivotTransforms = solarModule.model.pivotNames; solar.rayTransforms = solarModule.model.sunNames; SSTUSolarPanelDeployable.Axis axis = (SSTUSolarPanelDeployable.Axis)Enum.Parse(typeof(SSTUSolarPanelDeployable.Axis), solarModule.model.sunAxis); solar.setSuncatcherAxis(axis); solar.enableModule(); } else { solar.disableModule(); } } }
private void updateSolarModules() { if (!updateSolar) { return; } if (animationControl == null) { SSTUAnimateControlled[] controls = part.GetComponents <SSTUAnimateControlled>(); int len = controls.Length; for (int i = 0; i < len; i++) { if (controls[i].animationID == solarAnimationID) { animationControl = controls[i]; break; } } } animationControl.animationName = solarModule.animationName; animationControl.reInitialize(); SSTUSolarPanelDeployable solar = part.GetComponent <SSTUSolarPanelDeployable>(); if (solar == null) { return; } solar.resourceAmount = solarModule.energy; solar.pivotTransforms = solarModule.pivotNames; solar.secondaryPivotTransforms = solarModule.secPivotNames; solar.rayTransforms = solarModule.sunNames; SSTUSolarPanelDeployable.Axis axis = (SSTUSolarPanelDeployable.Axis)Enum.Parse(typeof(SSTUSolarPanelDeployable.Axis), solarModule.sunAxis); solar.setSuncatcherAxis(axis); if (solarModule.panelsEnabled) { solar.enableModule(); } else { solar.disableModule(); } }
private void updateSolarModules() { if (!updateSolar) { return; } if (animationControl == null && !string.Equals("none", solarAnimationID)) { SSTUAnimateControlled[] controls = part.GetComponents <SSTUAnimateControlled>(); int len = controls.Length; for (int i = 0; i < len; i++) { if (controls[i].animationID == solarAnimationID) { animationControl = controls[i]; break; } } if (animationControl == null) { MonoBehaviour.print("ERROR: Animation controller was null for ID: " + solarAnimationID); return; } } bool animEnabled = solarModule.model.hasAnimation(); bool solarEnabled = solarModule.model.panelsEnabled; string animName = string.Empty; float animSpeed = 1f; if (animEnabled) { ModelAnimationData mad = solarModule.model.modelDefinition.animationData[0]; animName = mad.animationName; animSpeed = mad.speed; } else { animName = string.Empty; animSpeed = 1f; } if (animationControl != null) { animationControl.animationName = animName; animationControl.animationSpeed = animSpeed; animationControl.reInitialize(); } SSTUSolarPanelDeployable solar = part.GetComponent <SSTUSolarPanelDeployable>(); if (solar != null) { if (solarEnabled) { solar.resourceAmount = solarModule.model.energy; solar.pivotTransforms = solarModule.model.pivotNames; solar.rayTransforms = solarModule.model.sunNames; SSTUSolarPanelDeployable.Axis axis = (SSTUSolarPanelDeployable.Axis)Enum.Parse(typeof(SSTUSolarPanelDeployable.Axis), solarModule.model.sunAxis); solar.setSuncatcherAxis(axis); solar.enableModule(); } else { solar.disableModule(); } } }