protected override void Awake() { base.Awake(); Debug.Log($"DialogueConversationController: Loaded {m_Sprites.Length} sprite(s)."); // When a text phase event is processed from the dialogue system and it didn't have choices, this will post // a delayed dialogue continuation to make it look like the other person was typing. Posts the length // of the output for the purposes of making an appropriate delay. var lastChoice = -1; CompositeDisposable subscriptions = null; m_ChatBoxController.choices .Subscribe(choice => { lastChoice = choice.index; }) .AddTo(this); profile .Where(item => item != null) .Subscribe(item => { m_DatingProfileView.data = item; m_ConversationController.conversantName = profile.Value.name; }) .AddTo(this); selectedDialogue .StartWith((DialogueItem)null) .Pairwise() .Subscribe(dialogues => { var oldDialogue = dialogues.Previous; var newDialogue = dialogues.Current; if (oldDialogue == newDialogue || newDialogue == null) { return; } subscriptions?.Dispose(); subscriptions = ResumeStory(newDialogue, oldDialogue); AnalyticsEvent.Custom("chat_with", new Dictionary <string, object>() { { "on_profile", profile.Value?.name } }); var eventHitBuilder1 = new EventHitBuilder() .SetEventCategory("conversation") .SetEventAction("chat_with") .SetEventLabel(profile.Value?.name); GoogleAnalyticsV4.getInstance().LogEvent(eventHitBuilder1); }) .AddTo(this); }