125 lines
4.2 KiB
Go
125 lines
4.2 KiB
Go
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}
|
|
//}
|