private void ComputeTypeContact(BoidsContact contact) { double distance = this.myPos.Distance(contact.pos); TypeContact typeContact; if (distance < this.boidsParams.separationDist) { typeContact = TypeContact.SEPARATION; } else if (distance < this.boidsParams.alignementDist) { typeContact = TypeContact.ALIGNEMENT; } else if (distance < this.boidsParams.cohesionDist) { typeContact = TypeContact.COHESION; } else { typeContact = TypeContact.NONE; } if (this.mapBoidsContact.ContainsKey(contact.source)) { this.mapBoidsContact.Remove(contact.source); } if (typeContact != TypeContact.NONE) { this.mapBoidsContact.Add(contact.source, contact); } }
private void RegisterBoidsSameSwarm(MyIGCMessage msg) { BoidsContact contact = new BoidsContact(msg); ComputeTypeContact(contact); }