diff --git a/src/server/conf/emoji/emojiCfg.go b/src/server/conf/emoji/emojiCfg.go new file mode 100644 index 00000000..6a7d75fa --- /dev/null +++ b/src/server/conf/emoji/emojiCfg.go @@ -0,0 +1,29 @@ +package emojiCfg + +import ( + "server/GoUtil" + "server/gamedata" +) + +const ( + CFG_EMOJI = "Emoji" +) + +func init() { + gamedata.InitCfg(CFG_EMOJI) +} + +func GetInitList() []int { + data, err := gamedata.GetData(CFG_EMOJI) + if err != nil { + return nil + } + ret := make([]int, 0) + for k, v := range data { + Init := gamedata.GetIntValue(v, "Init") + if Init == 1 { + ret = append(ret, GoUtil.Int(k)) + } + } + return ret +} diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 88b080bb..612ae0dc 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -341,6 +341,9 @@ func (p *Player) Login() { // 猪猪银行触发 LimitedTimePiggyBankTrigger(p) BaseMod := p.PlayMod.getBaseMod() + FaceMod := p.PlayMod.getFaceMod() + AvatarMod := p.PlayMod.getAvatarMod() + PlayBaseMod := p.GetPlayerBaseMod() // playroom触发 PlayroomMod := p.PlayMod.getPlayroomMod() PlayroomMod.UnLock(BaseMod.GetLevel()) @@ -351,6 +354,8 @@ func (p *Player) Login() { LoignBack(p) // 登录返回数据 SyncMailMsg(p) // 同步邮件 BaseMod.Login() + FaceMod.Login(PlayBaseMod.GetRegisterTime()) + AvatarMod.Login(PlayBaseMod.GetRegisterTime()) HandbookItem := p.PlayMod.getCardMod().Login(G_GameLogicPtr.SeverInfo.OpenTime) p.HandleItem(HandbookItem, msg.ITEM_POP_LABEL_AllCollectRewardHB.String()) } diff --git a/src/server/game/PlayerMod.go b/src/server/game/PlayerMod.go index 122f9b4c..aef9b794 100644 --- a/src/server/game/PlayerMod.go +++ b/src/server/game/PlayerMod.go @@ -170,7 +170,7 @@ func (p *PlayerModData) InitMod(player *Player) (bool, error) { p.ModList.Item.InitData() p.ModList.GuessColor.InitData() p.ModList.Playroom.InitData() - + p.ModList.Emoji.InitData() return is_update, nil } diff --git a/src/server/game/mod/avatar/Avatar.go b/src/server/game/mod/avatar/Avatar.go index fbc9dd0c..a26c7b4f 100644 --- a/src/server/game/mod/avatar/Avatar.go +++ b/src/server/game/mod/avatar/Avatar.go @@ -8,7 +8,7 @@ import ( ) type AvatarMod struct { - List map[int]Avatar + List map[int]*Avatar SetId int } @@ -17,13 +17,21 @@ type Avatar struct { AddTime int64 } +func (f *AvatarMod) Login(RegisterTime int64) { + for k, v := range f.List { + if v.AddTime == 0 { + v.AddTime = RegisterTime + f.List[k] = v + } + } +} func (a *AvatarMod) InitData() { now := GoUtil.Now() if a.List == nil { - a.List = make(map[int]Avatar) + a.List = make(map[int]*Avatar) InitId := avatarCfg.GetInitList() for _, v := range InitId { - a.List[v] = Avatar{ + a.List[v] = &Avatar{ AddTime: now, } } @@ -49,7 +57,7 @@ func (a *AvatarMod) Unlock(Id, Time int) error { return nil } now := GoUtil.Now() - a.List[Id] = Avatar{ + a.List[Id] = &Avatar{ Ts: now + int64(Time), AddTime: now, } diff --git a/src/server/game/mod/emoji/emoji.go b/src/server/game/mod/emoji/emoji.go index 614a8f9b..ee70feea 100644 --- a/src/server/game/mod/emoji/emoji.go +++ b/src/server/game/mod/emoji/emoji.go @@ -3,12 +3,12 @@ package emoji import ( "fmt" "server/GoUtil" - avatarCfg "server/conf/avatar" + emojiCfg "server/conf/emoji" "server/msg" ) type EmojiMod struct { - List map[int]Emoji + List map[int]*Emoji Set map[int]int } @@ -27,10 +27,10 @@ const ( func (e *EmojiMod) InitData() { now := GoUtil.Now() if e.List == nil { - e.List = make(map[int]Emoji) - InitId := avatarCfg.GetInitList() + e.List = make(map[int]*Emoji) + InitId := emojiCfg.GetInitList() for _, v := range InitId { - e.List[v] = Emoji{ + e.List[v] = &Emoji{ AddTime: now, } } @@ -60,7 +60,7 @@ func (e *EmojiMod) Unlock(Id, Time int) error { return nil } now := GoUtil.Now() - e.List[Id] = Emoji{ + e.List[Id] = &Emoji{ Ts: now + int64(Time), AddTime: now, } diff --git a/src/server/game/mod/face/Face.go b/src/server/game/mod/face/Face.go index 508c3d03..6d3f3569 100644 --- a/src/server/game/mod/face/Face.go +++ b/src/server/game/mod/face/Face.go @@ -8,7 +8,7 @@ import ( ) type FaceMod struct { - List map[int]Face + List map[int]*Face SetId int } @@ -17,13 +17,22 @@ type Face struct { AddTime int64 } +func (f *FaceMod) Login(RegisterTime int64) { + for k, v := range f.List { + if v.AddTime == 0 { + v.AddTime = RegisterTime + f.List[k] = v + } + } +} + func (f *FaceMod) InitData() { now := GoUtil.Now() if f.List == nil { - f.List = make(map[int]Face) + f.List = make(map[int]*Face) InitId := faceCfg.GetInitList() for _, v := range InitId { - f.List[v] = Face{ + f.List[v] = &Face{ AddTime: now, } } @@ -53,7 +62,7 @@ func (a *FaceMod) Unlock(Id, Time int) error { return nil } now := GoUtil.Now() - a.List[Id] = Face{ + a.List[Id] = &Face{ Ts: now + int64(Time), AddTime: now, }