Launch animation from button on instantiated object.
Hi, I hope I can make this as clear as possible.
I can't find out how I can bind the Onclick button to an animator in a prefab. What I mean is when the scene has started there is nothing except the ui with button and the camera. When I press a button a monster apears (it has been Instantiated and so I have a clone of the prefab) in this monster I have my animator ocmponent with animations in it.
I have a second button and when I press it nothing works. Here is where I have my plublic function to call when the button is pressed (TakeAction):
public class ManageArthas : MonoBehaviour
{
private Animator arthasAnimator;
private string[] actions = { "Walk", "Attack", "Channel", "Ready" };
private int actionToStop = -1;
// Update is called once per frame
void Update()
{
arthasAnimator = GetComponent<Animator>();
if (arthasAnimator.GetBool("Walk"))
transform.Translate(Vector3.left * .9f * Time.deltaTime);
}
/// <summary>
/// Makes Arthas look at the camera.
/// </summary>
public void Lookat()
{
transform.LookAt(Camera.main.transform.position);
transform.eulerAngles = new Vector3(0, transform.eulerAngles.y + 90, 0);
}
/// <summary>
/// Stops the action animations and plays the wait animation.
/// </summary>
private void Stop()
{
if (actionToStop >= 0)
arthasAnimator.SetBool(actions[actionToStop], false);
arthasAnimator.SetBool("Stop", true);
actionToStop = -1;
}
/// <summary>
/// action is between 0 and 3. Stops the wait animation and set the action animation then stops it after 3 seconds.
/// </summary>
/// <param name="action"></param>
public void TakeAction(int action)
{
arthasAnimator = GetComponent<Animator>();
if (actionToStop < 0)
{
actionToStop = action;
arthasAnimator.SetBool("Stop", false);
arthasAnimator.SetBool(actions[action], true);
Invoke("Stop", 3);
}
}
}
This class is a component of my monster (Arthas) So when I link from the onclick button TakeAction with number 0, nothing happens. I tried putting arthas from when the scene starts (and linking the arthas from the scene to the button) and it works.
My question is how do I link the instasiated arthas to the button ?
I hope I was clear enough :)
Thans for the help !
Your answer
Follow this Question
Related Questions
Involve Instatiated objects in Animation 1 Answer
UI Text sometimes renders when instantiated, yet sometimes does not. 1 Answer
Playable was not disposed warning 1 Answer
change color of instantiated object 1 Answer
Unity [PUN] New Instantiated players cannot see previously instantiated players 0 Answers