Beispiel #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);
        }
    }
Beispiel #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;
        }
Beispiel #3
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);
            }
        }
Beispiel #4
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);
    }
Beispiel #5
0
            public SellableItem(string data, PersistentSetItem allItems)
            {
                StringReader sr             = new StringReader(data);
                int          id             = int.Parse(sr.ReadLine());
                int          amount         = int.Parse(sr.ReadLine());
                int          level          = int.Parse(sr.ReadLine());
                string       additionalInfo = sr.ReadLine();
                Item         original       = allItems.First(it => it.ID == id);

                if (original is ISaveable)
                {
                    Item = Instantiate(original);
                    Item.CreatedFromOriginal = true;
                    ((ISaveable)Item).SetData(additionalInfo, original);
                }
                else
                {
                    Item = original;
                }
                Amount = amount;
                Level  = level;
            }