KAS.KASModuleAttachCore.OnStart C# (CSharp) Method

OnStart() public method

public OnStart ( StartState state ) : void
state StartState
return void
        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)
        }