public WorldModel AcquireModelInstance(string filename, uint flags = 0) { lock (LoadedModelFilesLock) { filename = filename.TrimEnd('\0'); var model = iLoadedModelFiles.LookupByKey(filename); if (model == null) { WorldModel worldmodel = new WorldModel(); if (!worldmodel.ReadFile(VMapPath + filename)) { Log.outError(LogFilter.Server, "VMapManager: could not load '{0}'", filename); return(null); } Log.outDebug(LogFilter.Maps, "VMapManager: loading file '{0}'", filename); worldmodel.Flags = flags; model = new ManagedModel(); model.SetModel(worldmodel); iLoadedModelFiles.Add(filename, model); } model.IncRefCount(); return(model.GetModel()); } }