public override int GetHashCode()
 {
     unchecked
     {
         return(((FacetType != null ? FacetType.GetHashCode() : 0) * 397) ^ PlayerId);
     }
 }
        public override int GetHashCode()
        {
            unchecked
            {
                if (IsAmbient)
                {
                    return(AmbientToken.GetHashCode());
                }

                var result = FactoryType.GetHashCode();
                result = (result * 397) ^ FacetType.GetHashCode();
                result = (result * 397) ^ FactoryData.GetHashCode();
                return(result);
            }
        }