private void TriggerCaseOne(string recipientId) { var flow = new DialogueFlow(recipientId); var messageData = flow.GetCaseOne(); _messageSender.CallSendAPI(messageData); }
public bool MessageHandled(dynamic message) { var result = message.account_linking != null; if (result) { string senderID = message.sender.id; var recipientID = message.recipient.id; string status = message.account_linking.status; string authCode = message.account_linking.authorization_code; _logger.LogInformation( string.Format("Received account link event with for user {0} with status {1} " + "and auth code {2} ", senderID, status, authCode)); if (authCode == "1") { var flow = new DialogueFlow(senderID); var messageData = flow.GetCaseThree(); _messageSender.CallSendAPI(messageData); } else if (authCode == "2") { var flow = new DialogueFlow(senderID); var messageData = flow.GetSuccessCase(); _messageSender.CallSendAPI(messageData); } } return(result); }
public bool MessageHandled(dynamic message) { var result = message.postback != null; if (result) { string senderID = message.sender.id; string recipientID = message.recipient.id; string timeOfPostback = message.timestamp; // The 'payload' param is a developer-defined field which is set in a postback // button for Structured Messages. var payload = message.postback.payload; string pyldText = payload.ToString(); _logger.LogInformation( string.Format("Received postback for user {0} and page {1} with payload '{2}' " + "at {3}", senderID, recipientID, pyldText, timeOfPostback)); if (pyldText == "1") { var flow = new DialogueFlow(senderID); var messageData = flow.GetCaseTwo(); _messageSender.CallSendAPI(messageData); } else if (pyldText == "5") { var flow = new DialogueFlow(senderID); var messageData = flow.GetCaseThree(); _messageSender.CallSendAPI(messageData); } else if (pyldText == "6") { _messageSender.SendTextMessage(senderID, "Thank you!"); } } return(result); }
public void OnTextChanged(DialogueFlow dialogue, TextData text, List <TextAnswerData> answers, SettingsData settings) { // Select and open a skin if (settings.Skin == "") { settings.Skin = (dialogue.DefaultSkin != "") ? dialogue.DefaultSkin : DefaultSkin; } DialogueSystemUISkin skin; if (!_activeSkins.TryGetValue(dialogue.Behaviour, out skin) || skin.Name != settings.Skin) { skin = ActivateSkin(dialogue.Behaviour, settings.Skin); } if (skin != null) { // Set the actor's name and portrait string name = text.Name; Sprite portrait = text.Portrait; if (dialogue.Behaviour.ActorEnabled) { if (name == "") { name = dialogue.Behaviour.ActorName; } if (portrait == null) { portrait = dialogue.Behaviour.ActorPortrait; } } if (name == "") { name = dialogue.Behaviour.gameObject.name; } skin.SetText(name, portrait, text.Text); } }
public void OnTextChanged(DialogueFlow dialogue, TextData text, List <TextAnswerData> answers, SettingsData settings) { _behaviour = dialogue.Behaviour; // Select and open a skin if (settings.Skin == "") { settings.Skin = (dialogue.DefaultSkin != "") ? dialogue.DefaultSkin : DefaultSkin; } SelectSkin(settings.Skin); if (_activeSkin == null) { RunemarkDebug.Warning(settings.Skin + " skin doesn't exists in this canvas: " + gameObject.name); return; } // Stop the audio if currently playing if (_audioSource.isPlaying) { _audioSource.Stop(); } // Set the actor's name and portrait string name = text.Name; Sprite portrait = text.Portrait; _activeSkin.SetText(name, portrait, text.Text); _activeSkin.HideInputAnswer(); _activeSkin.HideAnswers(0); // Set the answers int cnt = 0; foreach (var a in answers) { if (a.UseCustomUI) { _activeSkin.SetCustomAnswer(a.UIElementName, a); } else if (answers.Count > cnt) { _activeSkin.SetAnswer(cnt, a); cnt++; } } // _activeSkin.HideAnswers(cnt); // Play Audio if any if (text.Audio != null) { _audioStopTime = text.AudioEndTime; _audioSource.clip = text.Audio; _audioSource.time = text.AudioStartTime; if (text.AudioDelay > 0) { _audioSource.PlayDelayed(text.AudioDelay); } else { _audioSource.Play(); } } // Set the timer if (_behaviour.Timer != null && cnt > 0) { _activeSkin.StartTimer(_behaviour.Timer.Seconds); } else { _activeSkin.HideTimer(); } }