mirror of
https://github.com/DerTyp7/defrain-shooter-unity.git
synced 2025-10-29 20:52:10 +01:00
Weapon Switching
+ started weapon switching + added only get active weapon (if you have rifle and pistole and you drop rifle you cant scroll to rifle slot)
This commit is contained in:
@@ -47,11 +47,12 @@ public class Shoot : NetworkBehaviour
|
|||||||
if (Input.GetButtonDown("Fire")) {
|
if (Input.GetButtonDown("Fire")) {
|
||||||
updateCanvas = true;
|
updateCanvas = true;
|
||||||
Debug.Log(" click");
|
Debug.Log(" click");
|
||||||
CmdFireBullet();
|
|
||||||
if (weapon.AllowAction)
|
if (weapon.AllowAction)
|
||||||
{
|
{
|
||||||
shootAnim.Recoil(0.1f);
|
shootAnim.Recoil(0.1f);
|
||||||
}
|
}
|
||||||
|
CmdFireBullet();
|
||||||
|
|
||||||
}
|
}
|
||||||
if (Input.GetButtonDown("Reload")) {
|
if (Input.GetButtonDown("Reload")) {
|
||||||
updateCanvas = true;
|
updateCanvas = true;
|
||||||
|
|||||||
@@ -8,24 +8,52 @@ public class WeaponManager : NetworkBehaviour
|
|||||||
{
|
{
|
||||||
public int currentWeaponIndex = 0;
|
public int currentWeaponIndex = 0;
|
||||||
public GameObject[] activeWeapons;
|
public GameObject[] activeWeapons;
|
||||||
|
private int counter = 0;
|
||||||
|
|
||||||
[SerializeField] Camera cam;
|
[SerializeField] Camera cam;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
activeWeapons = new GameObject[4];
|
activeWeapons = new GameObject[4];
|
||||||
|
for(int i = 0; i<4; i++)
|
||||||
|
{
|
||||||
|
activeWeapons[i] = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update() {
|
void Update() {
|
||||||
if (isLocalPlayer) {
|
if (isLocalPlayer) {
|
||||||
|
counter = 0;
|
||||||
if(Input.GetAxis("Mouse ScrollWheel") > 0f){ // Scroll up
|
if(Input.GetAxis("Mouse ScrollWheel") > 0f){ // Scroll up
|
||||||
if (currentWeaponIndex <= 0)
|
do
|
||||||
{ currentWeaponIndex = activeWeapons.Length; }
|
{
|
||||||
else { currentWeaponIndex--; }
|
if (currentWeaponIndex <= 0)
|
||||||
}else if (Input.GetAxis("Mouse ScrollWheel") < 0f){ // Scroll down
|
{
|
||||||
if (currentWeaponIndex >= activeWeapons.Length)
|
currentWeaponIndex = activeWeapons.Length - 1;
|
||||||
{ currentWeaponIndex = 0; }
|
}
|
||||||
else { currentWeaponIndex++; }
|
else
|
||||||
|
{
|
||||||
|
currentWeaponIndex--;
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
Debug.Log(activeWeapons[currentWeaponIndex]);
|
||||||
|
} while (activeWeapons[currentWeaponIndex] == null);
|
||||||
|
}
|
||||||
|
else if (Input.GetAxis("Mouse ScrollWheel") < 0f){ // Scroll down
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if (currentWeaponIndex >= activeWeapons.Length - 1)
|
||||||
|
{
|
||||||
|
currentWeaponIndex = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
currentWeaponIndex++;
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
Debug.Log(activeWeapons[currentWeaponIndex]);
|
||||||
|
} while (activeWeapons[currentWeaponIndex] == null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Input.GetButton("Interact")) // e
|
if (Input.GetButton("Interact")) // e
|
||||||
@@ -45,7 +73,7 @@ public class WeaponManager : NetworkBehaviour
|
|||||||
{
|
{
|
||||||
if (hit.transform.tag == "Weapon") // If Object is a weapon and the weapon is not in the current active weapons
|
if (hit.transform.tag == "Weapon") // If Object is a weapon and the weapon is not in the current active weapons
|
||||||
{
|
{
|
||||||
Destroy(hit.transform.gameObject);
|
|
||||||
switch (hit.transform.GetComponent<Weapon>().WeaponKind.ToString()) // Adding weapon to inventory slot
|
switch (hit.transform.GetComponent<Weapon>().WeaponKind.ToString()) // Adding weapon to inventory slot
|
||||||
{
|
{
|
||||||
case "Rifle": activeWeapons[0] = hit.transform.gameObject; break;
|
case "Rifle": activeWeapons[0] = hit.transform.gameObject; break;
|
||||||
@@ -58,13 +86,4 @@ public class WeaponManager : NetworkBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool isInArray(GameObject[] arr, GameObject searchObj)
|
|
||||||
{
|
|
||||||
foreach(GameObject obj in arr)
|
|
||||||
{
|
|
||||||
if (obj == searchObj) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user