- Home /
Weapon switching with an animator and script.
Hi,
I'm currently trying to switch weapons in my script. Each of the weapons have an animator component and a script (to hold ammo and firing values) attached to them. The script attached to them is called 'Weapon_Base'. I can't quite figure out how to switch the weapon and weapon scripts at the same time. I believe the main problem is that it is not switching the 'Weapon_Base' script on the weapons.
I've included relevant parts the main script which is supposed to be switching the weapons below.
//animator
var animator : Animator; //stores the animator component
//weapon
var availableWeapons : GameObject[]; //an array of all available weapons
var currentWeapon : Weapon_Base; //the weapon currently being used
function Start () {
animator = GameObject.Find("AUG").GetComponent(Animator);//assigns Animator component when we start the game
var currentWeaponObject = availableWeapons[0];
currentWeapon = currentWeaponObject.GetComponent(Weapon_Base); //set the "currentWeapon" to this spawned weapon
}
function Update () {
if (Input.GetKeyDown("1"))
{
SelectWeapon(0); //selects the first weapon when '1' is pressed
animator = GameObject.Find("AUG").GetComponent(Animator);
}
if (Input.GetKeyDown("2"))
{
SelectWeapon(1); //selects the second weapon when '2' is pressed
animator = GameObject.Find("M9").GetComponent(Animator);
}
}
function SelectWeapon(index : int) //FUNCTION FOR SWAPING WEAPONS
{
for(var obj:GameObject in availableWeapons)obj.SetActive(false); //these lines just cycle through the weapons in the array
availableWeapons[index].SetActive(true); //selects one to be active, and the rest to be inactive
}
Your answer
Follow this Question
Related Questions
How to check for the same variable in multiple scripts (inside an array) ? 0 Answers
Why won't my character mesh move? 0 Answers
need help with [] 1 Answer
Switching Weapons (C#) 2 Answers
How to deal with different Weapon animations on Equip? 1 Answer