Fortune游戏数据存储
This commit is contained in:
parent
b61b41313d
commit
54c2b0735e
|
@ -18,3 +18,5 @@ const (
|
||||||
FortuneDragonPlayerOpSwitch
|
FortuneDragonPlayerOpSwitch
|
||||||
)
|
)
|
||||||
const NowByte int64 = 10000
|
const NowByte int64 = 10000
|
||||||
|
|
||||||
|
const GameDataKey = "FortuneData"
|
||||||
|
|
|
@ -2,16 +2,17 @@ package fortunedragon
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"mongo.games.com/game/gamerule/fortunedragon"
|
|
||||||
"mongo.games.com/game/gamesrv/slotspkg/assemble"
|
|
||||||
"mongo.games.com/game/gamesrv/slotspkg/slots"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"mongo.games.com/goserver/core"
|
"mongo.games.com/goserver/core"
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
|
||||||
"mongo.games.com/game/common"
|
"mongo.games.com/game/common"
|
||||||
|
"mongo.games.com/game/gamerule/fortunedragon"
|
||||||
"mongo.games.com/game/gamesrv/base"
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/gamesrv/slotspkg/assemble"
|
||||||
|
"mongo.games.com/game/gamesrv/slotspkg/slots"
|
||||||
|
"mongo.games.com/game/model"
|
||||||
"mongo.games.com/game/proto"
|
"mongo.games.com/game/proto"
|
||||||
protocol "mongo.games.com/game/protocol/fortunedragon"
|
protocol "mongo.games.com/game/protocol/fortunedragon"
|
||||||
)
|
)
|
||||||
|
@ -77,6 +78,14 @@ func (this *ScenePolicyFortuneDragon) OnPlayerEnter(s *base.Scene, p *base.Playe
|
||||||
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerEnter, sceneId=", s.GetSceneId(), " player=", p.Name)
|
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerEnter, sceneId=", s.GetSceneId(), " player=", p.Name)
|
||||||
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
|
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
|
||||||
playerEx := &FortuneDragonPlayerData{Player: p}
|
playerEx := &FortuneDragonPlayerData{Player: p}
|
||||||
|
|
||||||
|
d := p.GameData[fortunedragon.GameDataKey]
|
||||||
|
if d != nil {
|
||||||
|
m := map[string]string{}
|
||||||
|
json.Unmarshal(d.Data.([]byte), &m)
|
||||||
|
playerEx.PullPlayer(m)
|
||||||
|
}
|
||||||
|
|
||||||
playerEx.init()
|
playerEx.init()
|
||||||
playerEx.Clear()
|
playerEx.Clear()
|
||||||
|
|
||||||
|
@ -99,6 +108,23 @@ func (this *ScenePolicyFortuneDragon) OnPlayerLeave(s *base.Scene, p *base.Playe
|
||||||
s.FirePlayerEvent(p, base.PlayerEventLeave, nil)
|
s.FirePlayerEvent(p, base.PlayerEventLeave, nil)
|
||||||
sceneEx.OnPlayerLeave(p, reason)
|
sceneEx.OnPlayerLeave(p, reason)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if playerEx, ok := p.ExtraData.(*FortuneDragonPlayerData); ok {
|
||||||
|
m := playerEx.PushPlayer()
|
||||||
|
if m != nil && len(m) > 0 {
|
||||||
|
b, err := json.Marshal(m)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("OnPlayerLeave, json.Marshal error:", err)
|
||||||
|
} else {
|
||||||
|
p.GameData[fortunedragon.GameDataKey] = &model.PlayerGameData{
|
||||||
|
Platform: p.Platform,
|
||||||
|
SnId: p.SnId,
|
||||||
|
Id: fortunedragon.GameDataKey,
|
||||||
|
Data: b,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 玩家掉线
|
// 玩家掉线
|
||||||
|
|
Loading…
Reference in New Issue