/// <summary> /// ComputeHashCode /// </summary> /// <returns></returns> private void ComputeHashCode() { int result = 1; int modCode = 0; if (m_diffuseTex != null) { result = m_diffuseTex.GetHashCode(); modCode = (1 << 1); } if (m_normalTex != null) { result = (result * 397) ^ m_normalTex.GetHashCode(); modCode += (1 << 2); } if (m_specularIntensity != 0) { result = (result * 397) ^ m_specularIntensity.GetHashCode(); modCode += (1 << 4); } if (m_specularPower != 0) { result = (result * 397) ^ m_specularPower.GetHashCode(); modCode += (1 << 5); } if (m_diffuseColor.GetHashCode() != 0) { result = (result * 397) ^ m_diffuseColor.GetHashCode(); modCode += (1 << 6); } if (DiffuseUVAnim.GetHashCode() != 0) { result = (result * 397) ^ DiffuseUVAnim.GetHashCode(); modCode += (1 << 7); } if (EmissiveUVAnim.GetHashCode() != 0) { result = (result * 397) ^ EmissiveUVAnim.GetHashCode(); modCode += (1 << 8); } result = (result * 397) ^ EmissivityEnabled.GetHashCode(); modCode += (1 << 9); HashCode = (result * 397) ^ modCode; }