コード例 #1
0
        protected override IEnumerator DoExport()
        {
            List <AreaSpawner> areaSpawnerList = m_Map.GetAreaSpawnerList();

            if (areaSpawnerList != null && areaSpawnerList.Count > 0)
            {
                for (int iArea = 0; iArea < areaSpawnerList.Count; iArea++)
                {
                    AreaSpawner areaSpawner = areaSpawnerList[iArea];
                    if (areaSpawner != null)
                    {
                        if (m_ExportAreaIds != null && m_ExportAreaIds.Contains(areaSpawner.GetAreaId()))
                        {
                            m_GamingMap.LoadGamingMapArea(areaSpawner, false);
                        }
                        yield return(null);
                    }
                }
            }
            yield return(null);

            m_GamingMap.InitGamingArea();
            yield return(null);

            m_GamingMap.BeginExport();
            yield return(null);

            IEnumerator updateAreaEnum = m_GamingMap.UpdataGamingAreas(true);

            if (updateAreaEnum != null)
            {
                while (updateAreaEnum.MoveNext())
                {
                    yield return(null);
                }
            }
            yield return(null);

            //刷新LeapOverview
            if (m_GamingMap.m_LeapOverview != null)
            {
                IEnumerator leapOverviewUpdate = m_GamingMap.m_LeapOverview.OnUpdate(m_GamingMap);
                if (leapOverviewUpdate != null)
                {
                    while (leapOverviewUpdate != null && leapOverviewUpdate.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
            yield return(null);

            EditorGamingMapData.SaveGamingMapToJson(m_GamingMap, m_ExportAreaIds);
            yield return(null);

            m_GamingMap.EndExport();
            yield return(null);
        }
コード例 #2
0
ファイル: GamingMap.cs プロジェクト: mengtest/RewriteFrame
        private IEnumerator ExportToJson(GamingMap gamingMap, Map map)
        {
            List <AreaSpawner> areaSpawnerList = map.GetAreaSpawnerList();

            if (areaSpawnerList != null && areaSpawnerList.Count > 0)
            {
                for (int iArea = 0; iArea < areaSpawnerList.Count; iArea++)
                {
                    AreaSpawner areaSpawner = areaSpawnerList[iArea];
                    if (areaSpawner != null)
                    {
                        LoadGamingMapArea(areaSpawner, false);
                        yield return(null);
                    }
                }
            }
            yield return(null);

            InitGamingArea();
            yield return(null);

            BeginExport();
            yield return(null);

            IEnumerator updateAreaEnum = UpdataGamingAreas(true);

            if (updateAreaEnum != null)
            {
                while (updateAreaEnum.MoveNext())
                {
                    yield return(null);
                }
            }
            yield return(null);

            //刷新LeapOverview
            if (m_LeapOverview != null)
            {
                IEnumerator leapOverviewUpdate = m_LeapOverview.OnUpdate(this);
                if (leapOverviewUpdate != null)
                {
                    while (leapOverviewUpdate != null && leapOverviewUpdate.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
            yield return(null);

            EditorGamingMapData.SaveGamingMapToJson(gamingMap);
            yield return(null);

            gamingMap.EndExport();
            yield return(null);

            m_ExporterGamingMapHandle.IsDone = true;
        }