ecs/servers/game/logic/player_monthly_card.go

125 lines
4.2 KiB
Go
Raw Permalink Normal View History

2025-06-04 18:17:39 +08:00
package logic
//type PlayerMonthlyCard struct {
// Id uint32 `bson:"id" key:"1"`
// BeginTime int64 `bson:"begin_time"`
// TotalDays uint32 `bson:"days_total"`
// RewardDays uint32 `bson:"reward_days"`
// DailyItems []uint32 `bson:"daily_items"`
// DailyNums []uint32 `bson:"daily_nums"`
//}
//
//func (this *PlayerMonthlyCard) BuildMsgMonthlyCard() *proto.MonthlyCard {
// return &proto.MonthlyCard{Id: this.Id, BeginTime: this.BeginTime, TotalDays: this.TotalDays, RewardDays: this.RewardDays}
//}
//
//func (this *Player) checkMonthlyCardReward(now int64) (changed bool) {
// for _, monthlyCard := range this.MonthlyCard {
// if len(monthlyCard.DailyItems) == 0 {
// continue
// }
//
// var monthlyCardTable = this.manager.tables.MonthlyCard.Get(int(monthlyCard.Id))
// if monthlyCardTable == nil {
// this.manager.logger.Error("Could not find the monthly card table when sending the monthly card daily reward, id: ", monthlyCard.Id)
// continue
// }
//
// var days = uint32(now-monthlyCard.BeginTime)/86400 + 1
// if days < monthlyCard.RewardDays {
// continue
// }
//
// if days >= monthlyCard.TotalDays {
// days = monthlyCard.TotalDays
//
// this.WipeModel(monthlyCard)
// } else {
// this.SaveModel(monthlyCard)
// }
//
// for i := monthlyCard.RewardDays; i < days; i++ {
// var mailTime = monthlyCard.BeginTime + GameDailyResetTime + util.DayTotalSeconds*int64(monthlyCard.RewardDays)
//
// monthlyCard.RewardDays += 1
//
// this.AddMail(
// proto.MailTypeNormal,
// util.IntegerToString(monthlyCardTable.MailTitle),
// util.IntegerToString(monthlyCardTable.MailContent),
// nil,
// monthlyCard.DailyItems,
// monthlyCard.DailyNums,
// mailTime,
// )
// }
//
// changed = true
// }
// return
//}
//
//func (this *Player) CheckMonthlyCardPrivilege(checkType proto.MonthlyCardPrivilegeType) (privilegeArg int64) {
// for _, monthlyCard := range this.MonthlyCard {
// var monthlyCardTable = this.manager.tables.MonthlyCard.Get(int(monthlyCard.Id))
// if monthlyCardTable == nil {
// continue
// }
//
// for i, privilegeType := range monthlyCardTable.PrivilegeType {
// if proto.MonthlyCardPrivilegeType(privilegeType) == checkType {
// privilegeArg += int64(monthlyCardTable.PrivilegeArg[i])
// }
// }
// }
// return
//}
//
//func (this *Player) AddMonthlyCard(monthlyCardTable *data.MonthlyCard) []*proto.ItemPair {
// var todayBeginTime = util.TodayBeginTime() + GameDailyResetTime
// var monthlyCard = this.MonthlyCard[uint32(monthlyCardTable.Id)]
// if monthlyCard == nil || uint32((todayBeginTime-monthlyCard.BeginTime)/util.DayTotalSeconds) > monthlyCard.TotalDays {
// if monthlyCard == nil {
// monthlyCard = &PlayerMonthlyCard{Id: uint32(monthlyCardTable.Id), BeginTime: todayBeginTime, TotalDays: uint32(monthlyCardTable.EffectiveDay), RewardDays: 0}
// this.MonthlyCard[monthlyCard.Id] = monthlyCard
// }
//
// for i, itemId := range monthlyCardTable.ActiveRewardList {
// monthlyCard.DailyItems = append(monthlyCard.DailyItems, uint32(itemId))
// monthlyCard.DailyNums = append(monthlyCard.DailyNums, uint32(monthlyCardTable.ActiveNumList[i]))
// }
//
// monthlyCard.RewardDays += 1
//
// if len(monthlyCard.DailyItems) > 0 {
// this.AddMail(
// proto.MailTypeNormal,
// util.IntegerToString(monthlyCardTable.MailTitle),
// util.IntegerToString(monthlyCardTable.MailContent),
// nil,
// monthlyCard.DailyItems,
// monthlyCard.DailyNums,
// util.Unix(),
// )
// }
// } else {
// monthlyCard.TotalDays += uint32(monthlyCardTable.EffectiveDay)
// }
//
// this.SaveModel(monthlyCard)
//
// _ = this.AddItem(uint32(monthlyCardTable.CardRewardId), uint32(monthlyCardTable.CardRewardNum), LogTypeItemObtainByMonthlyCard)
//
// _ = this.Send(proto.ModIdStore, proto.MsgIdMonthlyCardChange, &proto.MsgMonthlyCardChangeAck{MonthlyCard: monthlyCard.BuildMsgMonthlyCard()})
//
// return []*proto.ItemPair{{ItemId: uint32(monthlyCardTable.CardRewardId), ItemNum: uint32(monthlyCardTable.CardRewardNum)}}
//}
//
//func (this *Player) BuildMsgMonthlyCardListAck() *proto.MsgMonthlyCardListAck {
// var list []*proto.MonthlyCard
// for _, monthlyCard := range this.MonthlyCard {
// list = append(list, monthlyCard.BuildMsgMonthlyCard())
// }
// return &proto.MsgMonthlyCardListAck{List: list}
//}