protected override void OnDraw(Rect bounds) { var isEva = (FlightGlobals.ActiveVessel?.isEVA).ToTriState(); if (evaOnly != TriState.UseDefault && evaOnly != isEva) { return; } var situation = SituationExtensions.Extend(FlightGlobals.ActiveVessel?.situation, isEva, false); var fallback = SituationExtensions.Extend(FlightGlobals.ActiveVessel?.situation, isEva, true); TokenizedText = (situations.ContainsKey(situation)) ? situations[situation] : situations[fallback]; base.OnDraw(bounds); }
protected override void OnDraw(Rect bounds) { TriState isEva = (FlightGlobals.ActiveVessel?.isEVA).ToTriState(); if (evaOnly != TriState.UseDefault && evaOnly != isEva) { return; } ExtendedSituation situation = SituationExtensions.Extend(FlightGlobals.ActiveVessel?.situation, isEva, false); ExtendedSituation fallback = SituationExtensions.Extend(FlightGlobals.ActiveVessel?.situation, isEva, true); ExtendedSituation extendedSituation = situationTokenizedTexts.ContainsKey(situation) ? situation : fallback; List <List <Token> > texts = situationTokenizedTexts[extendedSituation]; // debug // Historian.Print($"Random text: {isRandom}, Reset: {resetOnLaunch}, Index: {messageIndices[extendedSituation]}, isEva: {isEva}, situation: {extendedSituation}, #Messages: {texts.Count}"); if (texts != null && texts.Count < 1) { return; } UpdateMessageIndex(extendedSituation); try { TokenizedText = texts[messageIndices[extendedSituation]]; } catch (Exception e) { TokenizedText = TokenizedError; Historian.Print($"TextList error: {e.Message}, situation: {extendedSituation}, index: {messageIndices[extendedSituation]}"); } base.OnDraw(bounds); lastVessel = FlightGlobals.ActiveVessel; lastDraw = DateTime.Now; }