图鉴附属点赞功能
This commit is contained in:
parent
65eb41e01a
commit
668703d3f4
35
src/server/conf/handbook/handbookCfg.go
Normal file
35
src/server/conf/handbook/handbookCfg.go
Normal file
@ -0,0 +1,35 @@
|
||||
package handbookCfg
|
||||
|
||||
import (
|
||||
"server/game/mod/item"
|
||||
"server/gamedata"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
)
|
||||
|
||||
const (
|
||||
CFG_HANDBOOK = "Handbook"
|
||||
CFG_HANDBOOK_CONST = "HandbookConst"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gamedata.InitCfg(CFG_HANDBOOK)
|
||||
gamedata.InitCfg(CFG_HANDBOOK_CONST)
|
||||
}
|
||||
|
||||
func GetHandbookReward(Type string) []*item.Item {
|
||||
data, err := gamedata.GetDataByKey(CFG_HANDBOOK, Type)
|
||||
if err != nil {
|
||||
log.Debug("GetHandbookReward err:%v", err)
|
||||
return nil
|
||||
}
|
||||
return gamedata.GetItemList(data, "Items")
|
||||
}
|
||||
|
||||
func GetHandbookCollectReward() []*item.Item {
|
||||
data, err := gamedata.GetDataByKey(CFG_HANDBOOK_CONST, "collect_item")
|
||||
if err != nil {
|
||||
log.Debug("GetHandbookCollectReward err:%v", err)
|
||||
return nil
|
||||
}
|
||||
return gamedata.GetItemList(data, "Value")
|
||||
}
|
||||
@ -646,7 +646,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
|
||||
//领取图鉴奖励
|
||||
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
|
||||
|
||||
RegisterMsgProcessFunc("RegHandbookAllReward", RegHandbookAllReward) //领取图鉴收集奖励
|
||||
//领取订单奖励
|
||||
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
|
||||
RegisterMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单
|
||||
@ -709,6 +709,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
RegisterMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表
|
||||
RegisterMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线
|
||||
RegisterMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友
|
||||
RegisterMsgProcessFunc("ReqFriendTLUpvote", ReqFriendTLUpvote) // 请求时间线点赞
|
||||
|
||||
RegisterMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友
|
||||
RegisterMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友
|
||||
|
||||
@ -223,6 +223,9 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
Items = m.Extra.([]*item.Item)
|
||||
}
|
||||
p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String())
|
||||
case msg.HANDLE_TYPE_HANDBOOK_COLLECTION: // 图鉴收集奖励
|
||||
data := m.Extra.(msg.HandbookMsg)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, fmt.Sprintf("%s", data.Type))
|
||||
}
|
||||
// #region 以下是处理系统请求
|
||||
return nil
|
||||
@ -373,6 +376,7 @@ func FriendLogBackData(p *Player) {
|
||||
Time: int32(v.Time),
|
||||
Param: v.Param,
|
||||
Id: int32(v.Id),
|
||||
Upvote: v.Upvote,
|
||||
})
|
||||
}
|
||||
p.PushClientRes(&proto.ResFriendTimeLine{
|
||||
@ -869,3 +873,14 @@ func GetUidByFaceBook(Fb string) (int, error) {
|
||||
log.Debug("Fb :%s;Uid :%d", Fb, R.Uid)
|
||||
return R.Uid, err
|
||||
}
|
||||
|
||||
func NotifyAllFriend(p *Player, m *msg.Msg) {
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
for k := range FriendMod.FriendList {
|
||||
if k == int(p.M_DwUin) {
|
||||
continue
|
||||
}
|
||||
m.To = k
|
||||
FriendMgrSend(m)
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import (
|
||||
"server/GoUtil"
|
||||
cardCfg "server/conf/card"
|
||||
decorateCfg "server/conf/decorate"
|
||||
handbookCfg "server/conf/handbook"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
miningCfg "server/conf/mining"
|
||||
playroomCfg "server/conf/playroom"
|
||||
@ -143,8 +144,8 @@ func ReqGetHandbookReward(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
var itemList []*item.Item
|
||||
itemList = append(itemList, &item.Item{Id: item.ITEM_ENERGY_ID, Num: 5})
|
||||
|
||||
itemList := handbookCfg.GetHandbookCollectReward()
|
||||
err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_HandbookReward.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResGetHandbookReward{
|
||||
@ -165,6 +166,41 @@ func ReqGetHandbookReward(player *Player, buf []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func RegHandbookAllReward(player *Player, buf []byte) error {
|
||||
req := &msg.RegHandbookAllReward{}
|
||||
proto.Unmarshal(buf, req)
|
||||
Items, err := player.PlayMod.getHandbookMod().CollectItem(req.Type)
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
err = player.HandleItem(Items, msg.ITEM_POP_LABEL_HandbookAllReward.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.PushClientRes(&msg.ResHandbookAllReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
NotifyAllFriend(player, &MsqMod.Msg{
|
||||
Type: MsqMod.HANDLE_TYPE_HANDBOOK_COLLECTION,
|
||||
From: int(player.M_DwUin),
|
||||
SendT: GoUtil.Now(),
|
||||
Extra: MsqMod.HandbookMsg{
|
||||
Type: req.Type,
|
||||
},
|
||||
})
|
||||
player.PushClientRes(player.PlayMod.getHandbookMod().BackData())
|
||||
player.PlayMod.save()
|
||||
return nil
|
||||
}
|
||||
|
||||
// 领取订单奖励
|
||||
func ReqRewardOrder(player *Player, buf []byte) error {
|
||||
req := &msg.ReqRewardOrder{}
|
||||
@ -2397,6 +2433,37 @@ func ReqFriendTimeLine(player *Player, buf []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqFriendTLUpvote(player *Player, buf []byte) error {
|
||||
req := &msg.ReqFriendTLUpvote{}
|
||||
proto.Unmarshal(buf, req)
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
Items, err := FriendMod.Upvote(int(req.Id))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResFriendTLUpvote{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
err = player.HandleItem(Items, msg.ITEM_POP_LABEL_TLUpvote.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResFriendTLUpvote{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResFriendTLUpvote{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
player.TeLog("friend_upvote", map[string]interface{}{
|
||||
"player_id": int(req.Id),
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqChampshipRankReward(player *Player, buf []byte) error {
|
||||
MyLastRank := G_GameLogicPtr.ChampshipMgr.getLastMyRank(int(player.M_DwUin))
|
||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package friend
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"server/GoUtil"
|
||||
cardCfg "server/conf/card"
|
||||
"server/game/mod/card"
|
||||
"server/game/mod/item"
|
||||
)
|
||||
|
||||
type FriendMod struct {
|
||||
@ -30,6 +32,7 @@ const (
|
||||
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
|
||||
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
|
||||
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
|
||||
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
|
||||
)
|
||||
|
||||
const (
|
||||
@ -40,11 +43,12 @@ const (
|
||||
)
|
||||
|
||||
type LogInfo struct {
|
||||
Id int
|
||||
Uid int
|
||||
Type int
|
||||
Time int64
|
||||
Param string
|
||||
Id int
|
||||
Uid int
|
||||
Type int
|
||||
Time int64
|
||||
Param string
|
||||
Upvote bool // 点赞
|
||||
}
|
||||
|
||||
func (f *FriendMod) InitData() {
|
||||
@ -163,3 +167,15 @@ func (f *FriendMod) ResetGoldCardEx() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (f *FriendMod) Upvote(Id int) ([]*item.Item, error) {
|
||||
info := f.Log[Id]
|
||||
if info == nil {
|
||||
return nil, fmt.Errorf("log not exist")
|
||||
}
|
||||
if info.Upvote {
|
||||
return nil, fmt.Errorf("already upvote")
|
||||
}
|
||||
info.Upvote = true
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, 1)}, nil
|
||||
}
|
||||
|
||||
@ -2,12 +2,16 @@ package handbook
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
handbookCfg "server/conf/handbook"
|
||||
startMergeCfg "server/conf/startMerge"
|
||||
"server/game/mod/item"
|
||||
"server/msg"
|
||||
)
|
||||
|
||||
type Handbook struct {
|
||||
BookList map[int]int `json:"BookList"`
|
||||
Collect map[string]struct{}
|
||||
}
|
||||
|
||||
const (
|
||||
@ -16,6 +20,9 @@ const (
|
||||
)
|
||||
|
||||
func (h *Handbook) InitData() {
|
||||
if h.Collect == nil {
|
||||
h.Collect = make(map[string]struct{})
|
||||
}
|
||||
if h.BookList == nil {
|
||||
h.BookList = make(map[int]int)
|
||||
InitChess := startMergeCfg.GetInitChessList()
|
||||
@ -51,6 +58,18 @@ func (h *Handbook) GetHandbookReward(Id int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *Handbook) CollectItem(Id string) ([]*item.Item, error) {
|
||||
if _, ok := h.Collect[Id]; ok {
|
||||
return nil, fmt.Errorf("已经领取过该奖励")
|
||||
}
|
||||
h.Collect[Id] = struct{}{}
|
||||
Reward := handbookCfg.GetHandbookReward(Id)
|
||||
if Reward == nil {
|
||||
return nil, fmt.Errorf("奖励不存在")
|
||||
}
|
||||
return Reward, nil
|
||||
}
|
||||
|
||||
func (h *Handbook) BackData() *msg.Handbook {
|
||||
var BookList []*msg.HandbookInfo
|
||||
for k, v := range h.BookList {
|
||||
|
||||
@ -71,6 +71,8 @@ const (
|
||||
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
||||
HANDLE_TYPE_MAIL_ADD //添加邮件
|
||||
HANDLE_TYPE_MAIL_RELOAD //重新加载邮件
|
||||
|
||||
HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
5
src/server/game/mod/msg/data.go
Normal file
5
src/server/game/mod/msg/data.go
Normal file
@ -0,0 +1,5 @@
|
||||
package msg
|
||||
|
||||
type HandbookMsg struct {
|
||||
Type string
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user