internal void ClearMonitor(string lvlName, List <TR2Entities> entities) { lock (_lock) { TexturePositionMonitor monitor = GetMonitor(lvlName); if (monitor == null) { return; } List <StaticTextureSource> sources = GetSourcesToMonitor(entities); monitor.RemoveSources(sources); } }
internal List <TR2Entities> GetIgnoredEntities(string lvlName) { TexturePositionMonitor monitor = GetMonitor(lvlName); if (monitor != null && monitor.RemovedTextures != null) { List <TR2Entities> entities = new List <TR2Entities>(); foreach (TR2Entities entity in monitor.RemovedTextures) { entities.Add(TR2EntityUtilities.GetAliasForLevel(lvlName, entity)); } return(entities); } return(null); }
internal TexturePositionMonitor CreateMonitor(string lvlName, List <TR2Entities> entities) { lock (_lock) { List <StaticTextureSource> sources = GetSourcesToMonitor(entities); TexturePositionMonitor monitor = GetMonitor(lvlName); if (monitor == null) { monitor = new TexturePositionMonitor(sources); _monitors[lvlName] = monitor; } else { monitor.AppendSources(sources); } return(monitor); } }
internal Dictionary <StaticTextureSource, List <StaticTextureTarget> > GetLevelMapping(string lvlName) { TexturePositionMonitor monitor = GetMonitor(lvlName); return(monitor?.PreparedLevelMapping); }