void AddWeaponToList(Ammo_Tool weapon) { if (weaponsList.Contains(weapon)) { return; } weaponsList.Add(weapon); }
public void DropCurWeapon() { if (!currentWeapon) { return; } currentWeapon.SetEquipped(false); currentWeapon.SetOwner(null); weaponsList.Remove(currentWeapon); currentWeapon = null; }
public override void OnInspectorGUI() { base.OnInspectorGUI(); weapon = (Ammo_Tool)target; EditorGUILayout.LabelField("Weapon Helpers"); if (GUILayout.Button("Save gun equip location.")) { Transform weaponT = weapon.transform; Vector3 weaponPos = weaponT.localPosition; Vector3 weaponRot = weaponT.localEulerAngles; weapon.weaponSettings.equipPosition = weaponPos; weapon.weaponSettings.equipRotation = weaponRot; } if (GUILayout.Button("Save gun unequip location.")) { Transform weaponT = weapon.transform; Vector3 weaponPos = weaponT.localPosition; Vector3 weaponRot = weaponT.localEulerAngles; weapon.weaponSettings.unequipPosition = weaponPos; weapon.weaponSettings.unequipRotation = weaponRot; } EditorGUILayout.LabelField("Debug Positioning"); if (GUILayout.Button("Move gun to equip location")) { Transform weaponT = weapon.transform; weaponT.localPosition = weapon.weaponSettings.equipPosition; Quaternion eulerAngles = Quaternion.Euler(weapon.weaponSettings.equipRotation); weaponT.localRotation = eulerAngles; } if (GUILayout.Button("Move gun to unequip location")) { Transform weaponT = weapon.transform; weaponT.localPosition = weapon.weaponSettings.unequipPosition; Quaternion eulerAngles = Quaternion.Euler(weapon.weaponSettings.unequipRotation); weaponT.localRotation = eulerAngles; } }
//Switches to the next weapon public void SwitchWeapons() { if (settingWeapon || weaponsList.Count == 0) { return; } if (currentWeapon) { int currentWeaponIndex = weaponsList.IndexOf(currentWeapon); int nextWeaponIndex = (currentWeaponIndex + 1) % weaponsList.Count; currentWeapon = weaponsList[nextWeaponIndex]; } else { currentWeapon = weaponsList[0]; } settingWeapon = true; StartCoroutine(StopSettingWeapon()); // SetupWeapons (); }