Ejemplo n.º 1
0
    /// <summary>
    /// 客户端模拟模块使用
    /// </summary>
    public static bool ProcessData(BscCmd cmd, object Info)
    {
        BSCEventHook evt = FindBscEvent(cmd);

        if (evt != null)
        {
            evt(Info);
        }
        return(true);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 反注册事件
    /// </summary>
    public static void AntiRegisterHooks(BscCmd cmd, BSCEventHook evt)
    {
        if (cmd == null || evt == null)
        {
            return;
        }
        BscCmd fcmd = FindBscEventCmd(cmd);

        if (fcmd != null)
        {
            m_EventHook.Remove(fcmd);
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 查找事件
    /// </summary>
    private static BSCEventHook FindBscEvent(BscCmd cmd)
    {
        if (cmd == null)
        {
            return(null);
        }
        BscCmd fcmd = FindBscEventCmd(cmd);

        if (fcmd != null)
        {
            return(m_EventHook[fcmd]);
        }
        return(null);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 注册事件
    /// </summary>
    public static void RegisterHooks(BscCmd cmd, BSCEventHook evt)
    {
        if (cmd == null || evt == null)
        {
            return;
        }
        BscCmd fcmd = FindBscEventCmd(cmd);

        if (fcmd == null)
        {
            m_EventHook.Add(new BscCmd(cmd.DataID, cmd.Type), evt);
        }
        else
        {
            m_EventHook[fcmd] = evt;
        }
    }
Ejemplo n.º 5
0
 /// <summary>
 /// 查找事件
 /// </summary>
 private static BscCmd FindBscEventCmd(BscCmd cmd)
 {
     if (cmd == null)
     {
         return(null);
     }
     foreach (BscCmd key in m_EventHook.Keys)
     {
         if (key == null)
         {
             continue;
         }
         if (key.DataID == cmd.DataID && key.Type == cmd.Type)
         {
             return(key);
         }
     }
     return(null);
 }