public override bool Equals(object obj) { NEATInnovation inno = (NEATInnovation)obj; if (InnovationType != inno?.InnovationType) { return(false); } if (InNodeId != inno.InNodeId) { return(false); } if (OutNodeId != inno.OutNodeId) { return(false); } if (OldInnovationNum != inno.OldInnovationNum) { return(false); } return(RecurFlag == inno.RecurFlag); }
public virtual object Clone() { NEATInnovation myobj = null; try { myobj = (NEATInnovation)MemberwiseClone(); myobj.InnovationType = InnovationType; myobj.InNodeId = InNodeId; myobj.OutNodeId = OutNodeId; myobj.InnovationNum1 = InnovationNum1; myobj.InnovationNum2 = InnovationNum2; myobj.NewWeight = NewWeight; myobj.NewNodeId = NewNodeId; myobj.OldInnovationNum = OldInnovationNum; myobj.RecurFlag = RecurFlag; } catch (CloneNotSupportedException e) // never happens { throw new InvalidOperationException(); } return(myobj); }
public NEATInnovation GetInnovation(NEATInnovation inno) { return(Innovations[inno]); }
public void AddInnovation(NEATInnovation inno) { Innovations[inno] = inno; }
public bool HasInnovation(NEATInnovation inno) { return(Innovations.ContainsKey(inno)); }