Exemple #1
0
        public static void AddGlodCopySceneList(int nID, CopyMap mapInfo)
        {
            bool bInsert = false;

            lock (GlodCopySceneManager.m_GlodCopySceneLists)
            {
                CopyMap tmp = null;
                if (!GlodCopySceneManager.m_GlodCopySceneLists.TryGetValue(nID, out tmp))
                {
                    GlodCopySceneManager.m_GlodCopySceneLists.Add(nID, mapInfo);
                    bInsert = true;
                }
                else if (tmp == null)
                {
                    GlodCopySceneManager.m_GlodCopySceneLists[nID] = mapInfo;
                    bInsert = true;
                }
                lock (GlodCopySceneManager.m_GlodCopySceneInfo)
                {
                    if (bInsert)
                    {
                        GoldCopyScene GoldCopySceneInfo = null;
                        if (!GlodCopySceneManager.m_GlodCopySceneInfo.TryGetValue(nID, out GoldCopySceneInfo))
                        {
                            GoldCopySceneInfo = new GoldCopyScene();
                            GoldCopySceneInfo.InitInfo(mapInfo.MapCode, mapInfo.CopyMapID, nID);
                            GoldCopySceneInfo.m_StartTimer = TimeUtil.NOW();
                            GlodCopySceneManager.m_GlodCopySceneInfo.Add(nID, GoldCopySceneInfo);
                        }
                    }
                }
            }
        }
        public static Dictionary <int, GoldCopyScene> m_GlodCopySceneInfo = new Dictionary <int, GoldCopyScene>(); // key: 副本流水ID 即DB生成  Value: GoldCopyScene信息

        /// <summary>
        /// 添加一个场景
        /// </summary>
        public static void AddGlodCopySceneList(int nID, CopyMap mapInfo)
        {
            bool bInsert = false;

            lock (m_GlodCopySceneLists)
            {
                CopyMap tmp = null;

                if (!m_GlodCopySceneLists.TryGetValue(nID, out tmp))
                {
                    m_GlodCopySceneLists.Add(nID, mapInfo);
                    bInsert = true;
                }
                else
                {
                    if (tmp == null)
                    {
                        m_GlodCopySceneLists[nID] = mapInfo;
                        bInsert = true;
                    }
                }

                lock (m_GlodCopySceneInfo)
                {
                    if (bInsert == true)
                    {
                        GoldCopyScene GoldCopySceneInfo = null;

                        if (!m_GlodCopySceneInfo.TryGetValue(nID, out GoldCopySceneInfo))
                        {
                            GoldCopySceneInfo = new GoldCopyScene();

                            GoldCopySceneInfo.InitInfo(mapInfo.MapCode, mapInfo.CopyMapID, nID);

                            GoldCopySceneInfo.m_StartTimer = DateTime.Now.Ticks / 10000;

                            m_GlodCopySceneInfo.Add(nID, GoldCopySceneInfo);
                        }
                    }
                }
            }
        }