VoiceServiceRequestEvents.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the license found in the
  6. * LICENSE file in the root directory of this source tree.
  7. */
  8. using System;
  9. using Meta.Voice;
  10. using Meta.WitAi.Json;
  11. using UnityEngine.Events;
  12. namespace Meta.WitAi.Requests
  13. {
  14. /// <summary>
  15. /// A set of events associated with a Voice Service activation.
  16. /// </summary>
  17. [Serializable]
  18. public class VoiceServiceRequestEvents
  19. : NLPRequestEvents<VoiceServiceRequestEvent>
  20. {
  21. }
  22. /// <summary>
  23. /// A UnityEvent with a parameter of VoiceServiceRequest
  24. /// </summary>
  25. [Serializable]
  26. public class VoiceServiceRequestEvent : UnityEvent<VoiceServiceRequest> {}
  27. /// <summary>
  28. /// A base class to provide quick overridable methods that map to events from VoiceServiceRequestEvents.
  29. /// </summary>
  30. public class VoiceServiceRequestEventsWrapper
  31. {
  32. /// <summary>
  33. /// Adds all listeners for VoiceServiceRequestEvents to overridable methods
  34. /// </summary>
  35. /// <param name="events"></param>
  36. public void Wrap(VoiceServiceRequestEvents events)
  37. {
  38. events.OnCancel.AddListener(OnCancel);
  39. events.OnComplete.AddListener(OnComplete);
  40. events.OnFailed.AddListener(OnFailed);
  41. events.OnInit.AddListener(OnInit);
  42. events.OnSend.AddListener(OnSend);
  43. events.OnSuccess.AddListener(OnSuccess);
  44. events.OnAudioActivation.AddListener(OnAudioActivation);
  45. events.OnAudioDeactivation.AddListener(OnAudioDeactivation);
  46. events.OnFullResponse.AddListener(OnFullResponse);
  47. events.OnPartialResponse.AddListener(OnPartialResponse);
  48. events.OnPartialTranscription.AddListener(OnPartialTranscription);
  49. events.OnFullTranscription.AddListener(OnFullTranscription);
  50. events.OnStartListening.AddListener(OnStartListening);
  51. events.OnStopListening.AddListener(OnStopListening);
  52. events.OnStateChange.AddListener(OnStateChange);
  53. events.OnDownloadProgressChange.AddListener(OnDownloadProgressChange);
  54. events.OnUploadProgressChange.AddListener(OnUploadProgressChange);
  55. events.OnAudioInputStateChange.AddListener(OnAudioInputStateChange);
  56. }
  57. /// <summary>
  58. /// Removes all listeners for the provided VoiceServiceRequestEvents event object.
  59. /// </summary>
  60. /// <param name="events"></param>
  61. public void Unwrap(VoiceServiceRequestEvents events)
  62. {
  63. events.OnCancel.RemoveListener(OnCancel);
  64. events.OnComplete.RemoveListener(OnComplete);
  65. events.OnFailed.RemoveListener(OnFailed);
  66. events.OnInit.RemoveListener(OnInit);
  67. events.OnSend.RemoveListener(OnSend);
  68. events.OnSuccess.RemoveListener(OnSuccess);
  69. events.OnAudioActivation.RemoveListener(OnAudioActivation);
  70. events.OnAudioDeactivation.RemoveListener(OnAudioDeactivation);
  71. events.OnFullResponse.RemoveListener(OnFullResponse);
  72. events.OnPartialResponse.RemoveListener(OnPartialResponse);
  73. events.OnPartialTranscription.RemoveListener(OnPartialTranscription);
  74. events.OnFullTranscription.RemoveListener(OnFullTranscription);
  75. events.OnStartListening.RemoveListener(OnStartListening);
  76. events.OnStopListening.RemoveListener(OnStopListening);
  77. events.OnStateChange.RemoveListener(OnStateChange);
  78. events.OnDownloadProgressChange.RemoveListener(OnDownloadProgressChange);
  79. events.OnUploadProgressChange.RemoveListener(OnUploadProgressChange);
  80. events.OnAudioInputStateChange.RemoveListener(OnAudioInputStateChange);
  81. }
  82. protected virtual void OnAudioInputStateChange(VoiceServiceRequest request)
  83. {
  84. }
  85. protected virtual void OnUploadProgressChange(VoiceServiceRequest request)
  86. {
  87. }
  88. protected virtual void OnDownloadProgressChange(VoiceServiceRequest request)
  89. {
  90. }
  91. protected virtual void OnStateChange(VoiceServiceRequest request)
  92. {
  93. }
  94. protected virtual void OnStopListening(VoiceServiceRequest request)
  95. {
  96. }
  97. protected virtual void OnStartListening(VoiceServiceRequest request)
  98. {
  99. }
  100. protected virtual void OnFullTranscription(string transcription)
  101. {
  102. }
  103. protected virtual void OnPartialTranscription(string transcription)
  104. {
  105. }
  106. protected virtual void OnPartialResponse(WitResponseNode request)
  107. {
  108. }
  109. protected virtual void OnFullResponse(WitResponseNode request)
  110. {
  111. }
  112. protected virtual void OnAudioDeactivation(VoiceServiceRequest request)
  113. {
  114. }
  115. protected virtual void OnAudioActivation(VoiceServiceRequest request)
  116. {
  117. }
  118. protected virtual void OnSuccess(VoiceServiceRequest request)
  119. {
  120. }
  121. protected virtual void OnSend(VoiceServiceRequest request)
  122. {
  123. }
  124. protected virtual void OnInit(VoiceServiceRequest request)
  125. {
  126. }
  127. protected virtual void OnFailed(VoiceServiceRequest request)
  128. {
  129. }
  130. protected virtual void OnComplete(VoiceServiceRequest request)
  131. {
  132. }
  133. protected virtual void OnCancel(VoiceServiceRequest request)
  134. {
  135. }
  136. }
  137. }