Пример #1
0
 public override void Self_OnMeanCollision(object sender, MeanCollisionEventArgs e)
 {
     if (!MaintainEffects)
     {
         return;
     }
     EventQueue.Enqueue(() =>
     {
         SimObject perpAv, victimAv;
         if (TryGetSimObject(e.Aggressor, out perpAv) &&
             TryGetSimObject(e.Victim, out victimAv))
         {
             // if (victimAv.Name == client.Self.Name)
             //   WriteLine(perpAv.Name + " bumped into $bot like " + type);
             // else if (perpAv.Name == client.Self.Name)
             //   WriteLine("$bot bumped into " + victimAv.Name + " like " + type);
             CogbotEvent newSimObjectEvent = ACogbotEvent.CreateEvent(sender,
                                                                      "MeanCollisionType-" + e.Type, SimEventType.Once | SimEventType.SOCIAL | SimEventType.REGIONAL,
                                                                      ToParameter("primaryObjectMoving", perpAv),
                                                                      ToParameter("objectActedOn", victimAv),
                                                                      ToParameter("initialSpeedOfPrimaryObjectMoving", "MetersPerSecond", e.Magnitude));
             perpAv.LogEvent(newSimObjectEvent);
         }
     });
 }
Пример #2
0
        // Test
        private void Network_MeanCollisionAlertHandler(object sender, PacketReceivedEventArgs e)
        {
            Debug.WriteLine("collision detected ");

            var packet = e.Packet;

            MeanCollisionAlertPacket collision = (MeanCollisionAlertPacket)packet;

            for (int i = 0; i < collision.MeanCollision.Length; i++)
            {
                MeanCollisionAlertPacket.MeanCollisionBlock block = collision.MeanCollision[i];

                DateTime          time = Utils.UnixTimeToDateTime(block.Time);
                MeanCollisionType type = (MeanCollisionType)block.Type;

                //Self_OnMeanCollision(e.Simulator, new MeanCollisionEventArgs(type, block.Perp, block.Victim, block.Mag, time));
                MeanCollisionEventArgs mc = new MeanCollisionEventArgs(type, block.Perp, block.Victim, block.Mag, time);
                Debug.WriteLine("Attacker = " + mc.Aggressor);
            }
        }