I’ve been trying to figure this out for a long time now. I have an animation that plays just fin the first time round. I deactivate the canvas panel with the associated animation in order to show an other panel. But when I reactivate my Laser Charge animation panel what happens is it plays the sound effect just fine, but my animation does not play, it just shows the final state of the animation (Last frame)
So I’m not sure what I’m doing wrong??
//animator reference
private Animator animLaserUp;
void Start () {
//unpause the game on start
//Time.timeScale = 1;
//get the animator component
animLaserUp = LaserChargeAni.GetComponent<Animator>();
//disable it on start to stop it from playing the default animation
animLaserUp.enabled = false;
//anim.enabled = true;
//DontDestroyOnLoad(this.gameObject);
}
public void LaserNoise1()
{
SFXmanager SFXl = FindObjectOfType<SFXmanager> ();
SFXl.PlayLaserChargingSFX ();
}
public void StartLaserCharge(){
StartCoroutine(LaserCharge());
}
IEnumerator LaserCharge(){
yield return new WaitForSeconds (0.9f); // wait time
LaserChargeAni.SetActive (true);
animLaserUp.enabled = true;
SFXmanager SFXl = FindObjectOfType<SFXmanager> ();
SFXl.PlayLaserChargingSFX ();
animLaserUp.Play("LaserChargeUpAni");
yield return new WaitForSeconds (5.0f); // wait time
animLaserUp.enabled = false;
LaserChargeAni.SetActive (false);
//MainPanel.SetActive (true);
//Return to main screen
//CameraSwitcher cs1 = FindObjectOfType<CameraSwitcher>();
//cs1.EnableCamera1();
LaserScopeScreenManager LSCM = FindObjectOfType<LaserScopeScreenManager>();
LSCM.LaserCamStart ();
LaserScopePanel.SetActive(true);
masterPanelManagerObject.LaserScopePanelActive = true;
yield return new WaitForSeconds (0.2f); // wait time
LaserChargePanel.SetActive (false);
}