void ParseItemJson() { itemList = new List <Item>(); TextAsset itemText = Resources.Load <TextAsset>("ItemJson"); string itemStr = itemText.text; JSONObject j = new JSONObject(itemStr); foreach (JSONObject temp in j.list) { int id = (int)temp["Id"].n; string name = temp["Name"].str; Item.ItemQuality quality = (Item.ItemQuality)System.Enum.Parse(typeof(Item.ItemQuality), temp["Quality"].str); string description = temp["Description"].str; int capacity = (int)temp["Capacity"].n; int buyPrice = (int)temp["BuyPrice"].n; int salePrice = (int)temp["SalePrice"].n; string sprite = temp["Sprite"].str; string typeStr = temp["ItemType"].str; Item.ItemTypeEnum itemType = (Item.ItemTypeEnum)System.Enum.Parse(typeof(Item.ItemTypeEnum), typeStr); Item item = null; switch (itemType) { case Item.ItemTypeEnum.Consumable: int hp = int.Parse(temp["Hp"].ToString()); int mp = int.Parse(temp["Mp"].ToString()); item = new Consumable(hp, mp, id, name, itemType, quality, description, capacity, buyPrice, salePrice, sprite); break; case Item.ItemTypeEnum.Equipment: int strength = int.Parse(temp["Strength"].ToString()); int Intelligence = int.Parse(temp["Intelligence"].ToString()); int agility = int.Parse(temp["Agility"].ToString()); int stamina = int.Parse(temp["Stamina"].ToString()); Equipment.EquipType equipmentType = (Equipment.EquipType)System.Enum.Parse(typeof(Equipment.EquipType), temp["EquipmentType"].str); item = new Equipment(strength, Intelligence, agility, stamina, equipmentType, id, name, itemType, quality, description, capacity, buyPrice, salePrice, sprite); break; case Item.ItemTypeEnum.Weapon: int damage = int.Parse(temp["Damage"].ToString()); Weapon.WeaponEnum weaponType = (Weapon.WeaponEnum)System.Enum.Parse(typeof(Weapon.WeaponEnum), temp["WeaponType"].str); item = new Weapon(damage, weaponType, id, name, itemType, quality, description, capacity, buyPrice, salePrice, sprite); break; case Item.ItemTypeEnum.Material: break; default: break; } itemList.Add(item); } }
public void WeaponChanged(Weapon.WeaponEnum weaponEnum) { switch (weaponEnum) { case Weapon.WeaponEnum.Fists: GetComponent <Animator>().runtimeAnimatorController = _ogAnimator; InitializeAnimatorOverrideController(); _thirdPersonCharacter.ChangeAnimator(); _thirdPersonUserControl.ChangeAnimator(); break; case Weapon.WeaponEnum.Gloves: GetComponent <Animator>().runtimeAnimatorController = _ogAnimator; InitializeAnimatorOverrideController(); _thirdPersonCharacter.ChangeAnimator(); _thirdPersonUserControl.ChangeAnimator(); break; case Weapon.WeaponEnum.Knife: GetComponent <Animator>().runtimeAnimatorController = _ogAnimator; InitializeAnimatorOverrideController(); _thirdPersonCharacter.ChangeAnimator(); _thirdPersonUserControl.ChangeAnimator(); _clipOverrides["Uppercut"] = Clips.KnifeAttackAnimationClip; _clipOverrides["idleLoco"] = Clips.KnifeIdleAnimationClip; break; case Weapon.WeaponEnum.WarHammer: GetComponent <Animator>().runtimeAnimatorController = _animatorAxe; InitializeAnimatorOverrideController(); _thirdPersonCharacter.ChangeAnimator(); _thirdPersonUserControl.ChangeAnimator(); break; case Weapon.WeaponEnum.Gun: GetComponent <Animator>().runtimeAnimatorController = _animatorGun; InitializeAnimatorOverrideController(); _thirdPersonCharacter.ChangeAnimator(); _thirdPersonUserControl.ChangeAnimator(); break; default: throw new ArgumentOutOfRangeException("weaponEnum", weaponEnum, null); } _animatorOverrideController.ApplyOverrides(_clipOverrides); }