// Token: 0x06000069 RID: 105 RVA: 0x00004B71 File Offset: 0x00002D71 private IEnumerator HandleConversation(PlayerController interactor) { SpriteOutlineManager.AddOutlineToSprite(base.sprite, Color.black); base.spriteAnimator.PlayForDuration("talk_start", 1f, "talk", false); interactor.SetInputOverride("npcConversation"); Pixelator.Instance.LerpToLetterbox(0.35f, 0.25f); yield return(null); int num; for (int conversationIndex = this.m_allowMeToIntroduceMyself ? 0 : (this.conversation.Count - 1); conversationIndex < this.conversation.Count - 1; conversationIndex = num + 1) { Tools.Print <string>(string.Format("Index: {0}", conversationIndex), "FFFFFF", false); TextBoxManager.ClearTextBox(this.talkPoint); TextBoxManager.ShowTextBox(this.talkPoint.position, this.talkPoint, -1f, this.conversation[conversationIndex], interactor.characterAudioSpeechTag, false, TextBoxManager.BoxSlideOrientation.NO_ADJUSTMENT, true, false); float timer = 0f; while (!BraveInput.GetInstanceForPlayer(interactor.PlayerIDX).ActiveActions.GetActionFromType(GungeonActions.GungeonActionType.Interact).WasPressed || timer < 0.4f) { timer += BraveTime.DeltaTime; yield return(null); } num = conversationIndex; } this.m_allowMeToIntroduceMyself = false; TextBoxManager.ShowTextBox(this.talkPoint.position, this.talkPoint, -1f, this.conversation[this.conversation.Count - 1], interactor.characterAudioSpeechTag, false, TextBoxManager.BoxSlideOrientation.NO_ADJUSTMENT, true, false); GameUIRoot.Instance.DisplayPlayerConversationOptions(interactor, null, this.acceptText, this.declineText); int selectedResponse = -1; while (!GameUIRoot.Instance.GetPlayerConversationResponse(out selectedResponse)) { yield return(null); } bool flag = selectedResponse == 0; bool flag2 = flag; if (flag2) { TextBoxManager.ClearTextBox(this.talkPoint); base.spriteAnimator.PlayForDuration("do_effect", 2f, "talk", false); while (base.spriteAnimator.CurrentFrame < 9) { yield return(null); } Action <PlayerController, GameObject> onAccept = this.OnAccept; bool flag3 = onAccept != null; if (flag3) { onAccept(interactor, base.gameObject); this.counterfoirfuckssakeWORK += 1f; } base.spriteAnimator.Play("talk"); TextBoxManager.ShowTextBox(this.talkPoint.position, this.talkPoint, 1f, "thenk uuuuuu!", interactor.characterAudioSpeechTag, false, TextBoxManager.BoxSlideOrientation.NO_ADJUSTMENT, false, false); yield return(new WaitForSeconds(1f)); onAccept = null; } else { Action <PlayerController, GameObject> onDecline = this.OnDecline; bool flag4 = onDecline != null; if (flag4) { onDecline(interactor, base.gameObject); } TextBoxManager.ClearTextBox(this.talkPoint); onDecline = null; } interactor.ClearInputOverride("npcConversation"); Pixelator.Instance.LerpToLetterbox(1f, 0.25f); base.spriteAnimator.Play("idle"); yield break; }