public override void OnStart(StartState state)
{
base.OnStart(state);
if (state == StartState.Editor || state == StartState.None) {
return;
}
//Loading texture
texStrut = GameDatabase.Instance.GetTexture(tubeTexPath, false);
if (!texStrut) {
KAS_Shared.DebugError("tube texture loading error !");
ScreenMessages.PostScreenMessage(
string.Format(
"Texture file : {0} has not been found, please check your KAS installation !",
tubeTexPath),
10, ScreenMessageStyle.UPPER_CENTER);
}
// loading sounds
KAS_Shared.createFXSound(this.part, fxSndLink, sndLinkPath, false);
KAS_Shared.createFXSound(this.part, fxSndUnlink, sndUnlinkPath, false);
KAS_Shared.createFXSound(this.part, fxSndBroke, sndBrokePath, false);
// loading strut renderer
strutRenderer = this.part.gameObject.AddComponent<KAS_Tube>();
strutRenderer.tubeTexTilingOffset = textureTiling;
strutRenderer.tubeScale = tubeScale;
strutRenderer.sphereScale = jointScale;
strutRenderer.tubeTexture = texStrut;
strutRenderer.sphereTexture = texStrut;
strutRenderer.tubeJoinedTexture = texStrut;
strutRenderer.srcNode = strutTransform;
// loading tube type
switch (tubeSrcType) {
case "None":
strutRenderer.srcJointType = KAS_Tube.tubeJointType.None;
break;
case "Rounded":
strutRenderer.srcJointType = KAS_Tube.tubeJointType.Rounded;
break;
case "ShiftedAndRounded":
strutRenderer.srcJointType = KAS_Tube.tubeJointType.ShiftedAndRounded;
break;
case "Joined":
strutRenderer.srcJointType = KAS_Tube.tubeJointType.Joined;
break;
default:
strutRenderer.srcJointType = KAS_Tube.tubeJointType.Joined;
break;
}
switch (tubeTgtType) {
case "None":
strutRenderer.tgtJointType = KAS_Tube.tubeJointType.None;
break;
case "Rounded":
strutRenderer.tgtJointType = KAS_Tube.tubeJointType.Rounded;
break;
case "ShiftedAndRounded":
strutRenderer.tgtJointType = KAS_Tube.tubeJointType.ShiftedAndRounded;
break;
case "Joined":
strutRenderer.tgtJointType = KAS_Tube.tubeJointType.Joined;
break;
default:
strutRenderer.tgtJointType = KAS_Tube.tubeJointType.Joined;
break;
}
// Reset link if docked
if (attachMode.Docked && !linked) {
KAS_Shared.DebugLog("OnStart(strut) Docked strut detected from save, relinking...");
KASModuleStrut linkedStrutModuleSavedD = dockedAttachModule.GetComponent<KASModuleStrut>();
LinkTo(linkedStrutModuleSavedD, false, true);
}
// Loading onVesselWasModified KSP event
GameEvents.onVesselWasModified.Add(new EventData<Vessel>.OnEvent(this.OnVesselWasModified));
}