local bagData = require("data.bag") local root = class("battle", require("base.baseModule")) function root:ctor(uid) root.super.ctor(self, uid, "battle", "uid", true) self.uid = uid end function root:mysql_get_init_columns() return { uid = "int(11) unsigned NOT NULL", roomId = "int(11) DEFAULT 0 COMMENT '当前房间ID'", costItems = "json COMMENT '消耗物品列表'" } end -- 登录 function root:do_login() end -- 绑定房间 function root:band_room(roomId, costItems) self:redis_update_key_info("roomId", roomId) self:redis_update_key_info("costItems", costItems) end -- 解绑房间 -- ty - 解绑类型: leave:离开 dismiss:解散 seat:更换座位 settle:结算 function root:unband_room(ty) self:redis_update_key_info("roomId") local costItems = self:redis_get_key_info("costItems") if (ty == "leave" or ty == "dismiss" or ty == "seat") and not is_empty(costItems) then -- 返回物品 local keyEvent = string.format("room-%s", ty) bagData:add_items(self.uid, costItems, keyEvent) end self:redis_update_key_info("costItems") return true end -- 是否绑定房间 function root:is_band_room() local roomId = self:redis_get_key_info("roomId") local costItems = self:redis_get_key_info("costItems") return not is_empty(roomId) and not is_empty(costItems) end -- 获取当前房间ID function root:get_room_id() return self:redis_get_key_info("roomId") end -- 获取绑定房间消耗物品 function root:get_room_cost_items() return self:redis_get_key_info("costItems") end return root