コード例 #1
0
 public bool destroy()
 {
     //向事件源删除监听器
     GlobalEventSource.getInstance().removeListener((int)EventTypes.PlayerLeaveFuBen, CopyTeamEventListener.getInstance());
     GlobalEventSource.getInstance().removeListener((int)EventTypes.PlayerLogout, CopyTeamEventListener.getInstance());
     return(true);
 }
コード例 #2
0
        public bool initialize()
        {
            //注册指令处理器
            TCPCmdDispatcher.getInstance().registerProcessor((int)TCPGameServerCmds.CMD_SPR_COPYTEAM, 5, CopyTeamCmdProcessor.getInstance(TCPGameServerCmds.CMD_SPR_COPYTEAM));
            TCPCmdDispatcher.getInstance().registerProcessor((int)TCPGameServerCmds.CMD_SPR_REGEVENTNOTIFY, 4, CopyTeamCmdProcessor.getInstance(TCPGameServerCmds.CMD_SPR_REGEVENTNOTIFY));
            TCPCmdDispatcher.getInstance().registerProcessor((int)TCPGameServerCmds.CMD_SPR_LISTCOPYTEAMS, 4, CopyTeamCmdProcessor.getInstance(TCPGameServerCmds.CMD_SPR_LISTCOPYTEAMS));

            //向事件源注册监听器
            GlobalEventSource.getInstance().registerListener((int)EventTypes.PlayerLeaveFuBen, CopyTeamEventListener.getInstance());
            GlobalEventSource.getInstance().registerListener((int)EventTypes.PlayerLogout, CopyTeamEventListener.getInstance());

            //初始化组队副本的列表
            lock (SceneIndexRoleIDListDict)
            {
                lock (_SceneIndexDict)
                {
                    foreach (var systemFuBenItem in GameManager.systemFuBenMgr.SystemXmlItemDict.Values)
                    {
                        int copyType = systemFuBenItem.GetIntValue("CopyType");
                        if (Global.ConstTeamCopyType == copyType)
                        {
                            int copyID = systemFuBenItem.GetIntValue("ID");
                            _SceneIndexDict.Add(copyID, copyID);
                            SceneIndexRoleIDListDict.Add(copyID, new HashSet <int>());
                        }
                    }
                }
            }

            //需要记录伤害排名的副本ID集合
            RecordDamagesFuBenIDHashSet.Add(4000);

            return(true);
        }