public QuestNode AddDiscussQuestNode(QuestNode parent, QuestMessageParticipant targetSpecifier, StringField targetID, bool isOptional = false) { var node = AddConditionNode(parent, "talkTo" + targetID, "Talk to " + targetID, ConditionCountMode.All, isOptional); AddMessageCondition(node, QuestMessageParticipant.Quester, new StringField(), targetSpecifier, targetID, new StringField(QuestMachineMessages.DiscussedQuestMessage), quest.id); return(node); }
public MessageQuestCondition AddMessageCondition(QuestNode node, QuestMessageParticipant senderSpecifier, string senderID, QuestMessageParticipant targetSpecifier, string targetID, string message, string parameter, MessageValue value = null) { return(AddMessageCondition(node, senderSpecifier, new StringField(targetID), targetSpecifier, new StringField(targetID), new StringField(message), new StringField(parameter), value)); }
public void CopyFrom(QuestCounterMessageEvent messageEvent) { if (messageEvent == null) { Debug.LogWarning("Quest Machine: QuestCounterMessageEventProxy.CopyFrom source is null."); return; } sndSpec = messageEvent.senderSpecifier; snd = StringField.GetStringValue(messageEvent.senderID); tgtSpec = messageEvent.targetSpecifier; tgt = StringField.GetStringValue(messageEvent.targetID); msg = StringField.GetStringValue(messageEvent.message); parm = StringField.GetStringValue(messageEvent.parameter); op = messageEvent.operation; val = messageEvent.literalValue; }
/// <summary> /// Returns the ID string (pre-ReplaceTags) for a participant specifier. /// </summary> /// <param name="specifier"></param> /// <param name="id"></param> /// <returns></returns> public static StringField GetIDBySpecifier(QuestMessageParticipant specifier, StringField id) { switch (specifier) { case QuestMessageParticipant.Any: return(StringField.empty); case QuestMessageParticipant.Quester: return(QuesterIDStringField); case QuestMessageParticipant.QuestGiver: return(QuestGiverIDStringField); default: return(id); } }
public MessageQuestCondition AddMessageCondition(QuestNode node, QuestMessageParticipant senderSpecifier, StringField senderID, QuestMessageParticipant targetSpecifier, StringField targetID, StringField message, StringField parameter, MessageValue value = null) { var condition = MessageQuestCondition.CreateInstance <MessageQuestCondition>(); condition.name = "messageCondition"; condition.senderSpecifier = senderSpecifier; condition.senderID = senderID; condition.targetSpecifier = targetSpecifier; condition.targetID = targetID; condition.message = message; condition.parameter = parameter; condition.value = (value != null) ? value : new MessageValue(); node.conditionSet.conditionList.Add(condition); return(condition); }