Exemple #1
0
            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);
                }
            }
Exemple #2
0
            private void RegisterBoidsSameSwarm(MyIGCMessage msg)
            {
                BoidsContact contact = new BoidsContact(msg);

                ComputeTypeContact(contact);
            }