示例#1
0
文件: Map.cs 项目: cyanpunk/muonline
        public IEnumerator Init()
        {
            //инициализация глобальных компонентов
            InitGlobal();
            InitWorld();
            InitUI();

            terrain		= scene.AddComponent<MapTerrain>();
            lighting	= scene.AddComponent<MapLighting>();
            objects		= scene.AddComponent<MapObjects>();
            sound		= scene.AddComponent<MapSound>();
            test		= scene.AddComponent<MapTest>();

            //компоненты загрузки данных
            MapDataObjects	DataObjects	= new MapDataObjects	(global.map);
            MapDataZones	DataZones	= new MapDataZones		(global.map);
            MapDataGround	DataGround	= new MapDataGround		(global.map);
            MapDataHeight	DataHeight	= new MapDataHeight		(global.map);

            DataObjects.EventErrorFile	+= NotFoundDataFiles;
            DataZones.EventErrorFile	+= NotFoundDataFiles;
            DataGround.EventErrorFile	+= NotFoundDataFiles;
            DataHeight.EventErrorFile	+= NotFoundDataFiles;

            //инициализация ландшафта
            terrain.	Init(Terrain.activeTerrain, DataGround.data, DataHeight.data, DataZones.data);
            //инициализация объектов
            objects.	Init(DataObjects.data);
            //инициализация маппинга
            lighting.	Init(global.map);
            //инициализация маппинга
            sound.		Init(global.map);
            //передача данных в мир
            if (EventDataZones!=null)
                EventDataZones ( DataZones.data );
            if (EventDataTiles!=null)
                EventDataTiles ( DataGround.data );

            //чистим данные
            DataObjects		= null;
            DataZones		= null;
            DataGround		= null;
            DataHeight		= null;
            System.GC.Collect();

            yield break;
        }