public bool Equals(GameState other) { if (ReferenceEquals(other, null)) { return(false); } if (ReferenceEquals(other, this)) { return(true); } if (StateId != other.StateId) { return(false); } if (!BoardNames.Equals(other.BoardNames)) { return(false); } if (!PlayerNames.Equals(other.PlayerNames)) { return(false); } if (!MonsterNames.Equals(other.MonsterNames)) { return(false); } return(Equals(_unknownFields, other._unknownFields)); }