private void Reset() { mCurrentItem = new InventoryItem(); newItemName = "New Item"; newItemIcon = null; newItemDesc = "New Description"; newItemType = Enums.eItemType.Consumable; newItemValue = 0; newItemRarity = Enums.eRarity.Common; Themes = new List <Enums.eLevelTheme>((int)Enums.eLevelTheme.All); Difficulties = new List <Enums.eDifficulty>((int)Enums.eDifficulty.All); // consumable newConsumableType = Enums.eConsumableType.Recovery; newRecoveryStatType = Enums.eConsumableStatType.HP; recoveryAmount = 0; newStatType = Enums.eStatType.HP; statBoostAmount = 0; newEffectType = Enums.eStatusEffect.All; weaponUpgradeAmount = 0; // stat boosts newBoostType = Enums.eStatBoostType.Basic; StatToBoost = Enums.eStatType.HP; BoostAmount = 0; LongTermEffect = Enums.eLongTermEffectType.HP; LongTermDelay = 0f; LongTermAmount = 0; ResistEffect = Enums.eStatusEffect.All; ResistPercent = 0f; // equippables MinEquipType = Enums.eMinEquipRequirementType.None; MinLevelToEquip = 0; MinStatType = Enums.eStatType.HP; MinStatLevel = 0; UsableClasses = new List <Enums.eClassType>((int)Enums.eClassType.All); UsableRaces = new List <Enums.eRaceType>((int)Enums.eRaceType.All); // armours newArmourType = Enums.eArmourLocation.Head; BodySlots = 0; // weapons BaseWeaponDamage = 0; WeaponEffect = Enums.eStatusEffect.None; WeaponMultiTarget = false; WeaponRangeType = Enums.eWeaponType.Melee; MeleeTwoHanded = false; Range = 0f; MagicFocusType = Enums.eMagicFocusType.Self; MagicType = Enums.eMagicType.Support; MagicRadius = 1f; MagicEffect = Enums.eStatusEffect.None; MagicCost = 0; }
private void SpawnItemObject(Enums.eItemType type, InventoryItem data, Vector3 spawnPos) { GameObject itemObj = (GameObject)Instantiate(m_ItemPrefabs[(int)type], spawnPos, Quaternion.identity); Item item = itemObj.GetComponent<Item>(); item.SetData(data); // play particles m_ItemSpawnEffect.transform.parent.gameObject.transform.position = spawnPos; // this is truely horrible m_ItemSpawnEffect.Play(); // put down a marker GameObject markerObj = (GameObject)Instantiate(m_ItemMarkerObj, null); item.AssignMarkerObject(markerObj.transform); // for fun! Rigidbody rb = itemObj.GetComponent<Rigidbody>(); rb.AddForce(Vector3.up * 7f, ForceMode.Impulse); rb.AddTorque(itemObj.transform.right * 2f, ForceMode.Impulse); }