internal static void OnMoveStop(object msg, NetConnection conn, NetworkSystem networkSystem) { Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop; if (null == move_msg) { return; } }
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); }
internal static void OnMoveStop(object msg, User user) { Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop; if (null == move_msg) { return; } var msi = user.Info.GetMovementStateInfo(); msi.StopMove(); msi.IsMoving = false; if (!msi.IsSkillMoving) { float x = move_msg.position.x; float z = move_msg.position.z; float velocity = (float)user.Info.GetActualProperty().MoveSpeed; if (!user.VerifyMovingPosition(x, z, velocity, move_msg.send_time)) { //todo:记录违规次数 /* * Msg_RC_AdjustPosition syncMsg = new Msg_RC_AdjustPosition(); * syncMsg.role_id = user.RoleId; * syncMsg.x = x; * syncMsg.z = z; * user.BroadCastMsgToRoom(syncMsg, false); */ } msi.SetPosition2D(x, z); user.SampleMoveData(x, z, velocity, msi.MoveDirCosAngle, msi.MoveDirSinAngle, move_msg.send_time); } user.LastIsMoving = false; //LogSys.Log(LOG_TYPE.DEBUG, "MoveStop User:{0} isskillmoving:{1} ismovemeetobstacle:{2} time:{3} client time:{4}", user.RoleId, msi.IsSkillMoving, msi.IsMoveMeetObstacle, TimeUtility.GetServerMilliseconds(), move_msg.send_time); }