public void Start()
{
animationStates = SetUpAnimation(animationName, this.part);
//if (part.stagingIcon == "")
// part.stagingIcon = "DECOUPLER_HOR";
List<ModuleDecouple> decouplers = new List<ModuleDecouple>();
decouplers = this.GetComponents<ModuleDecouple>().ToList();
foreach (ModuleDecouple d in decouplers)
{
if (d.explosiveNodeID == decouplerNodeID)
{
decoupler = d;
decoupler.Actions["DecoupleAction"].active = false;
decoupler.Events["Decouple"].active = false;
decoupler.Events["ToggleStaging"].active = false;
}
else if (payloadDecouplerNodeID != "" && d.explosiveNodeID == payloadDecouplerNodeID)
{
payloadDecoupler = d;
payloadDecoupler.Actions["DecoupleAction"].guiName = "Decouple Payload";
payloadDecoupler.Fields["ejectionForcePercent"].guiName = "Force Percent (Payload)";
}
}
if (decoupler == null)
Debug.LogErrorFormat("[{0}] A '{1}' node decoupler was not found.", moduleID, decouplerNodeID);
if (payloadDecouplerNodeID != "" && payloadDecoupler == null)
Debug.LogErrorFormat("[{0}] A '{1}' node decoupler was not found.", moduleID, payloadDecouplerNodeID);
if (HighLogic.LoadedSceneIsFlight)
{
decoupled = decoupler != null && decoupler.isDecoupled;
if (payloadDecoupler != null)
payloadDecoupler.isEnabled = decoupled;
}
foreach (AnimationState anim in animationStates)
{
if (decoupled)
{
anim.normalizedTime = 1f;
}
else
{
anim.normalizedTime = 0f;
}
}
Events["ToggleAnimationEditor"].guiName = editorGUIName;
}