public override void OnStart(StartState state)
{
base.OnStart(state);
if (state == StartState.Editor || state == StartState.None) {
return;
}
if (attachMode.Docked) {
Part dockedPart = KAS_Shared.GetPartByID(this.vessel, dockedPartID);
if (dockedPart && (dockedPart == part.parent || dockedPart.parent == part)) {
KASModuleAttachCore dockedAttachModuleTmp = dockedPart.GetComponent<KASModuleAttachCore>();
if (dockedAttachModuleTmp == null) {
KAS_Shared.DebugError("OnLoad(Core) Unable to get docked module!");
attachMode.Docked = false;
} else if (dockedAttachModuleTmp.attachMode.Docked
&& dockedAttachModuleTmp.dockedPartID == part.flightID.ToString()
&& dockedAttachModuleTmp.vesselInfo != null) {
KAS_Shared.DebugLog(string.Format("OnLoad(Core) Part already docked to {0}",
dockedAttachModuleTmp.part.partInfo.title));
this.dockedAttachModule = dockedAttachModuleTmp;
dockedAttachModuleTmp.dockedAttachModule = this;
} else {
KAS_Shared.DebugLog(string.Format(
"OnLoad(Core) Re-set docking on {0}", dockedAttachModuleTmp.part.partInfo.title));
AttachDocked(dockedAttachModuleTmp);
}
} else {
KAS_Shared.DebugError("OnLoad(Core) Unable to get saved docked part!");
attachMode.Docked = false;
}
}
// TODO: attachMode.Coupled
if (attachMode.FixedJoint) {
StartCoroutine(WaitAndInitFixedAttach());
}
// Nothing to do on attachMode.StaticJoint (see OnVesselLoaded)
}