public override void OnStart(PartModule.StartState state) { base.OnStart(state); if (!HighLogic.LoadedSceneIsFlight) { return; } modeList.Add(new mode(primaryModeRange.x, primaryModeRange.y)); engine = new Firespitter.engine.FSengineWrapper(part); anim = part.FindModelAnimators(animationName).FirstOrDefault(); if (anim != null) { animTime = 0f; anim[animationName].layer = animationLayer; anim[animationName].speed = 0f; anim[animationName].normalizedTime = 0f; anim[animationName].wrapMode = WrapMode.ClampForever; } else { Log.info("FSanimateThrottle: no animation found called {0}", animationName); } }
public void initialize() { if (!initialized) { engine = new FSengineWrapper(part); bladeNumberRaw = bladeNumber; engineLengthSliderRaw = engineLengthSlider; BladeLengthSliderRaw = bladeLengthSlider; Log.dbg("FSpropellerTweak: find blade root"); Transform originalBlade = part.FindModelTransform(bladeRootName); if (originalBlade != null) { blades.Add(originalBlade.gameObject); } Log.dbg("FSpropellerTweak: find exhaust"); //GameObject originalExhaust = GameObject.Find(exhaustName); Transform originalExhaust = part.FindModelTransform(exhaustName); if (originalExhaust != null) { exhausts.Add(originalExhaust.gameObject); } Log.dbg("FSpropellerTweak: find engine extension"); Transform engineExtensionTransform = part.FindModelTransform(engineExtenderName); if (engineExtensionTransform != null) { engineExtension = engineExtensionTransform.gameObject; } Log.dbg("FSpropellerTweak: find propeller root"); propellerRoot = part.FindModelTransform(propellerRootName); if (propellerRoot == null) { Log.log("FSpropellerTweak: Nasty error, no propeller root found named {0}", propellerRootName); } movableSection = part.FindModelTransform(movableSectionName); engineEndPoint = part.FindModelTransform(engineEndPointName); //centerOfMass = part.FindModelTransform(centerOfMassName); Log.dbg("FSpropellerTweak: Blades: {0}", blades.Count); updateBladeList(); updateEngineLength(); updateBladeLength(); part.mass = finalWeight; initialized = true; } }
public override void OnStart(PartModule.StartState state) { base.OnStart(state); engageAssigned = createGroup(engageGroup, engage, false); runningAssigned = createGroup(runningGroup, running, true); powerAssigned = createGroup(powerGroup, power, true); disengageAssigned = createGroup(disengageGroup, disengage, false); flameoutAssigned = createGroup(flameoutGroup, flameout, false); warningAssigned = createGroup(warningGroup, warning, false); engine = new Firespitter.engine.FSengineWrapper(part); if (engine != null) { maxThrust = engine.maxThrust; } //GameEvents.onGamePause.Add(new EventVoid.OnEvent(OnPause)); //GameEvents.onGameUnpause.Add(new EventVoid.OnEvent(OnResume)); }
public override void OnStart(PartModule.StartState state) { base.OnStart(state); if (!HighLogic.LoadedSceneIsFlight) return; modeList.Add(new mode(primaryModeRange.x, primaryModeRange.y)); engine = new Firespitter.engine.FSengineWrapper(part); anim = part.FindModelAnimators(animationName).FirstOrDefault(); if (anim != null) { animTime = 0f; anim[animationName].layer = animationLayer; anim[animationName].speed = 0f; anim[animationName].normalizedTime = 0f; anim[animationName].wrapMode = WrapMode.ClampForever; } else { Debug.Log("FSanimateThrottle: no animation found called " + animationName); } }
public override void OnStart(PartModule.StartState state) { base.OnStart(state); if (engineID == String.Empty || engineID == "") { engine = new Firespitter.engine.FSengineWrapper(part); } else { engine = new Firespitter.engine.FSengineWrapper(part, engineID); } if (engine.type == FSengineWrapper.EngineType.FSengine) { rotationSpeed = engine.fsengine.maxRPM; } propeller = part.FindModelTransform(propellerName); if (engine != null) { maxThrust = engine.maxThrust; } if (maxThrust <= 0f) // to avoid division by zero { maxThrust = 50f; } //assign blade meshes so they gan be hidden if (useRotorDiscSwap == 1) { if (duplicatedBlades) { blurObjects = part.FindModelTransforms(rotorDiscName); Transform[] bladeTransforms = part.FindModelTransforms(blade1); for (int i = 0; i < bladeTransforms.Length; i++) { bladeObjects.Add(bladeTransforms[i].gameObject); } } else { rotorDisc = part.FindModelTransform(rotorDiscName); if (rotorDisc != null) { rotorDisc.gameObject.GetComponent <Renderer>().enabled = false; if (blade1 != "") { bladeNames.Add(blade1); } if (blade2 != "") { bladeNames.Add(blade2); } if (blade3 != "") { bladeNames.Add(blade3); } if (blade4 != "") { bladeNames.Add(blade4); } if (blade5 != "") { bladeNames.Add(blade5); } if (blade6 != "") { bladeNames.Add(blade6); } for (int i = 0; i < bladeNames.Count; i++) { try { bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject); } catch { Log.info("FSplanePropellerSpinner: Unable to find blade called {0}, disabling swap", bladeNames[i]); useRotorDiscSwap = 0; } } } else { Log.info("FSplanePropellerSpinner: Unable to find rotor disc {0}, disabling swap", rotorDiscName); useRotorDiscSwap = 0; } } setBladeRendererState(true); } if (usesDeployAnimation) { deployAnimation = part.Modules.OfType <FSanimateGeneric>().FirstOrDefault(); } }
public override void OnStart(PartModule.StartState state) { base.OnStart(state); if (engineID == String.Empty || engineID == "") engine = new Firespitter.engine.FSengineWrapper(part); else engine = new Firespitter.engine.FSengineWrapper(part, engineID); if (engine.type == FSengineWrapper.EngineType.FSengine) { rotationSpeed = engine.fsengine.maxRPM; } propeller = part.FindModelTransform(propellerName); if (engine != null) { maxThrust = engine.maxThrust; } if (maxThrust <= 0f) // to avoid division by zero { maxThrust = 50f; } //assign blade meshes so they gan be hidden if (useRotorDiscSwap == 1) { if (duplicatedBlades) { blurObjects = part.FindModelTransforms(rotorDiscName); Transform[] bladeTransforms = part.FindModelTransforms(blade1); for (int i = 0; i < bladeTransforms.Length; i++) { bladeObjects.Add(bladeTransforms[i].gameObject); } } else { rotorDisc = part.FindModelTransform(rotorDiscName); if (rotorDisc != null) { rotorDisc.gameObject.GetComponent<Renderer>().enabled = false; if (blade1 != "") bladeNames.Add(blade1); if (blade2 != "") bladeNames.Add(blade2); if (blade3 != "") bladeNames.Add(blade3); if (blade4 != "") bladeNames.Add(blade4); if (blade5 != "") bladeNames.Add(blade5); if (blade6 != "") bladeNames.Add(blade6); for (int i = 0; i < bladeNames.Count; i++) { try { bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject); } catch { Debug.Log("FSplanePropellerSpinner: Unable to find blade called " + bladeNames[i] + ", disabling swap"); useRotorDiscSwap = 0; } } } else { Debug.Log("FSplanePropellerSpinner: Unable to find rotor disc " + rotorDiscName + ", disabling swap"); useRotorDiscSwap = 0; } } setBladeRendererState(true); } if (usesDeployAnimation) { deployAnimation = part.Modules.OfType<FSanimateGeneric>().FirstOrDefault(); } }
public void initialize() { if (!initialized) { engine = new FSengineWrapper(part); bladeNumberRaw = bladeNumber; engineLengthSliderRaw = engineLengthSlider; BladeLengthSliderRaw = bladeLengthSlider; //Debug.Log("FSpropellerTweak: find blade root"); Transform originalBlade = part.FindModelTransform(bladeRootName); if (originalBlade != null) { blades.Add(originalBlade.gameObject); } //Debug.Log("FSpropellerTweak: find exhaust"); //GameObject originalExhaust = GameObject.Find(exhaustName); Transform originalExhaust = part.FindModelTransform(exhaustName); if (originalExhaust != null) { exhausts.Add(originalExhaust.gameObject); } //Debug.Log("FSpropellerTweak: find engine extension"); Transform engineExtensionTransform = part.FindModelTransform(engineExtenderName); if (engineExtensionTransform != null) engineExtension = engineExtensionTransform.gameObject; //Debug.Log("FSpropellerTweak: find propeller root"); propellerRoot = part.FindModelTransform(propellerRootName); if (propellerRoot == null) Debug.Log("FSpropellerTweak: Nasty error, no propeller root found named " + propellerRootName); movableSection = part.FindModelTransform(movableSectionName); engineEndPoint = part.FindModelTransform(engineEndPointName); //centerOfMass = part.FindModelTransform(centerOfMassName); //Debug.Log("FSpropellerTweak: Blades: " + blades.Count); updateBladeList(); updateEngineLength(); updateBladeLength(); part.mass = finalWeight; initialized = true; } }