public override void Grid_OnCoarseLocationUpdate(object sender, CoarseLocationUpdateEventArgs e) { Simulator sim = e.Simulator; var newEntries = e.NewEntries; var removedEntries = e.RemovedEntries; if (newEntries.Count == 0 && removedEntries.Count == 0) { return; } foreach (UUID uuid in newEntries) { SimObject A = CreateSimAvatar(uuid, this, sim); Vector3 pos; if (sim.AvatarPositions.TryGetValue(uuid, out pos)) { A.UpdatePosition(sim.Handle, pos); } } foreach (UUID uuid in removedEntries) { DeclareAvatar(uuid); } if (!MaintainAvatarMetaData) { return; } //for (int i = 0; i < coarse.Location.Length; i++) //{ // if (i == coarse.Index.$bot) // { // simulator.positionIndexYou = i; // } // else if (i == coarse.Index.Prey) // { // simulator.positionIndexPrey = i; // } // simulator.avatarPositions.Add(new Vector3(coarse.Location[i].X, coarse.Location[i].Y, // coarse.Location[i].Z * 4)); //} //OnEvent("On-Coarse-Location-Update", paramNamesOnCoarseLocationUpdate, paramTypesOnCoarseLocationUpdate, sim, newEntries , removedEntries); }