增加玩家全服数据

This commit is contained in:
hahwu 2025-04-29 14:38:50 +08:00
parent 38d6f14b95
commit b20f111cbb

View File

@ -5,7 +5,6 @@ import (
"server/GoUtil"
"server/game/mod/card"
"server/game/mod/msg"
"sync"
"time"
)
@ -15,7 +14,7 @@ type VarMgr struct {
type VarData struct {
Var map[string]interface{}
UserVar sync.Map
UserVar map[string]*VarUserData
ZeroTime int64
}
@ -40,6 +39,9 @@ func (f *VarMgr) Init() {
if f.data.(*VarData).Var == nil {
f.data.(*VarData).Var = make(map[string]interface{})
}
if f.data.(*VarData).UserVar == nil {
f.data.(*VarData).UserVar = make(map[string]*VarUserData)
}
if f.getData().ZeroTime == GoUtil.ZeroTimestamp() {
f.ZeroUpdate(&msg.Msg{})
}
@ -68,29 +70,26 @@ func (f *VarMgr) ZeroUpdate(m *msg.Msg) (interface{}, error) {
}
func (f *VarMgr) SetVar(key string, value interface{}) {
f.getData().UserVar.Store(key, value)
f.getData().Var[key] = value
}
func (f *VarMgr) GetVar(key string) interface{} {
value, _ := f.getData().UserVar.Load(key)
return value
return f.getData().Var[key]
}
func (f *VarMgr) SetUserVar(key string, value *VarUserData) {
f.getData().UserVar.Store(key, value)
f.getData().UserVar[key] = value
}
func (f *VarMgr) GetUserVar(key string) *VarUserData {
value, _ := f.getData().UserVar.Load(key)
if value == nil {
value = &VarUserData{}
f.getData().UserVar.Store(key, value)
if v, ok := f.getData().UserVar[key]; ok {
return v
}
return value.(*VarUserData)
return nil
}
func (f *VarMgr) DelVar(key string) {
f.getData().UserVar.Delete(key)
delete(f.getData().Var, key)
}
func (f *VarMgr) getData() *VarData {