1
votes

Tried to find this kind of problem around the net but failed so...

Here's the thing - I have a prefab gameobject that is to represent a unit, portrait more specifically. It has several scripts attached and an Animation component with two animations: Static and Selected.
The prefab is instantiated, moved freely and, after placing, it can be clicked to select it, which should, aside from executing a bit of code, start the Selected animation.

Using this code:

    void OnMouseDown(){
//
//Some inside stuff
//
    if (this.GetComponent<UnitHandling> ().thisUnit.Selected)
        this.animation.Play("Selected");
    if(this.animation.IsPlaying ("Selected"))
        Debug.Log("Animation of selection is playing");
}

I checked that the animation seems to be playing (at least the Debug message is showing) but I see no animation... What am I doing wrong?

1

1 Answers

1
votes

Try making an animation state using mechanim, and play it using this:

GetComponent<Animator>().CrossFade("Selected", 0);

https://docs.unity3d.com/Documentation/ScriptReference/Animator.CrossFade.html https://docs.unity3d.com/Documentation/Manual/MecanimAnimationSystem.html