public override void OnInspectorGUI()
    {
        AnimSampler sampler = target as AnimSampler;

        if (sampler == null)
        {
            return;
        }

        if (!_isInitialized)
        {
            _animator          = sampler.GetComponent <Animator>();
            _animationClipsArr = FindAnimClips(_animator);
            _animNamesArr      = FindAnimsNames(_animationClipsArr);
            _isInitialized     = true;
        }

        _currentAnimIndex = EditorGUILayout.Popup("Current Anim", _currentAnimIndex, _animNamesArr);

        if (_isPlaying)
        {
            if (GUILayout.Button("Stop"))
            {
                StopAnim();
            }
        }
        else
        {
            if (GUILayout.Button("Play"))
            {
                PlayAnim();
            }
        }
    }
Exemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            // as keyword can only be used for references and sets pointer to null if cast fails instead of running an exception
            AnimSampler sampler = target as AnimSampler;

            if (sampler == null)
            {
                return;
            }

            if (!isInitialized)
            {
                animator      = sampler.GetComponent <Animator>();
                animClipsArr  = FindAnimClips(animator);
                animNamesArr  = FindAnimNames(animClipsArr);
                isInitialized = true;
            }

            currentAnimIndex = EditorGUILayout.Popup("Current Anim", currentAnimIndex, animNamesArr);

            if (isPlaying)
            {
                if (GUILayout.Button("Stop"))
                {
                    StopAnim();
                    isPlaying = false;
                }
            }
            else
            {
                if (GUILayout.Button("Play"))
                {
                    PlayAnim();
                    isPlaying = true;
                }
            }
        }