internal bool DispatchPeerMsg(RoomPeer peer, int id, object msg)
 {
     if (peer == null) {
     return false;
       }
       peer.InsertLogicMsg(id, msg);
       return true;
 }
Example #2
0
 internal User()
 {
     peer_              = new RoomPeer();
     dispatcher_        = new Dispatcher();
     IsEntered          = false;
     IsDebug            = false;
     m_UserControlState = (int)DashFire.UserControlState.User;
 }
Example #3
0
 internal User()
 {
     peer_ = new RoomPeer();
     dispatcher_ = new Dispatcher();
     IsEntered = false;
     IsDebug = false;
     IsReady = false;
     m_UserControlState = (int)GameFramework.UserControlState.User;
 }
Example #4
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_GfxControlMoveStop _msg = msg as Msg_CRC_GfxControlMoveStop;

        if (null == _msg)
        {
            return;
        }
        peer.BroadCastMsgToRoom(_msg);
    }
Example #5
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_StopGfxImpact _msg = msg as Msg_CRC_StopGfxImpact;

        if (null == _msg)
        {
            return;
        }
        peer.BroadCastMsgToRoom(_msg);
    }
Example #6
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_SendImpactToEntity _msg = msg as Msg_CRC_SendImpactToEntity;

        if (null == _msg)
        {
            return;
        }
        peer.BroadCastMsgToRoom(_msg);
    }
Example #7
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_MoveMeetObstacle obstacle_msg = msg as Msg_CRC_MoveMeetObstacle;

        if (null == obstacle_msg)
        {
            return;
        }
        obstacle_msg.role_id = peer.RoleId;
        peer.BroadCastMsgToRoom(obstacle_msg);
    }
Example #8
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_Skill skill_msg = msg as Msg_CRC_Skill;

        if (null == skill_msg)
        {
            return;
        }
        skill_msg.role_id = peer.RoleId;
        peer.BroadCastMsgToRoom(skill_msg);
    }
Example #9
0
    internal static void OnMoveStart(object msg, RoomPeer peer)
    {
        Msg_CRC_MoveStart move_msg = msg as Msg_CRC_MoveStart;

        if (null == move_msg)
        {
            return;
        }
        move_msg.role_id = peer.RoleId;
        peer.BroadCastMsgToCareList(move_msg);
    }
Example #10
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_Face face_msg = msg as Msg_CRC_Face;

        if (null == face_msg)
        {
            return;
        }
        Msg_CRC_Face bd = face_msg;

        bd.role_id = peer.RoleId;
        peer.BroadCastMsgToRoom(bd);
    }
Example #11
0
    internal static void OnMoveStop(object msg, RoomPeer peer)
    {
        Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop;

        if (null == move_msg)
        {
            return;
        }
        Msg_CRC_MoveStop bd = move_msg;

        bd.role_id = peer.RoleId;
        peer.BroadCastMsgToCareList(bd);
    }
