Пример #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="objects"></param>
 private void AddKnowns(IEnumerable <SimObject> objects)
 {
     lock (objects)
     {
         foreach (SimObject obj in objects)
         {
             if (obj != this)
             {
                 if (obj.IsRoot || obj.Affordances.IsTyped)
                 {
                     //lock (KnownSimObjects)
                     if (!KnownSimObjects.Contains(obj))
                     {
                         KnownSimObjects.Add(obj);
                         IList <SimTypeUsage> uses = obj.Affordances.GetTypeUsages();
                         foreach (SimTypeUsage use in uses)
                         {
                             lock (_knownTypeUsages)
                                 if (!_knownTypeUsages.Contains(use))
                                 {
                                     _knownTypeUsages.Add(use);
                                 }
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
 private bool SkippedVerb(string verb)
 {
     KnownSet.Add(verb);
     if (Always.Contains(verb))
     {
         return(false);
     }
     if (Never.Contains(verb))
     {
         return(true);
     }
     return(!DefaultUse);
 }
Пример #3
0
 static public void RegisterThread(NativeThread systhread)
 {
     if (!AllThreads.Contains(systhread))
     {
         AllThreads.Add(systhread);
     }
     else
     {
     }
     if (ThreadAdded != null)
     {
         ThreadAdded(systhread);
     }
     //AllThreads2Safe.Remove(systhread);
 }
 public bool IsMaster(Simulator simulator)
 {
     lock (MasteringRegions)
     {
         if (simulator == null)
         {
             return(client.Network.CurrentSim == null || MasteringRegions.Count == 0);
         }
         if (MasteringRegions.Contains(simulator.Handle))
         {
             return(true);
         }
         lock (SimMaster)
         {
             if (!SimMaster.ContainsKey(simulator.Handle))
             {
                 SimMaster[simulator.Handle] = this;
                 MasteringRegions.AddTo(simulator.Handle);
                 return(true);
             }
         }
         return(false);
     }
 }