Example #1
0
    /*
     * public DialogResponse DialogRequest2(ActorMemoryDialogs actorMemory, string text)
     * {
     *  DialogResponse dialogResponse = null;
     *  DialogRequest dialogRequest = new DialogRequest(text);
     *
     *  Debug.Log("DialogInit.0. text = '" + text + "' / isInit = "+ actorMemory.IsInit());
     *
     *  if (actorMemory.IsInit())
     *  {
     *      dialogResponse = DialogRequest(dictPriorityListInitDialogs, actorMemory, text);
     *      actorMemory.SetIsInit(false);
     *      return dialogResponse;
     *  }
     *
     *  dialogResponse = new DialogResponse();
     *
     *  foreach (int priority in dictListPriorityDialogs.Keys)
     *  {
     *      Debug.Log("DialogInit.4. priority = " + priority);
     *
     *      List<Dialog> listDialogs = GetDialogsPriority(priority, false);
     *      foreach (Dialog dialog in listDialogs)
     *      {
     *          dialog.Eval(dialogRequest, dialogResponse);
     *          if (dialogResponse.IsValid()) return dialogResponse;
     *      }
     *  }
     *  return null;
     * }
     */

    public DialogResponse DialogRequest(DictPriorityListItems <Dialog> dictPriorityListItems, ActorMemoryDialogs actorMemory, string text)
    {
        DialogResponse dialogResponse;
        DialogRequest  dialogRequest = new DialogRequest(text);

        Debug.Log("DialogInit.0. text = '" + text + "' / isInit = " + actorMemory.IsInit());

        dialogResponse = new DialogResponse();

        foreach (int priority in dictPriorityListItems.GetListPriorities())
        {
            Debug.Log("DialogInit.4. priority = " + priority);

            List <Dialog> listDialogs = dictPriorityListItems.GetPriorityList(priority);
            foreach (Dialog dialog in listDialogs)
            {
                dialog.Eval(dialogRequest, dialogResponse);
                if (dialogResponse.IsValid())
                {
                    return(dialogResponse);
                }
            }
        }
        return(null);
    }
Example #2
0
    public ActorDialogs(string actor)
    {
        this.actor = actor;

        // listDialogsInit = new List<Dialog>();
        listAllDialogs  = new List <Dialog>();
        dictListDialogs = new Dictionary <string, List <Dialog> >();
        // dictListPriorityDialogs = new SortedList<int, List<Dialog>>();

        dictPriorityListInitDialogs = new DictPriorityListItems <Dialog>();
        dictPriorityListDialogs     = new DictPriorityListItems <Dialog>();

        dictRefConditions = new Dictionary <string, dynamic>();
    }