public void HandleObjectDeselect(Message m) { var req = (ObjectDeselect)m; if (req.CircuitSessionID != req.SessionID || req.CircuitAgentID != req.AgentID) { return; } IAgent agent; if (!Agents.TryGetValue(req.AgentID, out agent)) { return; } ObjectPart part; RwLockedList <UUID> selectedObjects = agent.SelectedObjects(ID); foreach (uint primLocalID in req.ObjectData) { #if DEBUG m_Log.DebugFormat("ObjectDeselect localid={0}", primLocalID); #endif if (!Primitives.TryGetValue(primLocalID, out part)) { continue; } selectedObjects.Remove(part.ID); agent.ScheduleUpdate(part.UpdateInfo, ID); } }
public PostgreSQLSceneListener(string connectionString, UUID regionID, RwLockedList <PostgreSQLSceneListener> sceneListenerThreads, bool enableOnConflict) : base(regionID) { m_ConnectionString = connectionString; m_SceneListenerThreads = sceneListenerThreads; m_EnableOnConflict = enableOnConflict; }
public PostgreSQLTerrainListener(string connectionString, UUID regionID, RwLockedList <PostgreSQLTerrainListener> terrainListenerThreads, bool enableOnConflict) { m_ConnectionString = connectionString; RegionID = regionID; m_TerrainListenerThreads = terrainListenerThreads; m_EnableOnConflict = enableOnConflict; }
public void Startup(ConfigurationLoader loader) { m_Scenes = loader.Scenes; m_EstateService = loader.GetService <EstateServiceInterface>(m_EstateServiceName); m_RegionStorage = loader.GetService <GridServiceInterface>(m_RegionStorageName); loader.CommandRegistry.AddShowCommand("estates", ShowEstatesCmd); loader.CommandRegistry.AddChangeCommand("estate", ChangeEstateCmd); loader.CommandRegistry.AddCreateCommand("estate", CreateEstateCmd); loader.CommandRegistry.AddDeleteCommand("estate", DeleteEstateCmd); loader.CommandRegistry.AddAlertCommand("estate", AlertEstateCmd); var avatarNameServicesList = new RwLockedList <AvatarNameServiceInterface>(); IConfig sceneConfig = loader.Config.Configs["DefaultSceneImplementation"]; if (sceneConfig != null) { string avatarNameServices = sceneConfig.GetString("AvatarNameServices", string.Empty); if (!string.IsNullOrEmpty(avatarNameServices)) { foreach (string p in avatarNameServices.Split(',')) { avatarNameServicesList.Add(loader.GetService <AvatarNameServiceInterface>(p.Trim())); } } } m_AvatarNameService = new AggregatingAvatarNameService(avatarNameServicesList); }
public void Startup(ConfigurationLoader loader) { var avatarNameServices = new RwLockedList <AvatarNameServiceInterface>(); foreach (string name in m_AvatarNameServiceNames.Trim().Split(',')) { avatarNameServices.Add(loader.GetService <AvatarNameServiceInterface>(name)); } m_AvatarNameService = new AggregatingAvatarNameService(avatarNameServices); }
List <Vector3> ISimulationDataSpawnPointStorageInterface.this[UUID regionID] { get { RwLockedList <Vector3> data; return((m_SpawnPointData.TryGetValue(regionID, out data)) ? new List <Vector3>(data) : new List <Vector3>()); } set { m_SpawnPointData[regionID] = new RwLockedList <Vector3>(value); } }
public void Startup(ConfigurationLoader loader) { m_IMRouter = loader.IMRouter; RwLockedList <AvatarNameServiceInterface> services = new RwLockedList <AvatarNameServiceInterface>(); foreach (string name in m_AvatarNameServiceNames) { AvatarNameServiceInterface service; loader.GetService(name, out service); services.Add(service); } m_AvatarNameService = new AggregatingAvatarNameService(services); loader.GetService(m_GroupsServiceName, out m_GroupsService); }
private void UpdateGodAgentsList(RwLockedList <UGUI> list, UUID regionId, string value) { if (string.IsNullOrEmpty(value)) { list.Clear(); } else { string[] god_agents_list = value.Split(new char[] { ',' }); var new_gods = new List <UGUI>(); foreach (string god_agent in god_agents_list) { UGUI uui; try { uui = new UGUI(god_agent); } catch { m_Log.WarnFormat("Invalid UUI '{1}' found in {0}/god_agents variable", regionId.ToString(), god_agent); continue; } new_gods.Add(uui); } foreach (UGUI god in new List <UGUI>(list)) { if (!new_gods.Contains(god)) { list.Remove(god); } } foreach (UGUI god in new_gods) { if (!list.Contains(god)) { list.Add(god); } } } }
public MsSqlAssetService(ConfigurationLoader loader, IConfig ownSection) { m_ConnectionString = MsSqlUtilities.BuildConnectionString(ownSection, m_Log); m_ConfigurationIssues = loader.KnownConfigurationIssues; m_ReferencesService = new MsSqlAssetReferencesService(this); }
public AggregatingAvatarNameService(RwLockedList <AvatarNameServiceInterface> serviceList) { m_ServiceList = serviceList; }
private void ChatPassEnableUpdated( RwLockedList <UUID> locallist, RwLockedList <UUID> globallist, ref bool settolocal, UUID regionId, string varname, string value) { if (string.IsNullOrEmpty(value)) { if (regionId != UUID.Zero) { settolocal = false; locallist.Clear(); } else { globallist.Clear(); } } else { string[] parts = value.Split(','); var new_ids = new List <UUID>(); foreach (string part in parts) { UUID id; if (!UUID.TryParse(part, out id)) { m_Log.WarnFormat("Invalid UUID '{1}' found in {0}/{2} variable", regionId.ToString(), part, varname); } else if (!new_ids.Contains(id)) { new_ids.Add(id); } } var activelist = regionId != UUID.Zero ? locallist : globallist; foreach (UUID id in new List <UUID>(activelist)) { if (!new_ids.Contains(id)) { activelist.Remove(id); } } foreach (UUID id in new_ids) { if (!activelist.Contains(id)) { activelist.Add(id); } } if (regionId != UUID.Zero) { settolocal = true; } } }
public MySQLTerrainListener(string connectionString, UUID regionID, RwLockedList <MySQLTerrainListener> terrainListenerThreads) { m_ConnectionString = connectionString; RegionID = regionID; m_TerrainListenerThreads = terrainListenerThreads; }
public MySQLSceneListener(string connectionString, UUID regionID, RwLockedList <MySQLSceneListener> sceneListenerThreads) : base(regionID) { m_ConnectionString = connectionString; m_SceneListenerThreads = sceneListenerThreads; }
public EnvironmentSettings(EnvironmentSettings env) { m_WaterSettings = env.WaterSettings; DayCycle = new RwLockedList <KeyValuePair <double, string> >(env.DayCycle); SkySettings = new RwLockedDictionary <string, SkyEntry>(env.SkySettings); }
private bool IsInGodAgents(UGUI agent) { RwLockedList <UGUI> activeList = m_GodAgentsSetToLocal ? m_GodAgentsLocal : m_GodAgentsGlobal; return(activeList.Find((e) => agent.EqualsGrid(e)) != null); }