public override int GetHashCode() { int hash = 1; if (BehaviorName.Length != 0) { hash ^= BehaviorName.GetHashCode(); } if (TrainerType.Length != 0) { hash ^= TrainerType.GetHashCode(); } if (ExtrinsicRewardEnabled != false) { hash ^= ExtrinsicRewardEnabled.GetHashCode(); } if (GailRewardEnabled != false) { hash ^= GailRewardEnabled.GetHashCode(); } if (CuriosityRewardEnabled != false) { hash ^= CuriosityRewardEnabled.GetHashCode(); } if (RndRewardEnabled != false) { hash ^= RndRewardEnabled.GetHashCode(); } if (BehavioralCloningEnabled != false) { hash ^= BehavioralCloningEnabled.GetHashCode(); } if (RecurrentEnabled != false) { hash ^= RecurrentEnabled.GetHashCode(); } if (VisualEncoder.Length != 0) { hash ^= VisualEncoder.GetHashCode(); } if (NumNetworkLayers != 0) { hash ^= NumNetworkLayers.GetHashCode(); } if (NumNetworkHiddenUnits != 0) { hash ^= NumNetworkHiddenUnits.GetHashCode(); } if (TrainerThreaded != false) { hash ^= TrainerThreaded.GetHashCode(); } if (SelfPlayEnabled != false) { hash ^= SelfPlayEnabled.GetHashCode(); } if (CurriculumEnabled != false) { hash ^= CurriculumEnabled.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }