예제 #1
0
    public void SetData(string saveString, params object[] otherData)
    {
        DummySave entries = JsonUtility.FromJson <DummySave>(saveString);

        InventoryEntries.Clear();
        foreach (InventoryEntry.InventoryEntryWithID entry in entries.Entries)
        {
            Item it = AllItems.First(d => d.ID == entry.Id);

            if (it is ISaveable)
            {
                it = Instantiate(it);
                it.CreatedFromOriginal = true;
                ((ISaveable)it).SetData(entry.AdditionalInfo, it);
            }

            InventoryEntry ie = new InventoryEntry()
            {
                Item   = it,
                Amount = entry.Amount,
            };

            InventoryEntries.Add(ie);
        }
    }
예제 #2
0
        public void SetData(string saveString, params object[] otherData)
        {
            DummySave ds = JsonUtility.FromJson <DummySave>(saveString);

            ID            = ds.ID;
            Random        = ds.Random;
            IsMarkedTrash = ds.Trash;
            Level         = ds.Level;

            SetValuesBasedOnRandom();

            if (CreatedFromOriginal)
            {
                return;
            }

            Armor original;

            if (otherData[0] is PersistentSetItem)
            {
                PersistentSetItem allItems = (PersistentSetItem)otherData[0];
                original = allItems.First(it => it.ID == ID) as Armor;
            }
            else
            {
                original = otherData[0] as Armor;
            }

            // Copy Original Values
            //OnAfterObtained(original);
            base.CopyValues(original);
            ArmorAtLevel0     = original.ArmorAtLevel0;
            ElementalWeakness = original.ElementalWeakness;
        }
예제 #3
0
    public string GetSaveString()
    {
        DummySave ds = new DummySave();

        InventoryEntries.ForEach(e => ds.Entries.Add(e.GetIdEntry()));
        return(JsonUtility.ToJson(ds));
    }
예제 #4
0
        public override void SetData(string saveString, params object[] otherData)
        {
            DummySave ds = JsonUtility.FromJson <DummySave>(saveString);

            ActiveQuest <T, TVar, TEvent> original;

            if (otherData[0] is PersistentSetQuest)
            {
                PersistentSetQuest quests = otherData[0] as PersistentSetQuest;
                original = quests.First(q => q.ID == ds.ID) as ActiveQuest <T, TVar, TEvent>;
            }
            else if (otherData[0] is ActiveQuest <T, TVar, TEvent> )
            {
                original = (ActiveQuest <T, TVar, TEvent>)otherData[0];
            }
            else
            {
                throw new Exception("Wtf");
            }

            ID                = original.ID;
            TotalAmount       = original.TotalAmount;
            NextQuest         = original.NextQuest;
            Area              = original.Area;
            StartConversation = original.StartConversation;
            EndConversation   = original.EndConversation;
            AmountToReach     = original.AmountToReach;
        }
예제 #5
0
        public void SetData(string saveString, params object[] otherData)
        {
            DummySave ds = JsonUtility.FromJson <DummySave>(saveString);

            ID     = ds.ID;
            Random = ds.Random;
            TapsWithWeapon.Value = ds.Taps;
            MarkedAsTrash        = ds.Trash;
            Level = ds.Level;

            if (ds.EnchantID != -1 && CreatedFromOriginal)
            {
                Enchanter og = DataManager.Instance.AllItems.First(it => it.ID == ds.EnchantID) as Enchanter;
                Enchantment = Instantiate(og);
                Enchantment.CreatedFromOriginal = true;
                Enchantment.SetData(ds.EnchantSave, og);
            }

            SetValuesBasedOnRandom();

            if (CreatedFromOriginal)
            {
                return;
            }

            Weapon original;

            if (otherData[0] is PersistentSetItem)
            {
                PersistentSetItem allItems = (PersistentSetItem)otherData[0];
                original = allItems.First(it => it.ID == ID) as Weapon;
            }
            else
            {
                original = otherData[0] as Weapon;
            }

            // Copy Original Values
            base.CopyValues(original);
            DamageAtLevel0 = original.DamageAtLevel0;
            LevelUp        = original.LevelUp;

            if (ds.EnchantID != -1)
            {
                Enchanter og = DataManager.Instance.AllItems.First(it => it.ID == ds.EnchantID) as Enchanter;
                Enchantment = Instantiate(og);
                Enchantment.CreatedFromOriginal = true;
                Enchantment.SetData(ds.EnchantSave, og);
            }
        }
예제 #6
0
        public override void SetData(string saveString, params object[] otherData)
        {
            PersistentSetPassiveQuest quests = otherData[0] as PersistentSetPassiveQuest;
            DummySave ds = JsonUtility.FromJson <DummySave>(saveString);

            CollectItemQuest original = quests.First(q => q.ID == ds.ID) as CollectItemQuest;

            startAmount = ds.StartAmount;

            ID              = original.ID;
            Item            = original.Item;
            AmountToCollect = original.AmountToCollect;
            startAmount     = original.startAmount;
            TotalCollected  = original.TotalCollected;
        }
예제 #7
0
        public override void SetData(string saveString, params object[] otherData)
        {
            PersistentSetPassiveQuest quests = otherData[0] as PersistentSetPassiveQuest;
            DummySave ds = JsonUtility.FromJson<DummySave>(saveString);

            EnemySlayerQuest original = quests.First(q => q.ID == ds.ID) as EnemySlayerQuest;

            startAmount = ds.StartAmount;

            ID = original.ID;
            Enemy = original.Enemy;
            TotalToKill = original.TotalToKill;
            startAmount = original.startAmount;
            KilledCount = original.KilledCount;
        }
예제 #8
0
    public void SetData(string saveString, params object[] otherData)
    {
        DummySave ds = JsonUtility.FromJson <DummySave>(saveString);

        ID         = ds.ID;
        Level      = ds.Level;
        RandomRoll = ds.RandomRoll;

        if (Level == -1)
        {
            Level = 1;
        }
        if (RandomRoll == -1)
        {
            RollMod();
        }

        SetValuesBasedOnRandom();

        if (CreatedFromOriginal)
        {
            return;
        }

        Headgear original;

        if (otherData[0] is PersistentSetItem)
        {
            PersistentSetItem allItems = (PersistentSetItem)otherData[0];
            original = allItems.First(it => it.ID == ID) as Headgear;
        }
        else
        {
            original = otherData[0] as Headgear;
        }

        HealthGainedAtLevel0 = original.HealthGainedAtLevel0;

        // Copy Original Values
        base.CopyValues(original);
    }