渔民小镇 hai 1 ano
pai
achega
23445b06e1

+ 0 - 1
logic/a-logic-common/pom.xml

@@ -18,7 +18,6 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
-
     <dependencies>
         <!-- 公共核心模块 -->
         <dependency>

+ 2 - 0
logic/map-logic/src/main/java/com/iohao/mmo/map/action/MapAction.java

@@ -44,6 +44,8 @@ import java.util.Collection;
 import java.util.Objects;
 
 /**
+ * 地图
+ *
  * @author 渔民小镇
  * @date 2023-07-27
  */

+ 2 - 5
logic/person-logic/src/test/java/com/iohao/mmo/person/entity/PersonTest.java

@@ -6,7 +6,6 @@ import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.mongodb.core.MongoTemplate;
 
 /**
  * @author 渔民小镇
@@ -15,8 +14,6 @@ import org.springframework.data.mongodb.core.MongoTemplate;
 @Slf4j
 @SpringBootTest
 public class PersonTest {
-    @Resource
-    MongoTemplate mongoTemplate;
     @Resource
     HeroService heroService;
     @Resource
@@ -32,8 +29,8 @@ public class PersonTest {
     void testPerson() {
         long userId = 1;
         personService.initPerson(userId);
-        Person personById = personService.getPersonById(userId);
+        Person person = personService.getPersonById(userId);
 
-        log.info("personById : {}", personById);
+        log.info("person : {}", person);
     }
 }

+ 2 - 0
one-application/src/main/java/com/iohao/mmo/OneApplication.java

@@ -37,6 +37,8 @@ import org.springframework.context.annotation.Bean;
 import java.util.List;
 
 /**
+ * 游戏服务器启动类
+ *
  * @author 渔民小镇
  * @date 2023-07-21
  */

+ 2 - 0
one-client/src/main/java/com/iohao/mmo/client/OneClient.java

@@ -21,6 +21,8 @@ package com.iohao.mmo.client;
 import lombok.extern.slf4j.Slf4j;
 
 /**
+ * 模拟客户端启动类
+ *
  * @author 渔民小镇
  * @date 2023-07-21
  */

+ 23 - 7
provide/map-provide/src/main/java/com/iohao/mmo/map/client/MapInputCommandRegion.java

@@ -19,6 +19,7 @@
 package com.iohao.mmo.map.client;
 
 import com.iohao.game.common.kit.InternalKit;
+import com.iohao.game.common.kit.attr.AttrOption;
 import com.iohao.game.external.client.AbstractInputCommandRegion;
 import com.iohao.game.external.client.command.InputRequestData;
 import com.iohao.game.external.client.kit.ScannerKit;
@@ -36,6 +37,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Slf4j
 public class MapInputCommandRegion extends AbstractInputCommandRegion {
+
     @Override
     public void initInputCommand() {
         this.inputCommandCreate.cmd = MapCmd.cmd;
@@ -43,11 +45,10 @@ public class MapInputCommandRegion extends AbstractInputCommandRegion {
         request();
         listen();
 
+        // N 秒后自动进入地图
         InternalKit.newTimeout(task -> {
-            // N 秒后自动进入地图
-            // 请求参数
-            EnterMapReq enterMapReq = new EnterMapReq();
             // 进入地图,根据地图 id
+            EnterMapReq enterMapReq = new EnterMapReq();
             enterMapReq.mapId = 1;
             ofRequestCommand(MapCmd.enterMap).request(enterMapReq);
         }, 2, TimeUnit.SECONDS);
@@ -75,19 +76,34 @@ public class MapInputCommandRegion extends AbstractInputCommandRegion {
         // 动态请求参数
         inputRequestData = () -> {
             // 请求参数
-            LocationMessage locationMessage = new LocationMessage();
-            locationMessage.x = 100;
-
+            LocationMessage locationMessage = clientUser.option(InternalAttr.locationMessage);
+            locationMessage.x += 10;
+            locationMessage.y += 10;
             return locationMessage;
         };
 
         ofCommand(MapCmd.move).callback(LocationMessage.class, result -> {
             LocationMessage value = result.getValue();
             log.info("r玩家移动 : {}", value);
+
+            if (value.playerId == clientUser.getUserId()) {
+                // 保存自己的 location
+                clientUser.option(InternalAttr.locationMessage, value);
+            }
+
         }).setDescription("玩家移动").setInputRequestData(inputRequestData);
     }
 
     private void listen() {
+        listenBroadcast(LocationMessage.class, result -> {
+            LocationMessage value = result.getValue();
+            log.info("玩家移动 : {}", value);
+        }, MapCmd.move, "玩家移动");
+    }
 
+    interface InternalAttr {
+        AttrOption<LocationMessage> locationMessage = AttrOption.valueOf("locationMessage", new LocationMessage());
     }
-}
+}
+
+

+ 2 - 0
provide/map-provide/src/main/java/com/iohao/mmo/map/proto/MapPlayerMessage.java

@@ -24,6 +24,8 @@ import lombok.ToString;
 import lombok.experimental.FieldDefaults;
 
 /**
+ * 地图上的玩家
+ *
  * @author 渔民小镇
  * @date 2023-07-27
  */