78 lines
2.6 KiB
Go
78 lines
2.6 KiB
Go
package msg
|
|
|
|
import (
|
|
"log"
|
|
"rocommon"
|
|
"rocommon/util"
|
|
"roserver/baseserver/model"
|
|
model2 "roserver/fruit/model"
|
|
"roserver/serverproto"
|
|
)
|
|
|
|
func init() {
|
|
log.Println("fruit msg init ..")
|
|
serverproto.Handle_FRUIT_SSPlayerOnlineNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSPlayerOnlineNtf)
|
|
util.InfoF("receive SSPlayerOnlineNtf msg:%v", msg)
|
|
model2.FruitMgr.AddPlayer(msg.BriefInfo.Uid, msg.BriefInfo.NickName)
|
|
})
|
|
|
|
serverproto.Handle_FRUIT_SSPlayerOfflineNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.SSPlayerOfflineNtf)
|
|
util.InfoF("receive SSPlayerOfflineNtf msg:%v", msg)
|
|
model2.FruitMgr.Room.Leave(msg.Uid)
|
|
model2.FruitMgr.RemovePlayer(msg.Uid)
|
|
})
|
|
|
|
serverproto.Handle_FRUIT_CSFruitJoinReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.CSFruitJoinReq)
|
|
util.InfoF("receive CSFruitJoinReq msg:%v", msg)
|
|
model2.FruitMgr.Room.Join(msg.Uid)
|
|
ackMsg := &serverproto.SCFruitJoinAck{
|
|
Error: 0,
|
|
}
|
|
model.ServiceReplay(ev, ackMsg)
|
|
})
|
|
|
|
serverproto.Handle_FRUIT_CSFruitLeaveReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.CSFruitLeaveReq)
|
|
util.InfoF("receive CSFruitLeaveReq msg:%v", msg)
|
|
model2.FruitMgr.Room.Leave(msg.Uid)
|
|
ackMsg := &serverproto.SCFruitLeaveAck{
|
|
Error: 0,
|
|
}
|
|
model.ServiceReplay(ev, ackMsg)
|
|
})
|
|
|
|
serverproto.Handle_FRUIT_CSFruitBetReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
|
|
msg := ev.Msg().(*serverproto.CSFruitBetReq)
|
|
util.InfoF("receive CSFruitBetReq msg:%v", msg)
|
|
uid := msg.Uid
|
|
errCode := model2.FruitMgr.Room.Bet(msg.Uid, msg.GetBetInfo())
|
|
player := model2.FruitMgr.GetPlayer(uid)
|
|
totalBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
|
myBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
|
var i int32
|
|
for i = 1; i <= 8; i++ {
|
|
slotTotalBetNum := model2.FruitMgr.Room.TotalBetInfo[i]
|
|
myBetNum := player.CurrBetInfo[i]
|
|
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotBetInfo{
|
|
Slot: i,
|
|
BetNum: slotTotalBetNum,
|
|
})
|
|
myBetInfo = append(myBetInfo, &serverproto.FruitSlotBetInfo{
|
|
Slot: i,
|
|
BetNum: myBetNum,
|
|
})
|
|
}
|
|
ackMsg := &serverproto.SCFruitBetAck{
|
|
Error: int32(errCode),
|
|
MyChipNum: player.ChipNum,
|
|
PoolChipNum: model2.FruitMgr.Room.PoolChipNum,
|
|
TotalBetInfo: totalBetInfo,
|
|
MyBetInfo: myBetInfo,
|
|
}
|
|
model.ServiceReplay(ev, ackMsg)
|
|
})
|
|
}
|