Example #12
0
    internal static void Execute(object msg, RoomPeer peer)
    {
        Msg_CRC_InteractObject _msg = msg as Msg_CRC_InteractObject;

        if (null == _msg)
        {
            return;
        }
        Msg_CRC_InteractObject bd = _msg;

        bd.initiator_id = peer.RoleId;
        peer.BroadCastMsgToRoom(bd);
    }
 internal void OnPeerDestroy(RoomPeer peer)
 {
     if (peer == null) {
     return;
       }
       RoomPeer dummy = null;
       if (m_KeyPeer.TryRemove(peer.GetKey(), out dummy)) {
     if (peer.GetConnection() != null) {
       if (!m_DicPeer.TryRemove(peer.GetConnection(), out dummy)) {
     AddToNeedDelete(peer.GetConnection());
       }
     }
       } else {
     AddToNeedDelete(peer.GetKey());
       }
 }
 internal static void Execute(object msg, RoomPeer peer)
 {
     Msg_Ping ping = msg as Msg_Ping;
     if (ping == null) {
       LogSys.Log(LOG_TYPE.DEBUG, "warning: convert to ping message failed!");
       return;
     }
     LogSys.Log(LOG_TYPE.DEBUG, "got {0} ping msg send ping time = {1}", peer.Guid, ping.send_ping_time);
     Msg_Pong pongBuilder = new Msg_Pong();
     long curtime = TimeUtility.GetLocalMilliseconds();
     pongBuilder.send_ping_time = ping.send_ping_time;
     pongBuilder.send_pong_time = curtime;
     peer.SetLastPingTime(curtime);
     Msg_Pong msg_pong = pongBuilder;
     peer.SendMessage(RoomMessageDefine.Msg_Pong, msg_pong);
 }
    public static void Execute(object msg, RoomPeer peer)
    {
        Msg_Ping ping = msg as Msg_Ping;

        if (ping == null)
        {
            LogSys.Log(LOG_TYPE.DEBUG, "warning: convert to ping message failed!");
            return;
        }
        LogSys.Log(LOG_TYPE.DEBUG, "got {0} ping msg send ping time = {1}", peer.Guid, ping.send_ping_time);
        Msg_Pong pongBuilder = new Msg_Pong();
        long     curtime     = TimeUtility.GetLocalMilliseconds();

        pongBuilder.send_ping_time = ping.send_ping_time;
        pongBuilder.send_pong_time = curtime;
        peer.SetLastPingTime(curtime);
        Msg_Pong msg_pong = pongBuilder;

        peer.SendMessage(RoomMessageDefine.Msg_Pong, msg_pong);
    }
 internal Observer()
 {
     peer_ = new RoomPeer();
       is_entered_ = false;
       is_idle_ = true;
 }
Example #17
0
 internal static void Execute(object msg, RoomPeer peer)
 {
     peer.BroadCastMsgToRoom(msg);
 }
 internal void SendPeerMessage(RoomPeer peer, RoomMessageDefine id, object msg)
 {
     try {
     NetOutgoingMessage om = m_NetServer.CreateMessage();
     om.Write(Serialize.Encode(msg, (int)id));
     if (null != peer.GetConnection()) {
       NetSendResult res = m_NetServer.SendMessage(om, peer.GetConnection(), NetDeliveryMethod.ReliableOrdered, 0);
       if (res == NetSendResult.Dropped) {
     LogSys.Log(LOG_TYPE.ERROR, "SendPeerMessage {0} failed:dropped, User:{1}({2})", msg.ToString(), peer.Guid, peer.GetKey());
       }
     }
       } catch (Exception ex) {
     LogSys.Log(LOG_TYPE.ERROR, "Exception {0}\n{1}", ex.Message, ex.StackTrace);
       }
 }
Example #19
0
 internal Observer()
 {
     peer_       = new RoomPeer();
     is_entered_ = false;
     is_idle_    = true;
 }
 private void AddToNeedAdd(NetConnection conn, RoomPeer peer)
 {
     lock (m_LockObj) {
     if (!m_NeedAddConnection2Peers.ContainsKey(conn)) {
       m_NeedAddConnection2Peers.Add(conn, peer);
     }
       }
 }
 private void AddToNeedAdd(uint key, RoomPeer peer)
 {
     lock (m_LockObj) {
     if (!m_NeedAddKey2Peers.ContainsKey(key)) {
       m_NeedAddKey2Peers.Add(key, peer);
     }
       }
 }
 internal bool OnUpdateKey(uint newKey, RoomPeer peer)
 {
     bool ret = false;
       uint oldKey = peer.GetKey();
       RoomPeer dummy;
       if (m_KeyPeer.TryGetValue(oldKey, out dummy)) {
     if (peer==dummy && m_KeyPeer.TryRemove(oldKey, out dummy)) {
       if (m_KeyPeer.TryAdd(newKey, peer)) {
     ret = true;
       }
     }
       }
       return ret;
 }
 internal bool OnSetKey(uint key, RoomPeer peer)
 {
     if (m_KeyPeer.ContainsKey(key)) {
     return false;
       }
       if (!m_KeyPeer.TryAdd(key, peer)) {
     AddToNeedAdd(key, peer);
       }
       return true;
 }