Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        /// <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);
            }
        }
Esempio n. 5
0
        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);
        }