Example #1
0
        public override void cleanUp()
        {
            base.cleanUp();

            GAFStencilMaskManager.unregisterMask(serializedProperties.clip.GetInstanceID(), serializedProperties.objectID, this);

            m_MaskMaterial = null;
        }
Example #2
0
        public GAFBakedMaskObjectImpl(
            IGAFObjectSerializedProperties _Data
            , GAFRenderProcessor _Processor
            , GAFBakedObjectController _Controller)
            : base(_Data, _Processor, _Controller)
        {
            m_MaskMaterial             = new Material(Shader.Find("GAF/GAFMaskObject"));
            m_MaskMaterial.mainTexture = texture;
            m_MaskMaterial.renderQueue = 3000;

            m_StencilID = GAFStencilMaskManager.registerMask(serializedProperties.clip.GetInstanceID(), serializedProperties.objectID, this);
            m_MaskMaterial.SetFloat("_StencilID", m_StencilID);

            material = m_MaskMaterial;
        }
Example #3
0
        public override void cleanUp()
        {
            base.cleanUp();

            GAFStencilMaskManager.unregisterMask(serializedProperties.clip.GetInstanceID(), serializedProperties.objectID, this);

            if (Application.isPlaying)
            {
                Object.Destroy(m_MaskMaterial);
            }
            else
            {
                Object.DestroyImmediate(m_MaskMaterial);
            }

            m_MaskMaterial = null;
        }
Example #4
0
        protected override void resetRenderer()
        {
            var clip = serializedProperties.clip;

            m_MaskMaterial             = new Material(Shader.Find("GAF/GAFMaskObject"));
            m_MaskMaterial.mainTexture = texture;
            m_MaskMaterial.renderQueue = 3000;

            material = m_MaskMaterial;

            m_StencilID = GAFStencilMaskManager.registerMask(serializedProperties.clip.GetInstanceID(), serializedProperties.objectID, this);
            material.SetFloat("_StencilID", m_StencilID);

            renderer.sharedMaterial   = material;
            renderer.castShadows      = false;
            renderer.receiveShadows   = false;
            renderer.sortingLayerName = clip.settings.spriteLayerName;
            renderer.sortingOrder     = clip.settings.spriteLayerValue;
        }
Example #5
0
        public void updateMasking(GAFObjectStateData _State, bool _Refresh)
        {
            if (_State.maskID != currentState.maskID ||
                _Refresh)
            {
                if (currentState.maskID >= 0)
                {
                    var oldMask = GAFStencilMaskManager.getMask(serializedProperties.clip.GetInstanceID(), (uint)currentState.maskID);
                    m_StencilID = 0;
                    oldMask.unregisterMaskedObject(this);
                    disableMasking();
                }

                if (_State.maskID >= 0)
                {
                    var newMask = GAFStencilMaskManager.getMask(serializedProperties.clip.GetInstanceID(), (uint)_State.maskID);
                    m_StencilID = newMask.getStencilID();
                    newMask.registerMaskedObject(this);
                    enableMasking();
                }

                currentState.maskID = _State.maskID;
            }
        }