Class UnityComponent

java.lang.Object
edu.tufts.hrilab.diarc.DiarcComponent
edu.tufts.hrilab.unity.UnityComponent

public class UnityComponent extends DiarcComponent
Provides a socket-based connection to Unity for message passing from and to TRADE services.
  • Constructor Details

    • UnityComponent

      public UnityComponent()
  • Method Details

    • init

      protected void init()
      Description copied from class: DiarcComponent
      Perform any component initialization. This should not be used for setting local fields to default values as was the case in DIARC. This method is called after the constructor, and after parseArgs. Setting default values should be done in field declaration or in the constructor.
      Overrides:
      init in class DiarcComponent
    • additionalUsageInfo

      protected List<org.apache.commons.cli.Option> additionalUsageInfo()
      Description copied from class: DiarcComponent
      Command line options available in sub-class. This should be paired with a parseArgs implementation.
      Overrides:
      additionalUsageInfo in class DiarcComponent
      Returns:
    • parseArgs

      protected void parseArgs(org.apache.commons.cli.CommandLine cmdLine)
      Description copied from class: DiarcComponent
      Called directly after construction to pass runtime values that will override default values. This should parse all the options that additionalUsageInfo provides.zs
      Overrides:
      parseArgs in class DiarcComponent
    • executionLoop

      protected void executionLoop()
      Description copied from class: DiarcComponent
      This is where any code that needs to be called repeatedly in a dedicated thread should live. It is not called by default and you must set shouldRunExecutionLoop to true in your constructor.
      Overrides:
      executionLoop in class DiarcComponent
    • onReceive

      public void onReceive(Message msg)
      Method for passing messages received from the Unity socket server to all Unity agents which register TRADE services for receiving messages.
      Parameters:
      msg - - Message received from Unity.
    • proxyMessage

      protected void proxyMessage(Message msg, String tradeServiceName)
      Method for proxying Message to specified TRADE service.
      Parameters:
      msg - - Message from Unity to proxy.
      tradeServiceName - - TRADE service to receive message.
    • parseMessage

      public Message parseMessage(String str)
      Parse JSON from string to Message type.
      Parameters:
      str - - Serialized string of JSON originating from Unity.
    • sendMessage

      public void sendMessage(Message msg)
      Send message via local socket client.
      Parameters:
      msg - - Message to send to Unity.
    • getResponse

      public Message getResponse(Message msg)
    • unitySendMessage

      public boolean unitySendMessage(Message msg)
      Exposes sendMessage() to TRADE.
      Parameters:
      msg - - Message to send to Unity.
    • unityGetResponse

      public List<String> unityGetResponse(Message msg)
      Exposes getResponse() to TRADE.
      Parameters:
      msg - - Message to send to Unity.
    • sayText

      public boolean sayText(Symbol actor, String text)
      TRADE service which allows agent to speak within Unity. Uses as Unity-based TTS to synthesize speech in simulation.
      Parameters:
      text - - String of message for agent to speak in Unity