时间线优化

This commit is contained in:
hahwu 2025-04-21 12:13:15 +08:00
parent 6139208d0e
commit ed0890f9d2
9 changed files with 83 additions and 26 deletions

View File

@ -145,6 +145,18 @@ func (c *ChampshipMgr) ZeroUpdate(m *msg.Msg) (interface{}, error) {
return nil, nil
}
func (c *ChampshipMgr) NotifyPlayer() {
List := c.getData().PreRank
for _, v := range List {
for i := 0; i < 3; i++ {
if v[i].Type == RANK_PLAYER_ROBOT {
continue
}
NotifyChampshipResult(v[i].Uid, i+1)
}
}
}
func (c *ChampshipMgr) ai(m *msg.Msg) (interface{}, error) {
ChampshipData := c.getData()
Now := GoUtil.Now()

View File

@ -70,6 +70,8 @@ func (f *FriendMgr) Init() {
f.RegisterHandler(msg.HANDLE_TYPE_WISHLIST_SEND, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_WISHLIST_AGREE, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_UPVOTE, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_CHAMPSHIP_RESULT, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_TREASURE_RESULT, f.sendToPlayer)
}
func (f *FriendMgr) getData() *FirendData {

View File

@ -797,6 +797,7 @@ func (p *Player) UpdateUserInfo() {
simple.Chip = p.PlayMod.getPlayroomMod().GetChip()
simple.PetName = p.PlayMod.getBaseMod().PetName
simple.Emoji = p.PlayMod.getEmojiMod().Set
simple.Friend = p.PlayMod.getFriendMod().GetSimpleFriendList()
value, _ := json.Marshal(simple)
IdStr := strconv.Itoa(int(p.M_DwUin))
db.RedisSetKey(IdStr, string(value), 0)

View File

@ -195,6 +195,10 @@ func handle(p *Player, m *msg.Msg) error {
p.PushClientRes(CardMod.NotifyCard())
case msg.HANDLE_TYPE_CHAMPSHIP_NOTIFY: // # 锦标赛排名变动通知
BackChampship(p)
case msg.HANDLE_TYPE_CHAMPSHIP_RESULT: // # 好友锦标赛结果
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d", m.Extra.(int)))
case msg.HANDLE_TYPE_TREASURE_RESULT: // # 好友宝藏结果
p.AddLog(m.From, friend.LOG_TYPE_TREASURE, fmt.Sprintf("%d", m.Extra.(int)))
case msg.HANDLE_TYPE_MAIL: // 邮件操作
SyncMailMsg(p)
case msg.HANDLE_TYPE_PLAYROOM_LOSE: // # 玩家输了
@ -1004,3 +1008,20 @@ func NotifyAllFriend(p *Player, m1 *msg.Msg) {
FriendMgrSend(m)
}
}
func NotifyChampshipResult(Uid, Rank int) {
PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(Uid)
if PlayerSimpleData == nil {
return
}
for _, v := range PlayerSimpleData.Friend {
Msg := &msg.Msg{
Type: msg.HANDLE_TYPE_CHAMPSHIP_NOTIFY,
From: Uid,
To: v,
Extra: Rank,
}
FriendMgrSend(Msg)
}
}

View File

@ -3705,7 +3705,7 @@ func ReqFriendTreasureFilp(player *Player, buf []byte) error {
req := &msg.ReqFriendTreasureFilp{}
proto.Unmarshal(buf, req)
FriendTreasureMod := player.PlayMod.getFriendTreasureMod()
Items, err := FriendTreasureMod.Flip(int(req.Pos))
Items, Uid, err := FriendTreasureMod.Flip(int(req.Pos))
if err != nil {
player.SendErrClienRes(
&msg.ResFriendTreasureFilp{
@ -3715,6 +3715,14 @@ func ReqFriendTreasureFilp(player *Player, buf []byte) error {
)
return err
}
if Uid != 0 && Items != nil {
FriendMgrSend(&MsqMod.Msg{
From: int(player.M_DwUin),
To: int(Uid),
Type: MsqMod.HANDLE_TYPE_TREASURE_RESULT,
Extra: Items[0].Num,
})
}
err = player.HandleItem(Items, msg.ITEM_POP_LABEL_FriendtreasureFilp.String())
if err != nil {

View File

@ -24,6 +24,7 @@ type PlayerSimpleData struct {
Chip int
PetName string
Emoji map[int]int
Friend []int
}
type VarGoldCard struct {

View File

@ -32,26 +32,28 @@ type ApplyInfo struct {
}
const (
LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友
LOG_TYPE_FRIEND_BECOME = 2 // 成为好友
LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请
LOG_TYPE_CARD_SEND = 4 // 赠送卡牌
LOG_TYPE_CARD_GIVE = 5 // 请求卡牌
LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换
LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌
LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请
LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换
LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞
LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物
LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物
LOG_TYPE_WISH = 20 // 心愿单请求
LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友
LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞
LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友
LOG_TYPE_FRIEND_BECOME = 2 // 成为好友
LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请
LOG_TYPE_CARD_SEND = 4 // 赠送卡牌
LOG_TYPE_CARD_GIVE = 5 // 请求卡牌
LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换
LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌
LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请
LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换
LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞
LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物
LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物
LOG_TYPE_WISH = 20 // 心愿单请求
LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友
LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞
LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名
LOG_TYPE_TREASURE = 24
)
const (
@ -163,6 +165,14 @@ func (f *FriendMod) GetFriendList() map[int]*FriendInfo {
return f.NewFriendList
}
func (f *FriendMod) GetSimpleFriendList() []int {
rs := make([]int, 0, len(f.NewFriendList))
for k := range f.NewFriendList {
rs = append(rs, k)
}
return rs
}
// 收到申请
func (f *FriendMod) AddFriendApply(Uid int) {
f.ApplyList[Uid] = GoUtil.Now()

View File

@ -55,9 +55,9 @@ func (f *FriendTreasureMod) AddStar(Star int) {
f.Star = min(200, f.Star+Star)
}
func (f *FriendTreasureMod) Flip(Pos int) ([]*item.Item, error) {
func (f *FriendTreasureMod) Flip(Pos int) ([]*item.Item, int64, error) {
if f.Status == GAME_STATUS_IDLE {
return nil, fmt.Errorf("game not start")
return nil, 0, fmt.Errorf("game not start")
}
f.Shift++
Info := f.List[Pos]
@ -70,10 +70,10 @@ func (f *FriendTreasureMod) Flip(Pos int) ([]*item.Item, error) {
ProbMap := friendTreasureCfg.GetChestProb()
Prob := GoUtil.RandMap(ProbMap)
Info.Status = GAME_STATUS_START
return friendTreasureCfg.GetChestItems(Prob), nil
return friendTreasureCfg.GetChestItems(Prob), Info.Uid, nil
}
Info.Status = GAME_STATUS_START
return nil, nil
return nil, 0, nil
}
func (f *FriendTreasureMod) EndGame() ([]*item.Item, int, error) {

View File

@ -81,7 +81,9 @@ const (
HANDLE_TYPE_WISHLIST_SEND // 发送愿望单请求
HANDLE_TYPE_WISHLIST_AGREE // 收到愿望单请求同意
HANDLE_TYPE_PLAYROOM_UPVOTE // 收到playroom点赞
HANDLE_TYPE_PLAYROOM_UPVOTE // 收到playroom点赞
HANDLE_TYPE_CHAMPSHIP_RESULT //锦标赛结果
HANDLE_TYPE_TREASURE_RESULT //宝藏结果
)
const (