Hi all so i am making a game and i have some weapons that you can switch thought but i want it so it checks if you have picked it up also the weapons will be pick up from a box so i do not need code to get rid of it here is my code it is C++ ALSO this code here is to change weapons so i need something in here to check if the weapon has been pick up. I also need code to pick the weapon i know to do this but i need it in c++ so have no idea how to get it to pick up weapons
using UnityEngine;
public class switchweapons : MonoBehaviour
{
public Gun gunScript = null;
void Awake()
{
setMachineGun();
}
void Update()
{
if(Input.GetKey(KeyCode.Alpha1))
{
setMachineGun();
}
if (Input.GetKey(KeyCode.Alpha2))
{
setSingleFire();
}
if (Input.GetKey(KeyCode.Alpha3))
{
setShotgun();
}
if (Input.GetKey(KeyCode.Alpha4))
{
setNoob();
//setNoob();
}
if (Input.GetKey(KeyCode.Alpha5))
{
setRocket();
//setRocket();
}
}
void setMachineGun()
{
Debug.Log("Machinegun");
gunScript.typeOfGun = Gun.weaponType.Machinegun;
gunScript.bulletSpeed = 200.0f;
gunScript.baseSpread = 1.2f;
gunScript.maxSpread = 2.5f;
gunScript.maxPenetration = 5.0f;
gunScript.fireRate = 0.1f;
gunScript.kickBackAmount = 0.3f;
gunScript.kickBackRecovery = 0.3f;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
void setBurst()
{
Debug.Log("Burst");
gunScript.typeOfGun = Gun.weaponType.Burst;
gunScript.bulletSpeed = 200.0f;
gunScript.baseSpread = 1.1f;
gunScript.maxSpread = 1.8f;
gunScript.maxPenetration = 6.0f;
gunScript.fireRate = 0.6f;
gunScript.lagBetweenShots = 0.1f;
gunScript.kickBackAmount = 0.1f;
gunScript.kickBackRecovery = 0.1f;
gunScript.roundsPerBurst = 3;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
void setShotgun()
{
Debug.Log("ShotGun");
gunScript.typeOfGun = Gun.weaponType.Shotgun;
gunScript.bulletSpeed = 200.0f;
gunScript.baseSpread = 3.1f;
gunScript.maxSpread = 8.8f;
gunScript.maxPenetration = 3.0f;
gunScript.fireRate = 0.6f;
gunScript.kickBackAmount = 2.6f;
gunScript.kickBackRecovery = 2.6f;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
void setSingleFire()
{
Debug.Log("Single");
gunScript.typeOfGun = Gun.weaponType.Burst;
gunScript.bulletSpeed = 200.0f;
gunScript.baseSpread = 0.6f;
gunScript.maxSpread = 1.8f;
gunScript.maxPenetration = 6.0f;
gunScript.fireRate = 0.05f;
gunScript.lagBetweenShots = 0.1f;
gunScript.kickBackAmount = 0.1f;
gunScript.kickBackRecovery = 0.1f;
gunScript.roundsPerBurst = 1;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
void setNoob()
{
Debug.Log("Noob Tube");
gunScript.typeOfGun = Gun.weaponType.Launcher;
gunScript.typeOfLauncher = Gun.LauncherType.Grenade;
gunScript.bulletSpeed = 45.0f;
gunScript.baseSpread = 0.5f;
gunScript.maxSpread = 1.0f;
gunScript.fireRate = 1.6f;
gunScript.kickBackAmount = 4.6f;
gunScript.kickBackRecovery = 4.6f;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
void setRocket()
{
Debug.Log("Rocket Launcher");
gunScript.typeOfGun = Gun.weaponType.Launcher;
gunScript.typeOfLauncher = Gun.LauncherType.Rocket;
gunScript.bulletSpeed = 40.0f;
gunScript.baseSpread = 2.1f;
gunScript.maxSpread = 4.5f;
gunScript.fireRate = 1.6f;
gunScript.kickBackAmount = 0.3f;
gunScript.kickBackRecovery = 0.3f;
gunScript.numberOfClips = gunScript.maxNumberOfClips;
}
}