/// <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); } } } } } } } }
private bool SkippedVerb(string verb) { KnownSet.Add(verb); if (Always.Contains(verb)) { return(false); } if (Never.Contains(verb)) { return(true); } return(!DefaultUse); }
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); } }