protected bool CreateMeshEffect(UEffectMeshParam _effectParam)
        {
            UEffectNode node = _effectParam.AttachParent.GetComponent <UEffectNode>();

            if (node == null)
            {
                node            = _effectParam.AttachParent.gameObject.AddComponent <UEffectNode>();
                node.EffectType = UEffectType.UET_EffectMesh;
            }

            var nodeMesh = node.To <UEffectNodeData_Mesh>();

            if (node && nodeMesh != null && _effectParam.MeshObjectList.Count > 0)
            {
                node.UnRegisterEffectNode();

                nodeMesh.MeshRTTSize = _effectParam.RTTSize;
                //node.GetRectTransform.sizeDelta = _effectParam.DisplaySize;

                nodeMesh.EffectMeshCamera.AttachObject     = _effectParam.MeshCamrea.AttachObject;
                nodeMesh.EffectMeshCamera.IsAttachToObject = _effectParam.MeshCamrea.IsAttachToObject;
                nodeMesh.EffectMeshCamera.FOV            = _effectParam.MeshCamrea.FOV;
                nodeMesh.EffectMeshCamera.PositionOffset = _effectParam.MeshCamrea.PositionOffset;
                nodeMesh.EffectMeshCamera.Rotation       = _effectParam.MeshCamrea.Rotation;

                nodeMesh.EffectMeshObjectList.AddRange(_effectParam.MeshObjectList);

                node.RegisterEffectNode();

                _effectParam.MeshCamrea.Camera = nodeMesh.EffectMeshCamera.Camera;
                _effectParam.MeshRenderNode    = node;
            }
            return(true);
        }
        protected bool DestroyMeshEffect(UEffectMeshParam _effectParam)
        {
            UEffectNode node;

            if (_effectParam.MeshRenderNode != null)
            {
                node = _effectParam.MeshRenderNode;
            }
            else
            {
                node = _effectParam.AttachParent.GetComponent <UEffectNode>();
            }
            if (node == null)
            {
                return(true);
            }

            node.UnRegisterEffectNode();
            _effectParam.AttachParent.gameObject.RemoveComponent <UEffectNode>();


            return(true);
        }