Пример #1
0
        private static void ApplyIconQuestContentProxyData(IconQuestContent iconQuestContent, string s)
        {
            if (iconQuestContent == null || s == null)
            {
                return;
            }
            var fields = s.Split(';');

            if (fields.Length < 3)
            {
                return;
            }
            iconQuestContent.count        = SafeConvert.ToInt(fields[0]);
            iconQuestContent.image        = string.IsNullOrEmpty(fields[1]) ? null : QuestMachine.GetImage(fields[1]);
            iconQuestContent.originalText = new StringField(fields[2]);
        }
Пример #2
0
 public void CopyTo(Quest quest)
 {
     if (quest == null)
     {
         Debug.LogWarning("Quest Machine: QuestProxy.CopyTo destination quest is null.");
         return;
     }
     quest.isInstance                      = isInstance;
     quest.id                              = new StringField(id);
     quest.title                           = new StringField(displayName);
     quest.group                           = new StringField(group);
     quest.labels                          = StringsToStringFields(labels);
     quest.icon                            = QuestMachine.GetImage(iconPath);
     quest.questGiverID                    = new StringField(giver);
     quest.isTrackable                     = isTrackable;
     quest.showInTrackHUD                  = track;
     quest.isAbandonable                   = isAbandonable;
     quest.rememberIfAbandoned             = rememberIfAbandoned;
     quest.autostartConditionSet           = autostartConditionSet.CreateConditionSet();
     quest.offerConditionSet               = offerConditionSet.CreateConditionSet();
     quest.offerConditionsUnmetContentList = QuestContentProxy.CreateList(offerUnmetContentList);
     quest.offerContentList                = QuestContentProxy.CreateList(offerContentList);
     quest.maxTimes                        = maxTimes;
     quest.timesAccepted                   = timesAccepted;
     quest.UpdateCooldown();
     quest.cooldownSeconds          = cooldownSecs;
     quest.cooldownSecondsRemaining = cooldownSecsRemain;
     quest.stateInfoList            = QuestStateInfoProxy.CreateList(stateInfoList);
     quest.counterList        = QuestCounterProxy.CreateList(counterList);
     quest.nodeList           = QuestNodeProxy.CreateList(nodeList);
     quest.tagDictionary      = new TagDictionary(tags);
     quest.indicatorStates    = QuestIndicatorStateRecordProxy.ArrayToDictionary(indicators);
     quest.goalEntityTypeName = goalEntity;
     quest.SetRuntimeReferences();
     quest.SetState(state, false);
     QuestNodeProxy.CopyStatesTo(nodeList, quest);
 }
Пример #3
0
        private static void ApplyButtonQuestContentProxyData(ButtonQuestContent buttonQuestContent, string s)
        {
            if (buttonQuestContent == null || s == null)
            {
                return;
            }
            var fields = s.Split(';');

            if (fields.Length < 4)
            {
                return;
            }
            buttonQuestContent.count          = SafeConvert.ToInt(fields[0]);
            buttonQuestContent.image          = string.IsNullOrEmpty(fields[1]) ? null : QuestMachine.GetImage(fields[1]);
            buttonQuestContent.originalText   = new StringField(fields[2]);
            buttonQuestContent.m_actionsProxy = JsonUtility.FromJson <QuestActionProxyContainer>(fields[3]);
        }
Пример #4
0
 public override void OnAfterProxyDeserialization()
 {
     base.OnAfterProxyDeserialization();
     m_image          = QuestMachine.GetImage(m_imageNameProxy);
     m_imageNameProxy = null; // Free memory.
 }