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]); }
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); }
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]); }
public override void OnAfterProxyDeserialization() { base.OnAfterProxyDeserialization(); m_image = QuestMachine.GetImage(m_imageNameProxy); m_imageNameProxy = null; // Free memory. }