internal static Msg_RC_UserMove BuildUserMoveMessage(UserInfo user) { Msg_RC_UserMove userMoveBuilder = new Msg_RC_UserMove(); if (user.GetMovementStateInfo().IsMoving) { userMoveBuilder.role_id = user.GetId(); userMoveBuilder.is_moving = true; userMoveBuilder.move_direction = (float)user.GetMovementStateInfo().GetMoveDir(); userMoveBuilder.face_direction = (float)user.GetMovementStateInfo().GetFaceDir(); userMoveBuilder.cur_pos_x = user.GetMovementStateInfo().GetPosition3D().X; userMoveBuilder.cur_pos_z = user.GetMovementStateInfo().GetPosition3D().Z; UserAiStateInfo data = user.GetAiStateInfo(); userMoveBuilder.target_pos_x = user.GetMovementStateInfo().TargetPosition.X; userMoveBuilder.target_pos_z = user.GetMovementStateInfo().TargetPosition.Z; userMoveBuilder.velocity_coefficient = (float)user.VelocityCoefficient; } else { userMoveBuilder.role_id = user.GetId(); userMoveBuilder.is_moving = false; userMoveBuilder.cur_pos_x = user.GetMovementStateInfo().GetPosition3D().X; userMoveBuilder.cur_pos_z = user.GetMovementStateInfo().GetPosition3D().Z; } return(userMoveBuilder); }
internal static void Execute(object msg, NetConnection conn, NetworkSystem networkSystem) { Msg_RC_UserMove targetmsg = msg as Msg_RC_UserMove; if (null == targetmsg) { return; } }
private void OnUserMove(UserInfo user) { Scene scene = user.SceneContext.CustomData as Scene; if (null != scene) { Msg_RC_UserMove userMoveBuilder = DataSyncUtility.BuildUserMoveMessage(user); if (null != userMoveBuilder) { scene.NotifyAreaUser(user, userMoveBuilder, false); } } }