コード例 #1
0
            public RequirementSerializable Serialize()
            {
                var serializable = new RequirementSerializable();

                serializable.Requirements = Requirements?.Select(item => item.Serialize()).ToArray();
                return(serializable);
            }
コード例 #2
0
        public Requirement_None(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            Requirements = new ImmutableCollection <Requirement>(serializable.Requirements?.Select(item => Requirement.Create(item, loader)));

            OnDataDeserialized(serializable, loader);
        }
コード例 #3
0
            public RequirementSerializable Serialize()
            {
                var serializable = new RequirementSerializable();

                serializable.Loot = Loot.Serialize();
                return(serializable);
            }
コード例 #4
0
        public void Load(RequirementSerializable serializable, Database database)
        {
            MinValue = new NumericValue <int>(serializable.MinValue, -100, 100);
            MaxValue = new NumericValue <int>(serializable.MaxValue, -100, 100);

            OnDataDeserialized(serializable, database);
        }
コード例 #5
0
            public RequirementSerializable Serialize()
            {
                var serializable = new RequirementSerializable();

                serializable.Faction = Faction.Id;
                return(serializable);
            }
コード例 #6
0
            public RequirementSerializable Serialize()
            {
                var serializable = new RequirementSerializable();

                serializable.ItemId = Quest.Id;
                return(serializable);
            }
コード例 #7
0
        public static RequirementData Deserialize(RequirementSerializable serializable, Database database)
        {
            var data = new RequirementData(serializable, database);

            data.CreateContent(serializable, database);
            return(data);
        }
コード例 #8
0
        public Requirement_QuestActive(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            Quest = loader.GetQuest(new ItemId <QuestModel>(serializable.ItemId));

            OnDataDeserialized(serializable, loader);
        }
コード例 #9
0
        public void Load(RequirementSerializable serializable, Database database)
        {
            QuestItem = database.GetQuestItemId(serializable.ItemId);
            Amount    = new NumericValue <int>(serializable.MinValue, 1, 1000000);

            OnDataDeserialized(serializable, database);
        }
コード例 #10
0
        public void Load(RequirementSerializable serializable, Database database)
        {
            Minutes = new NumericValue <int>(serializable.MinValue, 0, 999999);
            Hours   = new NumericValue <int>(serializable.MaxValue, 0, 999999);

            OnDataDeserialized(serializable, database);
        }
コード例 #11
0
 public void Save(ref RequirementSerializable serializable)
 {
     serializable.MinValue  = MinValue.Value;
     serializable.MaxValue  = MaxValue.Value;
     serializable.Character = Character.Value;
     OnDataSerialized(ref serializable);
 }
コード例 #12
0
        public Requirement_HaveItemById(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            Loot = loader.GetLoot(new ItemId <LootModel>(serializable.ItemId));

            OnDataDeserialized(serializable, loader);
        }
コード例 #13
0
        public Requirement_HaveItem(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            Loot = LootContent.Create(serializable.Loot, loader);

            OnDataDeserialized(serializable, loader);
        }
コード例 #14
0
        public Requirement_Faction(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            Faction = loader.GetFaction(new ItemId <Faction>(serializable.Faction));

            OnDataDeserialized(serializable, loader);
        }
コード例 #15
0
 private void CreateContent(RequirementSerializable serializable, Database database)
 {
     if (serializable.Type == RequirementType.HaveItemById)
     {
         Content = new Content_HaveItemById(serializable, database);
     }
     else if (serializable.Type == RequirementType.HaveQuestItem)
     {
         Content = new Content_HaveQuestItem(serializable, database);
     }
     else if (serializable.Type == RequirementType.QuestCompleted)
     {
         Content = new Content_QuestCompleted(serializable, database);
     }
     else if (serializable.Type == RequirementType.QuestActive)
     {
         Content = new Content_QuestActive(serializable, database);
     }
     else if (serializable.Type == RequirementType.PlayerPosition)
     {
         Content = new Content_PlayerPosition(serializable, database);
     }
     else if (serializable.Type == RequirementType.RandomStarSystem)
     {
         Content = new Content_RandomStarSystem(serializable, database);
     }
     else if (serializable.Type == RequirementType.CharacterRelations)
     {
         Content = new Content_CharacterRelations(serializable, database);
     }
     else if (serializable.Type == RequirementType.FactionRelations)
     {
         Content = new Content_FactionRelations(serializable, database);
     }
     else if (serializable.Type == RequirementType.Faction)
     {
         Content = new Content_Faction(serializable, database);
     }
     else if (serializable.Type == RequirementType.HaveItem)
     {
         Content = new Content_HaveItem(serializable, database);
     }
     else if (serializable.Type == RequirementType.All)
     {
         Content = new Content_All(serializable, database);
     }
     else if (serializable.Type == RequirementType.Any)
     {
         Content = new Content_Any(serializable, database);
     }
     else if (serializable.Type == RequirementType.None)
     {
         Content = new Content_None(serializable, database);
     }
     else
     {
         Content = new Content_Empty();
     }
 }
