diff --git a/src/server/game/game_type.go b/src/server/game/game_type.go index df0a844c..dbc05e48 100644 --- a/src/server/game/game_type.go +++ b/src/server/game/game_type.go @@ -131,4 +131,5 @@ func init() { gob.Register(item.Item{}) gob.Register([]*item.Item{}) // 注册 []*item.Item 类型 gob.Register(friend.ReplyInfo{}) + gob.Register(GameResult{}) } diff --git a/src/server/game/message_mgr.go b/src/server/game/message_mgr.go index 93c9e6bb..b1427533 100644 --- a/src/server/game/message_mgr.go +++ b/src/server/game/message_mgr.go @@ -101,6 +101,8 @@ func (m *MessageMgr) MessageMgrInit() { gob.Register(item.Item{}) gob.Register([]*item.Item{}) // 注册 []*item.Item 类型 gob.Register(friend.ReplyInfo{}) + gob.Register(msg.VarData{}) + gob.Register(GameResult{}) // 注册处理函数 m.init() m.handler = make(map[int]MessageHandlerFunc) diff --git a/src/server/gamedata/reader.go b/src/server/gamedata/reader.go index ec15a45d..cbf505f7 100644 --- a/src/server/gamedata/reader.go +++ b/src/server/gamedata/reader.go @@ -184,7 +184,7 @@ func GetStringValue(a interface{}, key string) string { if v == nil { return "" } - return v.(string) + return String(v) } return "" } @@ -237,3 +237,22 @@ func Int(a interface{}) int { } return 0 } + +func String(a interface{}) string { + if a == nil { + return "" + } + switch v := a.(type) { + case int: + return strconv.Itoa(v) + case int32: + return strconv.Itoa(int(v)) + case int64: + return strconv.Itoa(int(v)) + case float64: + return strconv.FormatFloat(v, 'f', -1, 64) + case string: + return v + } + return "" +} diff --git a/src/server/test/config_test.go b/src/server/test/config_test.go index 39158fcd..93579df5 100644 --- a/src/server/test/config_test.go +++ b/src/server/test/config_test.go @@ -2,6 +2,7 @@ package test import ( "fmt" + playroomCfg "server/conf/playroom" userCfg "server/conf/user" "testing" ) @@ -10,3 +11,8 @@ func Test(t *testing.T) { i := userCfg.GetEnergyMulByLv(1) fmt.Println(i) } + +func TestGetOrderItemByGrade(t *testing.T) { + itemId := playroomCfg.GetOrderItemByGrade(2) + fmt.Println(itemId) +}