ソースを参照

:whale: macos jsonCodec

渔民小镇 1 年間 前
コミット
7cc1a6db39

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

@@ -18,10 +18,13 @@
  */
 package com.iohao.mmo;
 
+import com.iohao.game.action.skeleton.core.IoGameGlobalSetting;
+import com.iohao.game.action.skeleton.core.codec.JsonDataCodec;
 import com.iohao.game.action.skeleton.ext.spring.ActionFactoryBeanForSpring;
 import com.iohao.game.bolt.broker.client.AbstractBrokerClientStartup;
 import com.iohao.game.bolt.broker.core.common.IoGameGlobalConfig;
 import com.iohao.game.bolt.broker.server.BrokerServer;
+import com.iohao.game.common.kit.system.OsInfo;
 import com.iohao.game.external.core.ExternalServer;
 import com.iohao.game.external.core.config.ExternalGlobalConfig;
 import com.iohao.game.external.core.netty.simple.NettyRunOne;
@@ -54,6 +57,7 @@ public class OneApplication {
     public static void main(String[] args) {
         SpringApplication.run(OneApplication.class, args);
 
+
         extractedConfig();
 
         // 游戏逻辑服列表
@@ -108,6 +112,10 @@ public class OneApplication {
     private static void extractedConfig() {
         // 使用自定义 UserProcessor 构建 Executor 的策略
         IoGameGlobalConfig.userProcessorExecutorStrategy = new MyUserProcessorExecutorStrategy();
+
+        if (OsInfo.me().isMac()) {
+            IoGameGlobalSetting.setDataCodec(new JsonDataCodec());
+        }
     }
 
     @Bean

+ 11 - 0
one-client/src/main/java/com/iohao/mmo/client/CommonClient.java

@@ -18,6 +18,9 @@
  */
 package com.iohao.mmo.client;
 
+import com.iohao.game.action.skeleton.core.IoGameGlobalSetting;
+import com.iohao.game.action.skeleton.core.codec.JsonDataCodec;
+import com.iohao.game.common.kit.system.OsInfo;
 import com.iohao.game.external.client.InputCommandRegion;
 import com.iohao.game.external.client.join.ClientRunOne;
 import com.iohao.game.external.client.user.ClientUser;
@@ -40,6 +43,8 @@ import java.util.List;
  */
 public class CommonClient {
     static void start(long userId) {
+        extractedConfig();
+
         // 客户端的用户(玩家)
         ClientUser clientUser = new DefaultClientUser();
         clientUser.setJwt(String.valueOf(userId));
@@ -53,6 +58,12 @@ public class CommonClient {
                 .startup();
     }
 
+    private static void extractedConfig() {
+        if (OsInfo.me().isMac()) {
+            IoGameGlobalSetting.setDataCodec(new JsonDataCodec());
+        }
+    }
+
     private static List<InputCommandRegion> listInputCommandRegion() {
         // 登录
         LoginInputCommandRegion loginInputCommandRegion = new LoginInputCommandRegion();

+ 1 - 1
one-client/src/main/java/com/iohao/mmo/client/input/MailInputCommandRegion.java

@@ -90,7 +90,7 @@ public class MailInputCommandRegion extends AbstractInputCommandRegion {
 
         ofCommand(MailCmd.deleteMails).callback(BoolValue.class, result -> {
             BoolValue value = result.getValue();
-            log.info("删除{}", value.value ? "成功" : "失败");
+            log.info("删除成功", value);
         }).setDescription("一键删除所有已开封和过期的邮件");
 
         ofCommand(MailCmd.openMail).setDescription("领取指定未开封的邮件").setInputRequestData(() -> {

+ 2 - 1
pom.xml

@@ -79,7 +79,8 @@
         <junit.version>4.13.2</junit.version>
         <!-- 演示用的假数据 https://mvnrepository.com/artifact/com.github.javafaker/javafaker -->
         <javafaker.version>1.0.2</javafaker.version>
-        <fastjson2.version>2.0.37</fastjson2.version>
+        <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
+        <fastjson2.version>2.0.39</fastjson2.version>
     </properties>
 
     <dependencies>

+ 1 - 0
provide/common-provide/src/main/java/com/iohao/mmo/common/provide/cmd/CommonCmd.java

@@ -26,6 +26,7 @@ import com.iohao.game.action.skeleton.core.CmdInfo;
  */
 public interface CommonCmd {
     int cmd = CmdModule.commandCmd;
+    /** 获得新物品通知 */
     int broadcastShowItem = 100;
 
     static CmdInfo of(int subCmd) {