// 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); } }
private void MeanCollisionAlertHandler(object sender, PacketReceivedEventArgs e) { var sim = e.Simulator; var packet = e.Packet; if (!IsMaster(sim)) { return; } { 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(sim, new MeanCollisionEventArgs(type, block.Perp, block.Victim, block.Mag, time)); } } }
/// <summary> /// Construct a new instance of the MeanCollisionEventArgs class /// </summary> /// <param name="type">The type of collision that occurred</param> /// <param name="perp">The ID of the agent or object that perpetrated the agression</param> /// <param name="victim">The ID of the Victim</param> /// <param name="magnitude">The strength of the collision</param> /// <param name="time">The Time the collision occurred</param> public MeanCollisionEventArgs(MeanCollisionType type, UUID perp, UUID victim, float magnitude, DateTime time) { this.m_Type = type; this.m_Aggressor = perp; this.m_Victim = victim; this.m_Magnitude = magnitude; this.m_Time = time; }
static void Self_OnMeanCollision(MeanCollisionType type, UUID perp, UUID victim, float mag, DateTime time) { client.Self.Chat("Collision between victim: " + victim + " and perp: " + perp + ":", 0, ChatType.Normal); //Console.WriteLine(objectMap[perp]); if (perp != client.Self.AgentID && objectMap.ContainsKey(perp)) client.Self.Touch(objectMap[perp].LocalID); else if (victim != client.Self.AgentID && objectMap.ContainsKey(victim)) client.Self.Touch(objectMap[victim].LocalID); }