/// <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); } }
/// <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); } }