コード例 #16
0
 public Content_QuestActive(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     Quest = database.GetQuestId(serializable.ItemId);
 }
コード例 #17
0
        public Requirement_PlayerPosition(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            MinValue = UnityEngine.Mathf.Clamp(serializable.MinValue, 0, 10000);
            MaxValue = UnityEngine.Mathf.Clamp(serializable.MaxValue, 0, 10000);

            OnDataDeserialized(serializable, loader);
        }
コード例 #18
0
        public Requirement(RequirementSerializable serializable, Database database)
        {
            Type     = serializable.Type;
            _content = CreateContent(serializable.Type);
            _content.Load(serializable, database);

            OnDataDeserialized(serializable, database);
        }
コード例 #19
0
        public Requirement_HaveQuestItem(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            QuestItem = loader.GetQuestItem(new ItemId <QuestItem>(serializable.ItemId));
            Amount    = UnityEngine.Mathf.Clamp(serializable.MinValue, 1, 1000000);

            OnDataDeserialized(serializable, loader);
        }
コード例 #20
0
        public Requirement_FactionRelations(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            MinValue = UnityEngine.Mathf.Clamp(serializable.MinValue, -100, 100);
            MaxValue = UnityEngine.Mathf.Clamp(serializable.MaxValue, -100, 100);

            OnDataDeserialized(serializable, loader);
        }
コード例 #21
0
 public Content_HaveItemById(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     Loot = database.GetLootId(serializable.ItemId);
 }
コード例 #22
0
 public Content_None(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     Requirements = serializable.Requirements?.Select(item => RequirementData.Deserialize(item, database)).ToArray();
 }
コード例 #23
0
        public Requirement_RandomStarSystem(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            MinValue = UnityEngine.Mathf.Clamp(serializable.MinValue, 0, 10000);
            MaxValue = UnityEngine.Mathf.Clamp(serializable.MaxValue, 0, 10000);

            OnDataDeserialized(serializable, loader);
        }
コード例 #24
0
 public Content_HaveItem(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     Loot = LootContentData.Deserialize(serializable.Loot, database);
 }
コード例 #25
0
 public Content_Faction(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     Faction = database.GetFactionId(serializable.Faction);
 }
コード例 #26
0
            public RequirementSerializable Serialize()
            {
                var serializable = new RequirementSerializable();

                serializable.MinValue = MinValue.Value;
                serializable.MaxValue = MaxValue.Value;
                return(serializable);
            }
コード例 #27
0
        public Requirement_CharacterRelations(RequirementSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            MinValue  = UnityEngine.Mathf.Clamp(serializable.MinValue, -100, 100);
            MaxValue  = UnityEngine.Mathf.Clamp(serializable.MaxValue, -100, 100);
            Character = loader.GetCharacter(new ItemId <Character>(serializable.Character));

            OnDataDeserialized(serializable, loader);
        }
コード例 #28
0
 public Content_PlayerPosition(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     MinValue = new NumericValue <int>(serializable.MinValue, 0, 1000);
     MaxValue = new NumericValue <int>(serializable.MaxValue, 0, 1000);
 }
コード例 #29
0
 public Content_RandomStarSystem(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     MinValue = new NumericValue <int>(serializable.MinValue, 0, 1000);
     MaxValue = new NumericValue <int>(serializable.MaxValue, 0, 1000);
 }
コード例 #30
0
 public Content_FactionRelations(RequirementSerializable serializable, Database database)
 {
     if (serializable == null || database == null)
     {
         return;
     }
     MinValue = new NumericValue <int>(serializable.MinValue, -100, 100);
     MaxValue = new NumericValue <int>(serializable.MaxValue, -100, 100);
 }