/// <summary>
 ///     Removes a character from the list of avatars currently in the scene
 ///     Internally locked, as it is called only in the Simulation Changes loop
 /// </summary>
 /// <param name="chr"></param>
 internal void RemoveCharacter(ODECharacter chr)
 {
     _characters.Remove(chr);
 }
 internal void BadCharacter(ODECharacter chr)
 {
     RemoveAvatar(chr);
     AddAvatar(chr.Name, new Vector3(m_region.RegionSizeX/2,
                                     m_region.RegionSizeY/2,
                                     m_region.RegionSizeZ/2), chr.Orientation,
               new Vector3(chr.CAPSULE_RADIUS*2, chr.CAPSULE_RADIUS*2,
                           chr.CAPSULE_LENGTH*2), true, chr.LocalID, chr.UUID);
 }
 /// <summary>
 ///     Adds a character to the list of avatars in the scene
 ///     Internally locked, as it is called only in the Simulation Changes loop
 /// </summary>
 /// <param name="chr"></param>
 internal void AddCharacter(ODECharacter chr)
 {
     if (!_characters.Contains(chr))
         _characters.Add(chr);
 }