//TODO: Controls a lot of stuff, may want to refactor public void EquipWeapon(Weapon Weapon, bool pickup = false, GameObject obj = null, bool drop = false) { if (currentWeapon != null) { UnEquipWeapon(drop); } myStats.Equip(Weapon); if (pickup) { currentWeapon = obj; Transform t = currentWeapon.transform; t.parent = weaponHolder.transform; t.localPosition = Vector3.zero; t.rotation = weaponHolder.transform.rotation; } else { currentWeapon = Instantiate(Weapon.model, weaponHolder.transform.position, weaponHolder.transform.rotation, weaponHolder.transform); } weaponGfx = currentWeapon.transform.GetChild(0).gameObject; currentWeapon.GetComponent <Collider>().enabled = false; weaponAnim = currentWeapon.GetComponentInChildren <Animator>(); weaponDialogue = currentWeapon.GetComponent <DialogueTrigger>(); weaponDialogue.disableDialogueObject(); AttackEvent weapAttackEvent = currentWeapon.GetComponent <AttackEvent>(); weaponBox = weapAttackEvent.GetCollider(); weaponBox.enabled = false; weaponBoxScript = weapAttackEvent.GetWeapBoxScript(); weaponBoxScript.setDamage(myStats.Strength); }