//when started public override void OnStart(PartModule.StartState start) { // degub only: print("onstart"); base.OnStart(start); print(System.Reflection.Assembly.GetExecutingAssembly().GetName().Version); //this.part.AddModule("ModuleWaterSlider"); if (HighLogic.LoadedSceneIsGame) { } if (HighLogic.LoadedSceneIsEditor) { } if (HighLogic.LoadedSceneIsFlight) { foreach (WheelCollider b in this.part.GetComponentsInChildren<WheelCollider>()) { repulsorCount += 1; userspring = b.suspensionSpring; userspring.spring = SpringRate; userspring.damper = DamperRate; b.suspensionSpring = userspring; b.suspensionDistance = Rideheight; wcList.Add(b); } this.part.force_activate(); //force the part active or OnFixedUpate is not called. currentRideHeight = Rideheight; UpdateHeight(); foreach (ModuleWaterSlider mws in this.vessel.FindPartModulesImplementing<ModuleWaterSlider>()) { _MWS = mws; } //print("water slider height is" + _MWS.colliderHeight); _grid = transform.Search(gridName); //print(string.Format("Water slider height is{0}", _MWS.colliderHeight)); } DestroyBounds(); effectPowerMax = 1 * repulsorCount * chargeConsumptionRate * Time.deltaTime; //print("max effect power"); //print(effectPowerMax); }
void SetupWaterSlider() { _MWS = vessel.rootPart.GetComponent<ModuleWaterSlider>(); if (Equals(_MWS, null)) //add if not... sets some defaults. { _MWS = vessel.rootPart.gameObject.AddComponent<ModuleWaterSlider>(); //vessel.rootPart.GetComponent<ModuleWaterSlider>(); _MWS.StartUp(); } }