public override void cleanUp() { base.cleanUp(); GAFStencilMaskManager.unregisterMask(serializedProperties.clip.GetInstanceID(), serializedProperties.objectID, this); m_MaskMaterial = null; }
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; }
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; }
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; }
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; } }