package live_logic //type ( // ZhghzGameLogic struct { // *liveLogic // // // giftLogics 礼物处理 platform-cmd:logic // giftLogics map[string]GiftLogic // } //) // //func NewZhghzLiveGameLogic() *ZhghzGameLogic { // resp := &ZhghzGameLogic{ // giftLogics: make(map[string]GiftLogic), // liveLogic: NewLiveGameLogic(pbRoom.GameType_ZHGHZ, cmd.NewCMDParser(cmd.Pattern{ // Prefix: "j", // Alias: nil, // ContentMaxLen: 0, // }, cmd.Pattern{ // Prefix: "t", // Alias: nil, // ContentMaxLen: 1, // }, cmd.Pattern{ // Prefix: "m", // Alias: nil, // ContentMaxLen: 1, // }, cmd.Pattern{ // Prefix: "f", // Alias: nil, // ContentMaxLen: 0, // }, cmd.Pattern{ // Prefix: "w", // Alias: []string{"我在哪"}, // ContentMaxLen: 0, // })), // } // resp.RegisterCMDHandler(resp.handleJoinGame, "j") // resp.RegisterCMDHandler(resp.handleJoinGame, "t") // resp.RegisterCMDHandler(resp.handleMove, "m") // resp.RegisterCMDHandler(resp.handleShoot, "f") // resp.RegisterCMDHandler(resp.handleWai, "w") // // gift | game.chargeShield | game.giftShoot // resp.RegisterGiftHandler(resp.handleGift) // return resp //} // //func (h *ZhghzGameLogic) handleJoinGame(roomId int64, _ string, content []rune, user *pbCommon.PbUser) { // room, err := manager.GameManager.RoomByLiveRoom(roomId) // if err != nil { // return // } // // var team int32 // if len(content) > 0 { // v, _ := strconv.Atoi(string(content[0])) // team = int32(v) // } // room.Broadcast("game.join", &pbGameZhghz.JoinGame{ // User: user, // Team: team, // }) //} // //func (h *ZhghzGameLogic) handleMove(roomId int64, _ string, content []rune, user *pbCommon.PbUser) { // room, err := manager.GameManager.RoomByLiveRoom(roomId) // if err != nil { // return // } // // if len(content) < 1 { // return // } // v, _ := strconv.Atoi(string(content[0])) // // room.Broadcast("game.move", &pbGameZhghz.Move{ // User: user, // Direction: int32(v), // }) //} // //func (h *ZhghzGameLogic) handleShoot(roomId int64, _ string, _ []rune, user *pbCommon.PbUser) { // room, err := manager.GameManager.RoomByLiveRoom(roomId) // if err != nil { // return // } // room.Broadcast("game.shoot", &pbGameZhghz.Shoot{ // User: user, // }) //} // //func (h *ZhghzGameLogic) handleWai(roomId int64, _ string, _ []rune, user *pbCommon.PbUser) { // room, err := manager.GameManager.RoomByLiveRoom(roomId) // if err != nil { // return // } // room.Broadcast("game.wai", &pbGameZhghz.Where{User: user}) //} // //func (h *ZhghzGameLogic) handleGiftLogic(cmd string, roomId int64, user *pbCommon.PbUser, gift *pbMq.MqGift) bool { // if gl, ok := h.giftLogics[cmd]; ok { // for _, id := range gl.GiftIds { // if gift.GiftId == id { // gl.Fn(roomId, user, gift) // return true // } // } // return true // } else { // return false // } //} // //func (h *ZhghzGameLogic) handleGift(roomId int64, user *pbCommon.PbUser, gift *pbMq.MqGift) { // room, err := manager.GameManager.RoomByLiveRoom(roomId) // if err != nil { // return // } // // // bilibili // { // logicKey := fmt.Sprintf("%s-game.chargeShield", gift.Platform) // if ok := h.handleGiftLogic(logicKey, roomId, user, gift); !ok { // // 1 辣条 | 30607 小心心 > 魔法护盾 // h.giftLogics[logicKey] = GiftLogic{ // GiftIds: []int64{1, 30607}, // Fn: func(roomId int64, user *pbCommon.PbUser, gift *pbMq.MqGift) { // room.Broadcast("game.chargeShield", &pbGameZhghz.ChargeShield{ // User: user, // Points: int32(gift.GiftNum * 1), // }) // }, // } // } // // logicKey = fmt.Sprintf("%s-game.giftShoot", gift.Platform) // if ok := h.handleGiftLogic(logicKey, roomId, user, gift); !ok { // // 31036 小花花 | 31039 牛哇牛哇 > 魔法飞弹 // h.giftLogics[logicKey] = GiftLogic{ // GiftIds: []int64{31036, 31039}, // Fn: func(roomId int64, user *pbCommon.PbUser, gift *pbMq.MqGift) { // room.Broadcast("game.giftShoot", &pbGameZhghz.ChargeShield{ // User: user, // Points: int32(gift.GiftNum * 1), // }) // }, // } // } // } //}