コード例 #1
0
        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());
            }
        }
コード例 #2
0
ファイル: VMapManager.cs プロジェクト: query-wow/CypherCore
        public WorldModel acquireModelInstance(string filename)
        {
            var model = iLoadedModelFiles.LookupByKey(filename);

            if (model == null)
            {
                WorldModel worldmodel = new WorldModel();
                if (!worldmodel.readFile(VMapPath + filename + ".vmo"))
                {
                    Log.outError(LogFilter.Server, "VMapManager: could not load '{0}.vmo'", filename);
                    return(null);
                }
                Log.outDebug(LogFilter.Maps, "VMapManager: loading file '{0}'", filename);
                iLoadedModelFiles.Add(filename, new ManagedModel());
                model = iLoadedModelFiles.LookupByKey(filename);
                model.setModel(worldmodel);
            }
            model.incRefCount();
            return(model.getModel());
        }