internal static void Execute(object msg, User user) { Msg_CRC_InteractObject ctrlObj = msg as Msg_CRC_InteractObject; if (ctrlObj == null) { return; } UserInfo userInfo = user.Info; if (userInfo == null) { LogSys.Log(LOG_TYPE.ERROR, "charactor {0} not exist", user.RoleId); return; } Scene scene = user.OwnRoom.GetActiveScene(); if (null != scene) { NpcInfo receiver = scene.NpcManager.GetNpcInfo(ctrlObj.receiver_id); if (null != receiver) { } } }
internal static void Execute(object msg, NetConnection conn, NetworkSystem networkSystem) { Msg_CRC_InteractObject _msg = msg as Msg_CRC_InteractObject; if (null == _msg) { return; } int initiatorId = _msg.initiator_id; int receiverId = _msg.receiver_id; }
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); }
public bool InteractObject() { if (m_IsObserver) { if (m_IsFollowObserver) { LinkedListNode <UserInfo> node = null; for (node = UserManager.Users.FirstValue; null != node; node = node.Next) { if (node.Value == m_PlayerSelf) { continue; } if (node.Value.GetId() == m_FollowTargetId) { node = node.Next; break; } } if (null == node) { for (node = UserManager.Users.FirstValue; null != node; node = node.Next) { if (node.Value == m_PlayerSelf) { continue; } else { break; } } } if (null != node) { m_FollowTargetId = node.Value.GetId(); GfxSystem.PublishGfxEvent("ge_pvpSelfCombatInfo", "ui", node.Value.GetCombatStatisticInfo()); /*if (!node.Value.IsDead()) * GfxSystemExt.GfxSystem.Instance.MainCamera.FollowCharacter(m_FollowTargetId, GetCharacterPosition);*/ } } return(true); } bool sendMsg = false; if (null != m_PlayerSelf) { int initiator = m_PlayerSelf.GetId(); int receiver = 0; //释放控制为低优先级操作 if (!sendMsg && null != m_PlayerSelf.ControlledObject) { receiver = m_PlayerSelf.ControlledObject.GetId(); sendMsg = true; } if (sendMsg) { Msg_CRC_InteractObject builder = new Msg_CRC_InteractObject(); //builder.InitiatorId = initiator; builder.receiver_id = receiver; NetworkSystem.Instance.SendMessage(builder); } } return(sendMsg); }