public void setNonVerbalAct(ComputationalAct nonVerbalAct)
 {
     _computationalAct = nonVerbalAct;
 }
        public static DialogueAction StringToDialogueAction(String[] args)
        {
            CommunicativeAct commAct = new CommunicativeAct();
            ComputationalAct compAct = new ComputationalAct();

            //Ignore first two args: vrDMRLTrain agentID
            for (int i = 2; i < args.Length; i++)
            {
                switch (args[i])
                {
                    //Communicative acts
                    case "PRESENT_NEWS": { commAct.setCommActType(COMMUNICATIVE_ACT.PRESENT_NEWS); break; }
                    //Rapport strategies (part of communicative acts)
                    case "INIT_SELF_DISC": { commAct.setRapportActType(RAPPORT_STRATEGY.INIT_SELF_DISC); break; }
                    case "REFER_SHARED_EXP": { commAct.setRapportActType(RAPPORT_STRATEGY.REFER_SHARED_EXP); break; }
                    case "INTIMATE_PERSONAL_INFO": { commAct.setRapportActType(RAPPORT_STRATEGY.INTIMATE_PERSONAL_INFO); break; }
                    case "RECIPROCAL_APPRECIATION": { commAct.setRapportActType(RAPPORT_STRATEGY.RECIPROCAL_APPRECIATION); break; }
                    case "VIOLATE_NORMS": { commAct.setRapportActType(RAPPORT_STRATEGY.VIOLATE_NORMS); break; }
                    case "RECIPROCATE_PREV_ACT": { commAct.setRapportActType(RAPPORT_STRATEGY.RECIPROCATE_PREV_ACT); break; }
                    case "ACKNOWLEDGE": { commAct.setRapportActType(RAPPORT_STRATEGY.ACKNOWLEDGE); break; }
                    case "PRAISE": { commAct.setRapportActType(RAPPORT_STRATEGY.PRAISE); break; }
                    case "NEGATIVE_SELF_DISC": { commAct.setRapportActType(RAPPORT_STRATEGY.NEGATIVE_SELF_DISC); break; }
                    case "EMB_LAUGHTER": { commAct.setRapportActType(RAPPORT_STRATEGY.EMB_LAUGHTER); break; }
                    //Computational Acts
                    case "RETRIEVE_EMAIL": { compAct.setActType(COMPUTATIONAL_ACT.RETRIEVE_EMAIL); break; }
                    case "DELETE_EMAIL": { compAct.setActType(COMPUTATIONAL_ACT.DELETE_EMAIL); break; }
                    case "RETRIEVE_NEWS": { compAct.setActType(COMPUTATIONAL_ACT.RETRIEVE_NEWS); break; }
                    default: { break; }
                }
            }

            return new DialogueAction(commAct, compAct);
        }
 public DialogueAction(CommunicativeAct commAct, ComputationalAct compAct)
 {
     _communicativeAct = commAct;
     _computationalAct = compAct;
 }
 public DialogueAction(ComputationalAct compAct)
 {
     _computationalAct = compAct;
 }
 public bool Equals(ComputationalAct rhs)
 {
     if (Object.ReferenceEquals(rhs, null))
     {
         return false;
     }
     if (Object.ReferenceEquals(rhs, this))
     {
         return true;
     }
     return this == rhs;
 }
 public ComputationalAct(ComputationalAct rhs)
 {
     _type = rhs.getActType();
 }