Пример #1
0
        /// <summary>
        /// Adds an object to the list of known objects
        /// only maintained for players
        /// </summary>
        /// <returns>true if previously an unknown object</returns>
        public bool AddKnownObject(PhysicsObj obj)
        {
            rwLock.EnterWriteLock();
            try
            {
                if (KnownObjects.ContainsKey(obj.ID))
                {
                    return(false);
                }

                KnownObjects.TryAdd(obj.ID, obj);

                // maintain KnownPlayers for both parties
                if (obj.IsPlayer)
                {
                    AddKnownPlayer(obj);
                }

                obj.ObjMaint.AddKnownPlayer(PhysicsObj);

                return(true);
            }
            finally
            {
                rwLock.ExitWriteLock();
            }
        }