private void LoadMap()
        {
            Map map = _maplistView.SelectedItem as Map;

            if (map == null)
            {
                return;
            }

            FileWDT wdt = ModelSceneService.Instance.LoadWDT(map.InternalName, map.Id);

            if (wdt != null)
            {
                if (Wdt_Selected != null)
                {
                    Wdt_Selected.Invoke(this, wdt);
                }

                Adts.GetAllAdts(wdt);
            }
            else
            {
                Adts.Clear();
            }
        }
 public FileWDT LoadWDT(string mapname, int mapid)
 {
     if (wdt != null)
     {
         wdt.UnloadADT(adt);
         adt = null;
         Engine.Instance.ResourceLoader.UnloadWDT(wdt);
         wdt = null;
     }
     wdt = Engine.Instance.ResourceLoader.LoadWDT(mapname, mapid, true);
     return(wdt);
 }
        public void Shutdown()
        {
            Engine.Instance.SceneManager.RemoveAllSceneNodes();
            Engine.Instance.SceneManager.RemoveAllCameras();

            if (wdt != null)
            {
                wdt.UnloadADT(adt);
                adt = null;
                Engine.Instance.ResourceLoader.UnloadWDT(wdt);
                wdt = null;
            }
        }
示例#4
0
        public static void GetAllAdts(this AdtCollection adts, FileWDT wdt)
        {
            adts.Clear();
            for (uint i = 0; i < wdt.TileCount; ++i)
            {
                uint row, col;
                if (!wdt.GetTile(i, out row, out col))
                {
                    continue;
                }
                string name = String.Format("{0},{1}", row, col);

                adts.Add(new Adt()
                {
                    Name = name, Id = (int)i, Row = row, Col = col
                });
            }
        }