|
@@ -27,6 +27,7 @@ import com.iohao.mmo.bag.ItemIdConst;
|
|
|
import com.iohao.mmo.bag.cmd.BagCmd;
|
|
|
import com.iohao.mmo.bag.proto.BagItemMessage;
|
|
|
import com.iohao.mmo.bag.proto.BagMessage;
|
|
|
+import com.iohao.mmo.bag.proto.UseItemMessage;
|
|
|
import com.iohao.mmo.bag.proto.UseMessage;
|
|
|
import com.iohao.mmo.common.provide.kit.JsonKit;
|
|
|
import com.iohao.mmo.common.snow.SnowKit;
|
|
@@ -50,10 +51,22 @@ public class BagInputCommandRegion extends AbstractInputCommandRegion {
|
|
|
@Override
|
|
|
public void loginSuccessCallback() {
|
|
|
// 添加一些经验值道具
|
|
|
- var bagItemMessage = BagInternalHelper.ofBagItemMessage(ItemIdConst.expId);
|
|
|
+ BagItemMessage bagItemMessage = BagInternalHelper.ofBagItemMessage(ItemIdConst.expId);
|
|
|
bagItemMessage.quantity = 10;
|
|
|
log.info("添加 {} 个经验值道具 {}", bagItemMessage.quantity, bagItemMessage);
|
|
|
ofRequestCommand(BagCmd.incrementItem).request(bagItemMessage);
|
|
|
+
|
|
|
+ // 添加一些装备制造书材料
|
|
|
+ bagItemMessage = BagInternalHelper.ofBagItemMessage(ItemIdConst.equipWeaponBook_10);
|
|
|
+ bagItemMessage.quantity = 1;
|
|
|
+ log.info("添加 {} 【装备-武器】制造书材料 {}", bagItemMessage.quantity, bagItemMessage);
|
|
|
+ ofRequestCommand(BagCmd.incrementItem).request(bagItemMessage);
|
|
|
+
|
|
|
+ // 添加一些装备制造书材料
|
|
|
+ bagItemMessage = BagInternalHelper.ofBagItemMessage(ItemIdConst.iron_10);
|
|
|
+ bagItemMessage.quantity = 1;
|
|
|
+ log.info("添加 {} 装备-制造材料-铁 {}", bagItemMessage.quantity, bagItemMessage);
|
|
|
+ ofRequestCommand(BagCmd.incrementItem).request(bagItemMessage);
|
|
|
}
|
|
|
|
|
|
private void request() {
|
|
@@ -114,24 +127,13 @@ public class BagInputCommandRegion extends AbstractInputCommandRegion {
|
|
|
// 重新查询一次背包
|
|
|
ofRequestCommand(BagCmd.bag).request();
|
|
|
}).setDescription("从背包减少物品").setInputRequestData(inputRequestData);
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void useRequest() {
|
|
|
InputRequestData inputRequestData = () -> {
|
|
|
- ScannerKit.log(() -> log.info("输入需要使用的背包物品,格式 [背包物品id-数量]"));
|
|
|
- String inputType = ScannerKit.nextLine("1-1");
|
|
|
-
|
|
|
- SplitParam param = new SplitParam(inputType);
|
|
|
- String id = param.getString(0);
|
|
|
- int quantity = param.getInt(1, 1);
|
|
|
-
|
|
|
- var useItemMessage = BagInternalHelper.ofUseItemMessage(id);
|
|
|
- useItemMessage.quantity = quantity;
|
|
|
-
|
|
|
UseMessage useMessage = new UseMessage();
|
|
|
- useMessage.useItems = List.of(useItemMessage);
|
|
|
+ useMessage.useItems = sceneDefault();
|
|
|
+ ScannerKit.log(() -> log.info("当前所使用的物品信息 : {}", JsonKit.toJsonString(useMessage)));
|
|
|
return useMessage;
|
|
|
};
|
|
|
|
|
@@ -139,5 +141,52 @@ public class BagInputCommandRegion extends AbstractInputCommandRegion {
|
|
|
var value = result.getValue();
|
|
|
log.info("value : {}", value);
|
|
|
}).setDescription("使用背包物品").setInputRequestData(inputRequestData);
|
|
|
+
|
|
|
+ InputRequestData buildEquipInputRequestData = () -> {
|
|
|
+ UseMessage useMessage = new UseMessage();
|
|
|
+ useMessage.useItems = sceneBuildEquip();
|
|
|
+ ScannerKit.log(() -> log.info("打造装备-所使用物品 : {}", JsonKit.toJsonString(useMessage)));
|
|
|
+ return useMessage;
|
|
|
+ };
|
|
|
+
|
|
|
+ ofCommand(BagCmd.useBuildEquip).callback(BoolValue.class, result -> {
|
|
|
+ var value = result.getValue();
|
|
|
+ log.info("value : {}", value);
|
|
|
+ }).setDescription("打造装备").setInputRequestData(buildEquipInputRequestData);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<UseItemMessage> sceneBuildEquip() {
|
|
|
+ ScannerKit.log(() -> {
|
|
|
+ log.info("装备的制造最少需要使用两样背包物品,1.装备制造书、2.装备制造材料");
|
|
|
+ log.info("格式 [制造书物品id-制造铁物品id]");
|
|
|
+ });
|
|
|
+
|
|
|
+ String defaultValue = ItemIdConst.equipWeaponBook_10 + "-" + ItemIdConst.iron_10;
|
|
|
+ String inputType = defaultValue;
|
|
|
+// inputType = ScannerKit.nextLine(defaultValue);
|
|
|
+ SplitParam param = new SplitParam(inputType);
|
|
|
+
|
|
|
+ String equipWeaponBook = param.getString(0, ItemIdConst.equipWeaponBook_10);
|
|
|
+ UseItemMessage useItemMessageEquip = BagInternalHelper.ofUseItemMessage(equipWeaponBook);
|
|
|
+
|
|
|
+ String iron = param.getString(1, ItemIdConst.iron_10);
|
|
|
+ UseItemMessage useItemMessageIron = BagInternalHelper.ofUseItemMessage(iron);
|
|
|
+
|
|
|
+ return List.of(useItemMessageEquip, useItemMessageIron);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<UseItemMessage> sceneDefault() {
|
|
|
+ ScannerKit.log(() -> log.info("输入需要使用的背包物品,格式 [背包物品id-数量]"));
|
|
|
+ String inputType = ScannerKit.nextLine("1-1");
|
|
|
+ SplitParam param = new SplitParam(inputType);
|
|
|
+ // 得到下标 0 的值
|
|
|
+ String id = param.getString(0);
|
|
|
+ // 得到下标 1 的值,如果值不存在,则使用默认的 1 代替
|
|
|
+ int quantity = param.getInt(1, 1);
|
|
|
+
|
|
|
+ var useItemMessage = BagInternalHelper.ofUseItemMessage(id);
|
|
|
+ useItemMessage.quantity = quantity;
|
|
|
+
|
|
|
+ return List.of(useItemMessage);
|
|
|
}
|
|
|
}
|