public virtual void SetData(string saveString, params object[] otherData) { SaveObject ds = JsonUtility.FromJson <SaveObject>(saveString); ID = ds.ID; FollowerData original; if (otherData[0] is PersistentSetFollowerData) { PersistentSetFollowerData allFollowers = (PersistentSetFollowerData)otherData[0]; original = allFollowers.First(it => it.ID == ID); } else { original = otherData[0] as FollowerData; if (SizeOfSprite == original.SizeOfSprite) { return; // This object may have been create based on the original. In which case, we don't need to do any copying } } ID = original.ID; SizeOfSprite = original.SizeOfSprite; SideIdleAnimation = original.SideIdleAnimation; RandomAnimation = original.RandomAnimation; MinTimeBetweenRandomAnims = original.MinTimeBetweenRandomAnims; MaxTimeBetweenRandomAnims = original.MaxTimeBetweenRandomAnims; }
public override void SetData(string saveString, params object[] otherData) { SaveObject ds = JsonUtility.FromJson <SaveObject>(saveString); ID = ds.ID; if (AllItems != null && ds.Entries != null) { Items.Clear(); foreach (string data in ds.Entries) { Items.Add(new SellableItem(data, AllItems)); } } FollowerData original; if (otherData[0] is PersistentSetFollowerData) { PersistentSetFollowerData allFollowers = (PersistentSetFollowerData)otherData[0]; original = allFollowers.First(it => it.ID == ID); } else { original = otherData[0] as FollowerData; if (SizeOfSprite == original.SizeOfSprite && SideIdleAnimation == original.SideIdleAnimation) { return; // This object may have been create based on the original. In which case, we don't need to do any copying } } ID = original.ID; SizeOfSprite = original.SizeOfSprite; SideIdleAnimation = original.SideIdleAnimation; RandomAnimation = original.RandomAnimation; MinTimeBetweenRandomAnims = original.MinTimeBetweenRandomAnims; MaxTimeBetweenRandomAnims = original.MaxTimeBetweenRandomAnims; AllItems = ((ShopFollower)original).AllItems; if (ds.Entries == null) { Items = ((ShopFollower)original).Items; } AfterCreated(); }
public override void SetData(string saveString, params object[] otherData) { SaveObject ds = JsonUtility.FromJson <SaveObject>(saveString); ID = ds.ID; Level = ds.Level; EnemyData original; if (otherData[0] is PersistentSetFollowerData) { PersistentSetFollowerData allFollowers = (PersistentSetFollowerData)otherData[0]; original = allFollowers.First(it => it.ID == ID) as EnemyData; } else { original = otherData[0] as EnemyData; if (Idle == original.Idle) { return; // This object may have been create based on the original. In which case, we don't need to do any copying } } // Copy Original Values Idle = original.Idle; Flinch = original.Flinch; BeforeAttack = original.BeforeAttack; AttackExecute = original.AttackExecute; AfterAttack = original.AfterAttack; Death = original.Death; Dead = original.Dead; Walking = original.Walking; ElementalWeaknesses = original.ElementalWeaknesses; ElementalDamageType = original.ElementalDamageType; base.SetData(saveString, original); }