playroom 优化
This commit is contained in:
parent
4b4f101369
commit
b96b200c47
@ -22,8 +22,12 @@ type FirendData struct {
|
||||
}
|
||||
|
||||
func (f *FriendMgr) Init() {
|
||||
|
||||
gob.Register(card.CardInfo{})
|
||||
gob.Register(item.Item{})
|
||||
gob.Register([]*item.Item{}) // 注册 []*item.Item 类型
|
||||
gob.Register(msg.Msg{}) // 注册 msg.Msg 类型
|
||||
|
||||
f.key = FRIEND_MGR_KEY
|
||||
f.data = &FirendData{
|
||||
List: make(map[int][]*msg.Msg),
|
||||
|
||||
@ -650,6 +650,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
// 玩家
|
||||
RegisterMsgProcessFunc("ReqUserInfo", ReqUserInfo)
|
||||
RegisterMsgProcessFunc("ReqSetName", ReqSetName) // 设置名字
|
||||
RegisterMsgProcessFunc("ReqSetPetName", ReqSetPetName) // 设置宠物名字
|
||||
RegisterMsgProcessFunc("ReqSetFacebookUrl", ReqSetFacebookUrl) // 设置facebook地址
|
||||
RegisterMsgProcessFunc("ReqPlayerBaseInfo", ReqPlayerBaseInfofunction) // 请求玩家基本信息
|
||||
RegisterMsgProcessFunc("UpdateBaseItemInfo", UpdateBaseItemInfofunction) // 保存引导
|
||||
|
||||
@ -13,6 +13,9 @@ const (
|
||||
LoginOut_log = 2
|
||||
Event_log = 3
|
||||
)
|
||||
const (
|
||||
PLAYROOM_LOST = "playroom_lost"
|
||||
)
|
||||
|
||||
type LogMgr struct {
|
||||
L []*Log
|
||||
|
||||
@ -257,6 +257,7 @@ func (p *Player) InitPlayer(UserName string) error {
|
||||
// GoUtil.RegisterEvent(MergeConst.Notify_Daily_Renew, p.ZeroUpdate, p)
|
||||
// GoUtil.RegisterEvent(MergeConst.Notify_Midday_Renew, p.ZeroUpdate, p)
|
||||
SyncFriendMsg(p)
|
||||
p.UpdateUserInfo()
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -477,9 +478,9 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
}
|
||||
var change_type string
|
||||
if v.Num < 0 {
|
||||
change_type = "gain"
|
||||
} else {
|
||||
change_type = "consume"
|
||||
} else {
|
||||
change_type = "gain"
|
||||
}
|
||||
IType := itemCfg.GetItemType(v.Id)
|
||||
switch IType {
|
||||
@ -716,12 +717,15 @@ func (p *Player) GetSimpleData(Uid int, simple *PlayerSimpleData) error {
|
||||
simple.Level = p.GetPlayerBaseMod().GetLevel()
|
||||
simple.Decorate = p.PlayMod.getDecorateMod().DecorateNum
|
||||
simple.Login = int64(Base.Data.LoginTime)
|
||||
simple.Star = p.GetPlayerBaseMod().GetStar()
|
||||
simple.Loginout = int64(Base.Data.LogoutTime)
|
||||
simple.FaceBook = Base.Data.FaceBookId
|
||||
simple.FaceBookPic = p.PlayMod.getBaseMod().FacebookUrl
|
||||
simple.Playroom = p.PlayMod.getPlayroomMod().Room
|
||||
simple.Chess = p.PlayMod.getChessMod().GetChessList()
|
||||
simple.WorkStart = p.PlayMod.getPlayroomMod().Starttime
|
||||
simple.Chip = p.PlayMod.getPlayroomMod().Chip
|
||||
simple.PetName = p.PlayMod.getBaseMod().PetName
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -731,6 +735,7 @@ func (p *Player) UpdateUserInfo() {
|
||||
simple.Name = p.GetPlayerBaseMod().GetName()
|
||||
simple.Avatar = p.PlayMod.getAvatarMod().SetId
|
||||
simple.Uid = int(p.M_DwUin)
|
||||
simple.Star = p.GetPlayerBaseMod().GetStar()
|
||||
simple.Face = p.PlayMod.getFaceMod().SetId
|
||||
simple.Level = p.GetPlayerBaseMod().GetLevel()
|
||||
simple.Decorate = p.PlayMod.getDecorateMod().DecorateNum
|
||||
@ -741,6 +746,8 @@ func (p *Player) UpdateUserInfo() {
|
||||
simple.Playroom = p.PlayMod.getPlayroomMod().Room
|
||||
simple.Chess = p.PlayMod.getChessMod().GetChessList()
|
||||
simple.WorkStart = p.PlayMod.getPlayroomMod().Starttime
|
||||
simple.Chip = p.PlayMod.getPlayroomMod().Chip
|
||||
simple.PetName = p.PlayMod.getBaseMod().PetName
|
||||
value, _ := json.Marshal(simple)
|
||||
IdStr := strconv.Itoa(int(p.M_DwUin))
|
||||
db.RedisSetKey(IdStr, string(value), 0)
|
||||
|
||||
@ -227,6 +227,8 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
} else {
|
||||
PlayroomMod.Lose(Items)
|
||||
}
|
||||
p.UpdateUserInfo()
|
||||
p.Kafka(PLAYROOM_LOST, map[string]interface{}{"uid": m.From})
|
||||
p.PushClientRes(PlayroomMod.NotifyLose())
|
||||
}
|
||||
return nil
|
||||
@ -562,7 +564,7 @@ func PlayroomVisit(p *Player, Uid int) {
|
||||
r.Playroom = GoUtil.MapIntToInt32(PlayerData.Playroom)
|
||||
r.GameId = int32(PlayroomMod.GameId)
|
||||
r.Defense = Work
|
||||
r.Chip = int32(PlayroomMod.Chip)
|
||||
r.Chip = int32(PlayerData.Chip)
|
||||
Items := make(map[int32]*proto.ItemInfo, 0)
|
||||
for k, v := range PlayroomMod.GameReward {
|
||||
Items[int32(k)] = &proto.ItemInfo{
|
||||
|
||||
@ -2323,6 +2323,25 @@ func ReqSetName(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqSetPetName(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqSetPetName{}
|
||||
proto.Unmarshal(buf, req)
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
BaseMod.SetNickName(req.Name)
|
||||
player.PushClientRes(&msg.ResSetPetName{
|
||||
ResultCode: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.PlayMod.save()
|
||||
BackUserInfo(player)
|
||||
player.UpdateUserInfo()
|
||||
player.TeLog("petname_set", map[string]interface{}{
|
||||
"petname": req.Name,
|
||||
})
|
||||
player.UpdateUserInfo()
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqUserInfo(args []interface{}) error {
|
||||
_, player, _ := ParseArgs(args)
|
||||
BackUserInfo(player)
|
||||
@ -2731,32 +2750,32 @@ func ReqPlayroomInfo(args []interface{}) error {
|
||||
} else {
|
||||
PlayroomMod.SetGameId(2)
|
||||
}
|
||||
if len(PlayroomMod.GameReward) == 0 {
|
||||
Star := min(500, max(PlayerData.Star/10, 10))
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
EmitList := ChessMod.GetOrderEmit()
|
||||
ColorList := make([]string, 0)
|
||||
for _, v := range EmitList {
|
||||
Color := mergeDataCfg.GetEmitProduceChessType(v)
|
||||
ColorList = append(ColorList, Color...)
|
||||
}
|
||||
RandList := make([]int, 0)
|
||||
for _, v := range PlayerData.Chess {
|
||||
Color := mergeDataCfg.GetColorById(v)
|
||||
Lv := mergeDataCfg.GetLvById(v)
|
||||
if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 {
|
||||
RandList = append(RandList, v)
|
||||
}
|
||||
}
|
||||
if len(RandList) == 0 {
|
||||
PlayroomMod.SetGameReward(0, 0, Star)
|
||||
} else if len(RandList) == 1 {
|
||||
PlayroomMod.SetGameReward(0, RandList[0], Star)
|
||||
} else {
|
||||
ChessList := GoUtil.RandSliceNum(RandList, 2)
|
||||
PlayroomMod.SetGameReward(ChessList[0], ChessList[1], Star)
|
||||
|
||||
Star := min(500, max(PlayerData.Star/10, 10))
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
EmitList := ChessMod.GetOrderEmit()
|
||||
ColorList := make([]string, 0)
|
||||
for _, v := range EmitList {
|
||||
Color := mergeDataCfg.GetEmitProduceChessType(v)
|
||||
ColorList = append(ColorList, Color...)
|
||||
}
|
||||
RandList := make([]int, 0)
|
||||
for _, v := range PlayerData.Chess {
|
||||
Color := mergeDataCfg.GetColorById(v)
|
||||
Lv := mergeDataCfg.GetLvById(v)
|
||||
if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 {
|
||||
RandList = append(RandList, v)
|
||||
}
|
||||
}
|
||||
if len(RandList) == 0 {
|
||||
PlayroomMod.SetGameReward(0, 0, Star)
|
||||
} else if len(RandList) == 1 {
|
||||
PlayroomMod.SetGameReward(0, RandList[0], Star)
|
||||
} else {
|
||||
ChessList := GoUtil.RandSliceNum(RandList, 2)
|
||||
PlayroomMod.SetGameReward(ChessList[0], ChessList[1], Star)
|
||||
}
|
||||
|
||||
PlayroomVisit(player, Targer)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -15,6 +15,8 @@ type PlayerSimpleData struct {
|
||||
Playroom map[int]int
|
||||
Chess []int
|
||||
WorkStart int64
|
||||
Chip int
|
||||
PetName string
|
||||
}
|
||||
|
||||
type VarGoldCard struct {
|
||||
|
||||
@ -16,6 +16,7 @@ type Base struct {
|
||||
IsFirstBuy bool
|
||||
EnergyBuy int
|
||||
NickName string
|
||||
PetName string
|
||||
FacebookUrl string
|
||||
LoginBack bool // 回归补偿
|
||||
}
|
||||
@ -49,6 +50,10 @@ func (b *Base) SetNickName(Name string) {
|
||||
b.NickName = Name
|
||||
}
|
||||
|
||||
func (b *Base) SetPetName(Name string) {
|
||||
b.PetName = Name
|
||||
}
|
||||
|
||||
func (b *Base) GetIsFirstBuy() bool {
|
||||
return b.IsFirstBuy
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user