How do you assign a gameObject to an "Animator" with script?

Hello everyone,

I currently have an inventory system that causes an equipped item to be created in the players hands. The only problem is, the Animator (the arms) is left blank, since it the arms exist in the scene while the created item does not until now.

I was wanting to know if there is a way to assign a gameObject (the arms) to the Animator variable (for the weapon). (or if you know another way to do it?)

Below is the script I am using. it is attached to the created item.

I really appreciate your help on this! :smiley:

here is my script to play the animation once the flashlight is equipped. (I am also aware it is on “fire2” to play the animation)

#pragma strict

var TheDamage : int = 50;
var Distance : float;
var MaxDistance : float = 0.5;
var TheAnimator : Animator;
var DamageDelay : float = 0.6;

private var Swing01Streak = 0;
private var Swing02Streak = 0;


function Update () 
{
	if (Input.GetButtonDown("Fire2"))
	{
		AttackDamage ();
		
	}
}
function AttackDamage ()
{

	if (Random.value >= 0.5 && Swing01Streak <= 2)
	{
		TheAnimator.SetBool ("Swing01",true);
		Swing01Streak += 1; 
		Swing02Streak = 0;
	}
	
	else 
	{
		if (Swing02Streak <= 2)
		
		{
			TheAnimator.SetBool ("Swing02", true);
			Swing01Streak = 0;
			Swing02Streak += 1;
		}
			else 
			{
				TheAnimator.SetBool ("Swing01", true);
				Swing01Streak += 1;
				Swing02Streak = 0; 
				
			}
	}
	
	yield WaitForSeconds (DamageDelay);
	//Actual attacking
	var hit : RaycastHit;
	var ray = Camera.main.ScreenPointToRay (Vector3(Screen.width/2,Screen.height/2,0));
	if (Physics.Raycast (ray, hit))
	{
		Distance = hit.distance;
		if (Distance < MaxDistance)
		{
			hit.transform.SendMessage ("ApplyDamage", TheDamage, SendMessageOptions.DontRequireReceiver);
		}
	}
		TheAnimator.SetBool("Swing01",false);
		TheAnimator.SetBool("Swing02",false);
}

Found a way to get around it. Its working great now. :slight_smile: