Exemple #1
0
 private QuestData(QuestSerializable serializable, Database database)
 {
     ItemId         = new ItemId <QuestData>(serializable.Id, serializable.FileName);
     Name           = serializable.Name;
     QuestType      = serializable.QuestType;
     StartCondition = serializable.StartCondition;
     Weight         = new NumericValue <float>(serializable.Weight, 0f, 1000f);
     Requirement    = RequirementData.Deserialize(serializable.Requirement, database);
     Level          = new NumericValue <int>(serializable.Level, 0, 1000);
     Nodes          = serializable.Nodes?.Select(item => NodeData.Deserialize(item, database)).ToArray();
 }
Exemple #2
0
        public QuestModel(QuestSerializable serializable, Database database)
        {
            Id             = new ItemId <QuestModel>(serializable.Id, serializable.FileName);
            Name           = serializable.Name;
            QuestType      = serializable.QuestType;
            StartCondition = serializable.StartCondition;
            Weight         = new NumericValue <float>(serializable.Weight, 0f, 1000f);
            Requirement    = new Requirement(serializable.Requirement, database);
            Level          = new NumericValue <int>(serializable.Level, 0, 1000);
            Nodes          = serializable.Nodes?.Select(item => new Node(item, database)).ToArray();

            OnDataDeserialized(serializable, database);
        }
Exemple #3
0
        private QuestModel(QuestSerializable serializable, Database.Loader loader)
        {
            Id = new ItemId <QuestModel>(serializable.Id);
            loader.AddQuest(serializable.Id, this);

            Name           = serializable.Name;
            QuestType      = serializable.QuestType;
            StartCondition = serializable.StartCondition;
            Weight         = UnityEngine.Mathf.Clamp(serializable.Weight, 0f, 1000f);
            Requirement    = Requirement.Create(serializable.Requirement, loader);
            Level          = UnityEngine.Mathf.Clamp(serializable.Level, 0, 1000);
            Nodes          = new ImmutableCollection <Node>(serializable.Nodes?.Select(item => Node.Create(item, loader)));

            OnDataDeserialized(serializable, loader);
        }
Exemple #4
0
        public QuestSerializable Serialize()
        {
            var serializable = new QuestSerializable();

            serializable.Id             = ItemId.Id;
            serializable.FileName       = ItemId.Name;
            serializable.ItemType       = (int)ItemType.Quest;
            serializable.Name           = Name;
            serializable.QuestType      = QuestType;
            serializable.StartCondition = StartCondition;
            serializable.Weight         = Weight.Value;
            serializable.Requirement    = Requirement.Serialize();
            serializable.Level          = Level.Value;
            serializable.Nodes          = Nodes?.Select(item => item.Serialize()).ToArray();
            return(serializable);
        }
Exemple #5
0
 public void Save(QuestSerializable serializable)
 {
     serializable.Name           = Name;
     serializable.QuestType      = QuestType;
     serializable.StartCondition = StartCondition;
     serializable.Weight         = Weight.Value;
     serializable.Requirement    = Requirement.Serialize();
     serializable.Level          = Level.Value;
     if (Nodes == null || Nodes.Length == 0)
     {
         serializable.Nodes = null;
     }
     else
     {
         serializable.Nodes = Nodes.Select(item => item.Serialize()).ToArray();
     }
     OnDataSerialized(ref serializable);
 }
Exemple #6
0
 partial void OnDataSerialized(ref QuestSerializable serializable);
Exemple #7
0
 partial void OnDataDeserialized(QuestSerializable serializable, Database database);
Exemple #8
0
 public static QuestModel Create(QuestSerializable serializable, Database.Loader loader)
 {
     return(new QuestModel(serializable, loader));
 }
Exemple #9
0
 partial void OnDataDeserialized(QuestSerializable serializable, Database.Loader loader);
Exemple #10
0
 public static QuestData Deserialize(QuestSerializable serializable, Database database)
 {
     return(new QuestData(serializable, database));
 }