コード例 #1
0
        private void AttempToIgniteEngine()
        {
            if (initialIgnitions < 0)
            {
                return;
            }

            if (remainingIgnitions > 0)
            {
                remainingIgnitions--;
            }
            else
            {
                var message = Localizer.Format("#LOC_KSPIE_FNSimpleEngineIgnatorFX_PostMsg5");//"Failed to ignite engine, no remaining ignitors!"
                Debug.Log("[KSPI]: " + message);
                ScreenMessages.PostScreenMessage(message, 10f, ScreenMessageStyle.UPPER_CENTER);

                _engineFX.part.Effects.Event(_engineFX.flameoutEffectName, _engineFX.transform.hierarchyCount);
                _engineFX.SetRunningGroupsActive(false);

                foreach (BaseEvent baseEvent in _engineFX.Events)
                {
                    if (baseEvent.name.IndexOf("shutdown", StringComparison.CurrentCultureIgnoreCase) >= 0)
                    {
                        baseEvent.Invoke();
                    }
                }
                _engineFX.SetRunningGroupsActive(false);
                _engineFX.maxFuelFlow = 1e-10f;
            }
        }