예제 #1
0
        /// <summary>
        /// 设置动作资源
        /// </summary>
        /// <param name="actionAsset"></param>
        public override void SetActionAsset(ActionAsset actionAsset)
        {
            // 清除原资源
            if (_actionAsset != null)
            {
                _actionAsset.Unuse();
            }

            _actionAsset = actionAsset;

            if (_actionAsset != null)
            {
                // 重设当前帧
                _gameObject.SetActive(true);
                frameIndex = _frameIndex;
                _actionAsset.Use();
                MaterialPropertyBlock mpb = new MaterialPropertyBlock();
                _renderer.GetPropertyBlock(mpb);
                mpb.SetTexture("_AlphaTex", _actionAsset.actionData.textureExtSprite.texture.alphaTexture);
                _renderer.SetPropertyBlock(mpb);
            }
            else
            {
                // 隐藏当前帧
                _renderer.sprite = null;
                _gameObject.SetActive(false);
            }
        }
예제 #2
0
        /// <summary>
        /// 设置动作资源
        /// </summary>
        /// <param name="actionAsset"></param>
        public virtual void SetActionAsset(ActionAsset actionAsset)
        {
            // 清除原资源
            if (_actionAsset != null)
            {
                _actionAsset.Unuse();
            }

            _actionAsset = actionAsset;

            if (_actionAsset != null)
            {
                // 重设当前帧
                _gameObject.SetActive(true);
                frameIndex = _frameIndex;
                _actionAsset.Use();
                _material.SetTexture("_AlphaTex", _actionAsset.actionData.textureExtSprite.texture.alphaTexture);
            }
            else
            {
                // 隐藏当前帧
                _renderer.sprite = null;
                _gameObject.SetActive(false);
                _material.SetTexture("_AlphaTex", null);
            }
        }