private void AddAvatar(uint localID, UUID avatarID, Vector3 coarsePosition, Avatar avatar) { if (!this.IsHandleCreated) { return; } if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker) delegate { AddAvatar(localID, avatarID, coarsePosition, avatar); }); } else { TrackedAvatar trackedAvatar = new TrackedAvatar(); trackedAvatar.CoarseLocation = coarsePosition; trackedAvatar.ID = avatarID; trackedAvatar.ListViewItem = this.Items.Add(avatarID.ToString(), trackedAvatar.Name, null); string strDist = avatarID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, coarsePosition) + "m"; trackedAvatar.ListViewItem.SubItems.Add(strDist); if (avatar != null) { trackedAvatar.Name = avatar.Name; trackedAvatar.ListViewItem.Text = avatar.Name; lock (_TrackedAvatars) _TrackedAvatars.Add(localID, avatarID, trackedAvatar); } else { lock (_UntrackedAvatars) { _UntrackedAvatars.Add(avatarID, trackedAvatar); trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); if (avatarID == _Client.Self.AgentID) { trackedAvatar.Name = _Client.Self.Name; trackedAvatar.ListViewItem.Text = _Client.Self.Name; } else { Client.Avatars.RequestAvatarName(avatarID); } } } } }
void AvatarList_SelectedIndexChanged(object sender, EventArgs e) { lock (_TrackedAvatars) { lock (_UntrackedAvatars) { if (this.SelectedItems.Count > 0) { UUID selectedID = new UUID(this.SelectedItems[0].Name); TrackedAvatar selectedAV; if (!_TrackedAvatars.TryGetValue(selectedID, out selectedAV) && !_UntrackedAvatars.TryGetValue(selectedID, out selectedAV)) { selectedAV = null; } _SelectedAvatar = selectedAV; } } } }
private void AddAvatar(UUID avatarID, Avatar avatar, Vector3 coarsePosition) { if (!this.IsHandleCreated) { return; } if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker) delegate { AddAvatar(avatar.ID, avatar, coarsePosition); }); } else { TrackedAvatar trackedAvatar = new TrackedAvatar(); trackedAvatar.CoarseLocation = coarsePosition; trackedAvatar.ID = avatarID; trackedAvatar.ListViewItem = this.Items.Add(avatarID.ToString(), trackedAvatar.Name, null); trackedAvatar.ListViewItem.Name = avatarID.ToString(); string strDist = avatarID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, coarsePosition) + "m"; trackedAvatar.ListViewItem.SubItems.Add(strDist); if (avatar != null) { trackedAvatar.Name = avatar.Name; trackedAvatar.ListViewItem.Text = avatar.Name; lock (_TrackedAvatars) { if (_TrackedAvatars.ContainsKey(avatarID)) { _TrackedAvatars.Remove(avatarID); } _TrackedAvatars.Add(avatar.LocalID, avatarID, trackedAvatar); } if (OnAvatarAdded != null) { try { OnAvatarAdded(trackedAvatar); } catch (Exception ex) { Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); } } } else { lock (_UntrackedAvatars) { _UntrackedAvatars.Add(avatarID, trackedAvatar); trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); if (avatarID == _Client.Self.AgentID) { trackedAvatar.Name = _Client.Self.Name; trackedAvatar.ListViewItem.Text = _Client.Self.Name; } else if (_Client.Network.Connected) { Client.Avatars.RequestAvatarName(avatarID); } } } } }
void avatarList1_OnAvatarDoubleClick(TrackedAvatar trackedAvatar) { messageBar1.CreateSession(trackedAvatar.Name, trackedAvatar.ID, trackedAvatar.ID, true); }
private void AddAvatar(uint localID, UUID avatarID, Vector3 coarsePosition, Avatar avatar) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { AddAvatar(localID, avatarID, coarsePosition, avatar); }); else { TrackedAvatar trackedAvatar = new TrackedAvatar(); trackedAvatar.CoarseLocation = coarsePosition; trackedAvatar.ID = avatarID; trackedAvatar.ListViewItem = this.Items.Add(avatarID.ToString(), trackedAvatar.Name, null); string strDist = avatarID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, coarsePosition) + "m"; trackedAvatar.ListViewItem.SubItems.Add(strDist); if (avatar != null) { trackedAvatar.Name = avatar.Name; trackedAvatar.ListViewItem.Text = avatar.Name; lock (_TrackedAvatars) _TrackedAvatars.Add(localID, avatarID, trackedAvatar); } else { lock (_UntrackedAvatars) { _UntrackedAvatars.Add(avatarID, trackedAvatar); trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); if (avatarID == _Client.Self.AgentID) { trackedAvatar.Name = _Client.Self.Name; trackedAvatar.ListViewItem.Text = _Client.Self.Name; } else Client.Avatars.RequestAvatarName(avatarID); } } } }
private void avatarList1_OnAvatarDoubleClick(TrackedAvatar trackedAvatar) { MessageBox.Show(trackedAvatar.Name + " = " + trackedAvatar.ID); }
private void AddAvatar(UUID avatarID, Avatar avatar, Vector3 coarsePosition) { if (!this.IsHandleCreated) return; if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { AddAvatar(avatar.ID, avatar, coarsePosition); }); else { TrackedAvatar trackedAvatar = new TrackedAvatar(); trackedAvatar.CoarseLocation = coarsePosition; trackedAvatar.ID = avatarID; trackedAvatar.ListViewItem = this.Items.Add(avatarID.ToString(), trackedAvatar.Name, null); trackedAvatar.ListViewItem.Name = avatarID.ToString(); string strDist = avatarID == _Client.Self.AgentID ? "--" : (int)Vector3.Distance(_Client.Self.SimPosition, coarsePosition) + "m"; trackedAvatar.ListViewItem.SubItems.Add(strDist); if (avatar != null) { trackedAvatar.Name = avatar.Name; trackedAvatar.ListViewItem.Text = avatar.Name; lock (_TrackedAvatars) { if (_TrackedAvatars.ContainsKey(avatarID)) _TrackedAvatars.Remove(avatarID); _TrackedAvatars.Add(avatar.LocalID, avatarID, trackedAvatar); } if (OnAvatarAdded != null) { try { OnAvatarAdded(trackedAvatar); } catch (Exception ex) { Logger.Log(ex.Message, Helpers.LogLevel.Error, Client, ex); } } } else { lock (_UntrackedAvatars) { _UntrackedAvatars.Add(avatarID, trackedAvatar); trackedAvatar.ListViewItem.ForeColor = Color.FromKnownColor(KnownColor.GrayText); if (avatarID == _Client.Self.AgentID) { trackedAvatar.Name = _Client.Self.Name; trackedAvatar.ListViewItem.Text = _Client.Self.Name; } else Client.Avatars.RequestAvatarName(avatarID); } } } }
void AvatarList_SelectedIndexChanged(object sender, EventArgs e) { lock (_TrackedAvatars) { lock (_UntrackedAvatars) { if (this.SelectedItems.Count > 0) { UUID selectedID = new UUID(this.SelectedItems[0].Name); TrackedAvatar selectedAV; if (!_TrackedAvatars.TryGetValue(selectedID, out selectedAV) && !_UntrackedAvatars.TryGetValue(selectedID, out selectedAV)) selectedAV = null; _SelectedAvatar = selectedAV; } } } }