public ActorBrain(ContextActors context, string actor) { this.actor = actor; this.context = context; actorDialogs = new ActorDialogs(actor); actorMemory = new ActorMemoryDialogs(actor); }
public void ClearActorMemory(string actor) { ActorMemoryDialogs actorMemory = GetActorMemory(actor); if (actorMemory != null) { actorMemory.ClearAll(); } }
public void ReloadActorDialogs(string actor) { ActorMemoryDialogs actorMemory = GetActorMemory(actor); if (actorMemory != null) { actorMemory.ClearLastActorDialogResponse(); ClearActorDialogs(actor); dialogsLoader.LoadActorDialogs(actor, ""); } }
public DialogResponse DialogRequest(string actor, string text) { DialogResponse dialogResponse = null; ActorDialogs actorDialogs = GetActorDialogs(actor); ActorMemoryDialogs actorMemory = GetActorMemory(actor); if (actorDialogs != null && actorMemory != null) { text = NormalizeText(text); Debug.Log("NormalizeText: " + text); dialogResponse = actorDialogs.DialogRequest(actorMemory, text); actorMemory.AddDialogResponse(dialogResponse); } return(dialogResponse); }
public DialogResponse DialogRequest(ActorMemoryDialogs actorMemory, string text) { DialogResponse dialogResponse = null; Debug.Log("DialogInit.0. text = '" + text + "' / isInit = " + actorMemory.IsInit()); if (actorMemory.IsInit()) { dialogResponse = DialogRequest(dictPriorityListInitDialogs, actorMemory, text); actorMemory.SetIsInit(false); } else { dialogResponse = DialogRequest(dictPriorityListDialogs, actorMemory, text); } return(dialogResponse); }
/* * 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); }