Browse Source

加入房间推送逻辑优化

johnclot69 6 months ago
parent
commit
5e3dd7adba

BIN
.gradle/7.5.1/executionHistory/executionHistory.bin


BIN
.gradle/7.5.1/executionHistory/executionHistory.lock


BIN
.gradle/7.5.1/fileHashes/fileHashes.bin


BIN
.gradle/7.5.1/fileHashes/fileHashes.lock


BIN
.gradle/7.5.1/fileHashes/resourceHashesCache.bin


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
incubator-game/build/classes/java/main/com/incubator/game/room/Room.class


BIN
incubator-game/build/tmp/compileJava/previous-compilation-data.bin


+ 3 - 4
incubator-game/src/main/java/com/incubator/game/room/Room.java

@@ -35,10 +35,9 @@ public class Room {
      */
     public void startRoomTask() {
         // 启动一个每秒运行一次的任务
-        this.scheduler.scheduleAtFixedRate(() -> {
-            // 例如,这里可以检查游戏状态、广播信息、或者更新某些数据
-            this.performRoomLogic();
-        }, 0, 1, TimeUnit.SECONDS); // 初始延迟为0,后续每隔1秒执行一次
+        // 初始延迟为0,后续每隔1秒执行一次
+        // 例如,这里可以检查游戏状态、广播信息、或者更新某些数据
+        this.scheduler.scheduleAtFixedRate(this::performRoomLogic, 0, 1, TimeUnit.SECONDS);
     }
 
     private void performRoomLogic() {

+ 1 - 1
incubator-game/src/main/java/com/incubator/game/service/RoomService.java

@@ -124,7 +124,7 @@ public class RoomService {
 
         // 推送房间其他3个玩家
         for (Player tmPlayer : room.data.playerMap.values()) {
-            if (tmPlayer != null && tmPlayer.getId() != player.getId()) {
+            if (tmPlayer != null && !Objects.equals(tmPlayer.getId(), player.getId())) {
                 Message msg = new Message();
                 msg.setCmd(CommonProto.Cmd.RoomPlayerJoin_VALUE);
                 msg.setData(MsgUtil.roomToMessage(room, tmPlayer, null));