Exemple #1
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);
            }
        }