|
@@ -0,0 +1,57 @@
|
|
|
+/*
|
|
|
+ * ioGame
|
|
|
+ * Copyright (C) 2021 - 2023 渔民小镇 (262610965@qq.com、luoyizhu@gmail.com) . All Rights Reserved.
|
|
|
+ * # iohao.com . 渔民小镇
|
|
|
+ *
|
|
|
+ * This program is free software: you can redistribute it and/or modify
|
|
|
+ * it under the terms of the GNU Affero General Public License as
|
|
|
+ * published by the Free Software Foundation, either version 3 of the
|
|
|
+ * License, or (at your option) any later version.
|
|
|
+ *
|
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+ * GNU Affero General Public License for more details.
|
|
|
+ *
|
|
|
+ * You should have received a copy of the GNU Affero General Public License
|
|
|
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
+ */
|
|
|
+package com.iohao.mmo.common.config;
|
|
|
+
|
|
|
+import com.iohao.game.action.skeleton.core.IoGameGlobalSetting;
|
|
|
+import com.iohao.game.action.skeleton.core.codec.DataCodec;
|
|
|
+import com.iohao.game.action.skeleton.core.codec.JsonDataCodec;
|
|
|
+import com.iohao.game.bolt.broker.core.common.IoGameGlobalConfig;
|
|
|
+import com.iohao.mmo.common.logic.server.MyUserProcessorExecutorStrategy;
|
|
|
+import lombok.AccessLevel;
|
|
|
+import lombok.Getter;
|
|
|
+import lombok.Setter;
|
|
|
+import lombok.experimental.FieldDefaults;
|
|
|
+import lombok.experimental.UtilityClass;
|
|
|
+
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author 渔民小镇
|
|
|
+ * @date 2023-08-28
|
|
|
+ */
|
|
|
+@UtilityClass
|
|
|
+public class MyGlobalSetting {
|
|
|
+ AtomicBoolean setting = new AtomicBoolean();
|
|
|
+
|
|
|
+ public void defaultSetting() {
|
|
|
+ if (setting.get()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!setting.compareAndSet(false, true)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 使用自定义 UserProcessor 构建 Executor 的策略
|
|
|
+ IoGameGlobalConfig.userProcessorExecutorStrategy = new MyUserProcessorExecutorStrategy();
|
|
|
+
|
|
|
+ IoGameGlobalSetting.setDataCodec(new JsonDataCodec());
|
|
|
+ }
|
|
|
+
|
|
|
+}
|