public void OnDestroy() { if (m_FOWShadow != null) { m_FOWShadow.Destroy(); m_FOWShadow = null; } m_PlayerDataList = null; }
public void Init() { if (m_FOWShadowType == FOWShadowType.FOWSHADOW_TYPE_DOTA && m_PregenerateMode == FOWSDFPregenerateMode.GPU) { m_PregenerateMode = FOWSDFPregenerateMode.CPU; Debug.LogWarning("FOW Grid Mode GPU not supported"); } // Camera need to write depth into depthTexture if (m_Camera == null) { m_Camera = gameObject.GetComponent <Camera>(); m_Camera.depthTextureMode = DepthTextureMode.Depth; } if (m_FOWShadow == null || m_FOWShadowType != m_FOWShadow.GetFowShadowType()) { if (m_FOWShadow != null) { m_FOWShadow.Destroy(); } switch (m_FOWShadowType) { case FOWShadowType.FOWSHADOW_TYPE_DOTA: m_FOWShadow = new FOWShadowDota(m_Data); break; case FOWShadowType.FOWSHADOW_TYPE_SDF: m_FOWShadow = new FOWShadowSDF(m_Data); ((FOWShadowSDF)m_FOWShadow).m_TextureSavePath = m_TextureSavePath; ((FOWShadowSDF)m_FOWShadow).m_PregenerateMode = m_PregenerateMode; break; } } if (m_EffectMaterial == null) { m_EffectMaterial = new Material(Shader.Find("Hidden/FOWEffect")); } m_IsInited = true; }