【架构优化】提升代码质量

This commit is contained in:
hahwu 2026-02-06 17:39:27 +08:00
parent 0f2aedb150
commit 30f32e1da0
16 changed files with 168 additions and 154 deletions

View File

@ -25,7 +25,7 @@ func init() {
func GetStarCost(AreaId, SortId int) int {
data, err := gamedata.GetData(DECORATE_COST)
if err != nil {
log.Debug("DecorateCost GetStarCost not found")
log.Debug("GetStarCost err:%v, AreaId=%d, SortId=%d", err, AreaId, SortId)
return 0
}
for _, v := range data {
@ -39,7 +39,7 @@ func GetStarCost(AreaId, SortId int) int {
func GetAreaId(id int) int {
value, err := gamedata.GetDataByIntKey("DecorateCost", id)
if err != nil {
log.Debug("DecorateCost GetAreaId id:%v not found", id)
log.Debug("GetAreaId err:%v, id=%d", err, id)
return 0
}
return gamedata.GetIntValue(value, "AreaId")
@ -48,12 +48,16 @@ func GetAreaId(id int) int {
func GetNextAreaId(AreaId, SortId int) int {
data, err := gamedata.GetData(DECORATE_COST)
if err != nil {
log.Debug("DecorateCost GetStarCost not found")
log.Debug("GetNextAreaId err:%v, AreaId=%d, SortId=%d", err, AreaId, SortId)
return 0
}
for k, v := range data {
if gamedata.GetIntValue(v, "AreaId") == AreaId && gamedata.GetIntValue(v, "SortId") == SortId {
UnionKey, _ := strconv.Atoi(k)
UnionKey, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetNextAreaId parse key err:%v, key=%s", err, k)
return 0
}
nextId := UnionKey + 1
AreaId = GetAreaId(nextId)
return AreaId
@ -65,10 +69,10 @@ func GetNextAreaId(AreaId, SortId int) int {
func GetAllSortIdByAreaId(AreaId int) []int {
data, err := gamedata.GetData(DECORATE_COST)
if err != nil {
log.Debug("DecorateCost GetAllSortIdByAreaId not found")
log.Debug("GetAllSortIdByAreaId err:%v, AreaId=%d", err, AreaId)
return nil
}
var SortIdList []int
SortIdList := make([]int, 0, len(data)/5)
for _, v := range data {
if gamedata.GetIntValue(v, "AreaId") == AreaId {
Sort := gamedata.GetIntValue(v, "SortId")
@ -84,7 +88,7 @@ func GetAllSortIdByAreaId(AreaId int) []int {
func GetProgressReward(Scene, Lv int) []*item.Item {
value, err := gamedata.GetData(INDOOR_PROGRESS)
if err != nil {
log.Debug("IndoorProgress GetProgressReward not found")
log.Debug("GetProgressReward err:%v, Scene=%d, Lv=%d", err, Scene, Lv)
return nil
}
for _, v := range value {
@ -98,7 +102,7 @@ func GetProgressReward(Scene, Lv int) []*item.Item {
func GetDecoarteReward(Scene int, Lv int) []*item.Item {
value, err := gamedata.GetData(INDOOR_PROGRESS)
if err != nil {
log.Debug("IndoorProgress GetDecoarteReward not found")
log.Debug("GetDecoarteReward err:%v, Scene=%d, Lv=%d", err, Scene, Lv)
return nil
}
for _, v := range value {
@ -112,7 +116,7 @@ func GetDecoarteReward(Scene int, Lv int) []*item.Item {
func GetAreaReward(AreaId int) []*item.Item {
value, err := gamedata.GetDataByIntKey(DECORATE_AREA, AreaId)
if err != nil {
log.Debug("IndoorProgress GetDecoarteReward not found")
log.Debug("GetAreaReward err:%v, AreaId=%d", err, AreaId)
return nil
}
return gamedata.GetItemList(value, "Items")
@ -132,7 +136,7 @@ func GetOneKeyDecorateUnlockLv() int {
func GetDecorateAddEnergy() int {
data, err := gamedata.GetDataByKey(DECORATE_CONST, "AddEnergy")
if err != nil {
log.Debug("GetDecorateAddEnergy not found")
log.Debug("GetDecorateAddEnergy err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
@ -141,7 +145,7 @@ func GetDecorateAddEnergy() int {
func GetAreaPerPExp(AreaId int) int {
data, err := gamedata.GetDataByIntKey(DECORATE_AREA, AreaId)
if err != nil {
log.Debug("DecorateArea GetAreaPerPExp not found AreaId:%v", AreaId)
log.Debug("GetAreaPerPExp err:%v, AreaId=%d", err, AreaId)
return 0
}
return gamedata.GetIntValue(data, "PerPExp")
@ -150,7 +154,7 @@ func GetAreaPerPExp(AreaId int) int {
func GetDecoratePExp(AreaId, SortId int) int {
data, err := gamedata.GetData(DECORATE_COST)
if err != nil {
log.Debug("DecorateArea GetDecoratePExp not found")
log.Debug("GetDecoratePExp err:%v, AreaId=%d, SortId=%d", err, AreaId, SortId)
return 0
}
for _, v := range data {
@ -164,14 +168,18 @@ func GetDecoratePExp(AreaId, SortId int) int {
func GetAllPartId() []int {
data, err := gamedata.GetDataByKey(DECORATE_CONST, "AllPartId")
if err != nil {
log.Debug("DecorateCost GetAllPartId not found")
return []int{1505, 1515, 1525, 1535}
log.Debug("GetAllPartId err:%v", err)
return nil
}
var PartIdList []int
str := gamedata.GetStringValue(data, "Value")
r1 := strings.Split(str, "|")
PartIdList := make([]int, 0, len(r1))
for _, v := range r1 {
id, _ := strconv.Atoi(v)
id, err := strconv.Atoi(v)
if err != nil {
log.Debug("GetAllPartId parse id err:%v, v=%s", err, v)
continue
}
PartIdList = append(PartIdList, id)
}
return PartIdList
@ -180,12 +188,16 @@ func GetAllPartId() []int {
func GetIdBySenceAndLv(Sence, Lv int) int {
data, err := gamedata.GetData(INDOOR_PROGRESS)
if err != nil {
log.Debug("DecorateArea GetIdBySenceAndLv not found")
log.Debug("GetIdBySenceAndLv err:%v, Sence=%d, Lv=%d", err, Sence, Lv)
return 0
}
for k, v := range data {
if gamedata.GetIntValue(v, "Scene") == Sence && gamedata.GetIntValue(v, "Lv") == Lv {
id, _ := strconv.Atoi(k)
id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetIdBySenceAndLv parse id err:%v, key=%s", err, k)
return 0
}
return id
}
}
@ -195,16 +207,20 @@ func GetIdBySenceAndLv(Sence, Lv int) int {
func GetPartNumByAreaId(AreaId int) map[int]int {
data, err := gamedata.GetData(INDOOR_PROGRESS)
if err != nil {
log.Debug("DecorateArea GetPartNumByAreaId not found AreaId:%v", AreaId)
log.Debug("GetPartNumByAreaId err:%v, AreaId=%d", err, AreaId)
return nil
}
res := make(map[int]int)
res := make(map[int]int, len(data))
for k, v := range data {
Sence := gamedata.GetIntValue(v, "Scene")
if Sence != AreaId {
continue
}
id, _ := strconv.Atoi(k)
id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetPartNumByAreaId parse id err:%v, key=%s", err, k)
continue
}
PartNum := gamedata.GetIntValue(v, "Part")
if PartNum == 0 {
continue
@ -217,6 +233,7 @@ func GetPartNumByAreaId(AreaId int) map[int]int {
func GetAreaIdByIndoorId(IndoorId int) int {
data, err := gamedata.GetDataByIntKey(INDOOR_PROGRESS, IndoorId)
if err != nil {
log.Debug("GetAreaIdByIndoorId err:%v, IndoorId=%d", err, IndoorId)
return 0
}
return gamedata.GetIntValue(data, "Scene")

View File

@ -3,6 +3,7 @@ package emojiCfg
import (
GoUtil "server/game_util"
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
)
const (
@ -16,6 +17,7 @@ func init() {
func GetInitList() []int {
data, err := gamedata.GetData(CFG_EMOJI)
if err != nil {
log.Debug("GetInitList err:%v", err)
return nil
}
ret := make([]int, 0, len(data))
@ -31,6 +33,7 @@ func GetInitList() []int {
func GetAllList() []int {
data, err := gamedata.GetData(CFG_EMOJI)
if err != nil {
log.Debug("GetAllList err:%v", err)
return nil
}
ret := make([]int, 0, len(data))
@ -43,6 +46,7 @@ func GetAllList() []int {
func GetEmojiName(Id int) string {
data, err := gamedata.GetDataByIntKey(CFG_EMOJI, Id)
if err != nil {
log.Debug("GetEmojiName err:%v, Id=%d", err, Id)
return ""
}
return gamedata.GetStringValue(data, "Name")

View File

@ -3,6 +3,7 @@ package endlessCfg
import (
"server/game/mod/item"
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
)
const (
@ -18,6 +19,7 @@ func init() {
func GetEnergy(Money float64) float64 {
data, err := gamedata.GetData(CFG_ENDLESS)
if err != nil {
log.Debug("GetEnergy err:%v, Money=%.2f", err, Money)
return 0
}
for _, v := range data {
@ -31,6 +33,7 @@ func GetEnergy(Money float64) float64 {
func NextMoney(Money float64) float64 {
data, err := gamedata.GetData(CFG_ENDLESS)
if err != nil {
log.Debug("NextMoney err:%v, Money=%.2f", err, Money)
return 0
}
for _, v := range data {
@ -44,6 +47,7 @@ func NextMoney(Money float64) float64 {
func GetChargeId(Money float64) int {
data, err := gamedata.GetData(CFG_ENDLESS)
if err != nil {
log.Debug("GetChargeId err:%v, Money=%.2f", err, Money)
return 0
}
for _, v := range data {
@ -57,6 +61,7 @@ func GetChargeId(Money float64) int {
func GetPerEnergy(Id int) float64 {
data, err := gamedata.GetData(CFG_ENDLESS_JACKPOT)
if err != nil {
log.Debug("GetPerEnergy err:%v, Id=%d", err, Id)
return 0
}
for _, v := range data {
@ -70,9 +75,10 @@ func GetPerEnergy(Id int) float64 {
func GetItemId(Energy float64, Type, Lv int) []int {
data, err := gamedata.GetData(CFG_ENDLESS_JACKPOT)
if err != nil {
log.Debug("GetItemId err:%v, Energy=%.2f, Type=%d, Lv=%d", err, Energy, Type, Lv)
return nil
}
var ItemId []int
ItemId := make([]int, 0, len(data))
for _, v := range data {
if Lv >= gamedata.GetIntValue(v, "Lv") && Energy >= gamedata.GetFloatValue(v, "Energy") && Type != gamedata.GetIntValue(v, "Type") && gamedata.GetIntValue(v, "ItemId") != item.ITEM_ENERGY_ID {
ItemId = append(ItemId, gamedata.GetIntValue(v, "ItemId"))
@ -84,6 +90,7 @@ func GetItemId(Energy float64, Type, Lv int) []int {
func GetType(ItemId int) int {
data, err := gamedata.GetData(CFG_ENDLESS_JACKPOT)
if err != nil {
log.Debug("GetType err:%v, ItemId=%d", err, ItemId)
return 0
}
for _, v := range data {
@ -97,6 +104,7 @@ func GetType(ItemId int) int {
func GetEnergyByItemId(ItemId int) float64 {
data, err := gamedata.GetData(CFG_ENDLESS_JACKPOT)
if err != nil {
log.Debug("GetEnergyByItemId err:%v, ItemId=%d", err, ItemId)
return 0
}
for _, v := range data {

View File

@ -17,15 +17,19 @@ func init() {
func GetInitList() []int {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("GetInitList err: %v", err)
log.Debug("GetInitList err:%v", err)
return nil
}
r := make([]int, 0, len(data))
for k, v := range data {
IsInit := gamedata.GetIntValue(v, "Init")
if IsInit == 1 {
k, _ := strconv.Atoi(k)
r = append(r, k)
id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetInitList parse id err:%v, key=%s", err, k)
continue
}
r = append(r, id)
}
}
return r
@ -34,7 +38,7 @@ func GetInitList() []int {
func CheckExist(Id int) bool {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("CheckExist err: %v", err)
log.Debug("CheckExist err:%v, Id=%d", err, Id)
return false
}
_, ok := data[strconv.Itoa(Id)]
@ -44,12 +48,16 @@ func CheckExist(Id int) bool {
func GetAllId() []int {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("GetAllId err: %v", err)
log.Debug("GetAllId err:%v", err)
return nil
}
r := make([]int, 0, len(data))
for k := range data {
Id, _ := strconv.Atoi(k)
Id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetAllId parse id err:%v, key=%s", err, k)
continue
}
r = append(r, Id)
}
return r

View File

@ -1,6 +1,9 @@
package friendCfg
import "server/gamedata"
import (
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
)
const (
CFG_NPC_FRIENDS = "NPCFriends"
@ -13,6 +16,7 @@ func init() {
func IsNpcFriend(Id int) bool {
_, err := gamedata.GetDataByIntKey(CFG_NPC_FRIENDS, Id)
if err != nil {
log.Debug("IsNpcFriend err:%v, Id=%d", err, Id)
return false
}
return true

View File

@ -4,6 +4,7 @@ import (
"server/game/mod/item"
GoUtil "server/game_util"
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
"strings"
)
@ -20,11 +21,12 @@ func init() {
func GetFirstPass(Id int) map[int]int {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
log.Debug("GetFirstPass err:%v, Id=%d", err, Id)
return nil
}
str := gamedata.GetStringValue(data, "FirstPass")
arr := strings.Split(str, "|")
ret := make(map[int]int)
ret := make(map[int]int, len(arr))
for k, v := range arr {
ret[k+1] = GoUtil.Int(v)
}
@ -34,6 +36,7 @@ func GetFirstPass(Id int) map[int]int {
func GetLoseItem(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
log.Debug("GetLoseItem err:%v, Id=%d", err, Id)
return nil
}
return gamedata.GetItemList(data, "ItemCost")
@ -42,6 +45,7 @@ func GetLoseItem(Id int) []*item.Item {
func GetFirstItem(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
log.Debug("GetFirstItem err:%v, Id=%d", err, Id)
return nil
}
return gamedata.GetItemList(data, "FirstItem")
@ -50,6 +54,7 @@ func GetFirstItem(Id int) []*item.Item {
func GetActivityItemId(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_GUESS_COLOR_TEMPLATE, Id)
if err != nil {
log.Debug("GetActivityItemId err:%v, Id=%d", err, Id)
return 0
}
return gamedata.GetIntValue(data, "ItemId")
@ -58,6 +63,7 @@ func GetActivityItemId(Id int) int {
func GetRewardItem(Id int, Type int) []*item.Item {
data, err := gamedata.GetData(CFG_GUESS_COLOR_REWARD)
if err != nil {
log.Debug("GetRewardItem err:%v, Id=%d, Type=%d", err, Id, Type)
return nil
}
for k, v := range data {
@ -76,6 +82,7 @@ func GetRewardItem(Id int, Type int) []*item.Item {
func GetPassNum(Id int) int {
data, err := gamedata.GetData(CFG_GUESS_COLOR_REWARD)
if err != nil {
log.Debug("GetPassNum err:%v, Id=%d", err, Id)
return 0
}
for k, v := range data {
@ -91,6 +98,7 @@ func GetPassNum(Id int) int {
func GetWinTime(Id int) int {
data, err := gamedata.GetData(CFG_GUESS_COLOR_REWARD)
if err != nil {
log.Debug("GetWinTime err:%v, Id=%d", err, Id)
return 0
}
for k, v := range data {

View File

@ -17,7 +17,7 @@ func init() {
func GetGuideReward(Id int) ([]*item.Item, int) {
data, err := gamedata.GetDataByIntKey(GUIDE_REWARD, Id)
if err != nil {
log.Debug("GuildCfg GetGuildReward Id:%v not found", Id)
log.Debug("GetGuideReward err:%v, Id=%d", err, Id)
return nil, 0
}
return item.ParseItem(gamedata.GetValue(data, "Items")), gamedata.GetIntValue(data, "Num")

View File

@ -23,6 +23,7 @@ func init() {
func GetTaskRewardById(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id)
if err != nil {
log.Debug("GetTaskRewardById err:%v, Id=%d", err, Id)
return nil
}
return gamedata.GetItemList(data, "Items")
@ -31,6 +32,7 @@ func GetTaskRewardById(Id int) []*item.Item {
func GetTaskById(Id int) string {
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id)
if err != nil {
log.Debug("GetTaskById err:%v, Id=%d", err, Id)
return ""
}
return gamedata.GetStringValue(data, "Task")
@ -39,6 +41,7 @@ func GetTaskById(Id int) string {
func GetTaskActive(Id int) int {
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id)
if err != nil {
log.Debug("GetTaskActive err:%v, Id=%d", err, Id)
return 0
}
return gamedata.GetIntValue(data, "Active")
@ -46,6 +49,7 @@ func GetTaskActive(Id int) int {
func GetUnlock(Id int) int {
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id)
if err != nil {
log.Debug("GetUnlock err:%v, Id=%d", err, Id)
return 0
}
return gamedata.GetIntValue(data, "Unlock")
@ -54,6 +58,7 @@ func GetUnlock(Id int) int {
func GetActiveReward(Id int) ([]*item.Item, int) {
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_ACTIVE, Id)
if err != nil {
log.Debug("GetActiveReward err:%v, Id=%d", err, Id)
return nil, 0
}
return gamedata.GetItemList(data, "Items"), gamedata.GetIntValue(data, "Active")
@ -61,6 +66,7 @@ func GetActiveReward(Id int) ([]*item.Item, int) {
func GetActiveReward2(reward []int, Active int) []*item.Item {
data, err := gamedata.GetData(GUIDE_TASK_ACTIVE)
if err != nil {
log.Debug("GetActiveReward2 err:%v, Active=%d", err, Active)
return nil
}
for k, v := range data {
@ -79,6 +85,7 @@ func GetActiveReward2(reward []int, Active int) []*item.Item {
func GetUnlockLv() int {
data, err := gamedata.GetDataByKey(GUIDE_TASK_CONST, "UnlockLv")
if err != nil {
log.Debug("GetUnlockLv err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
@ -87,20 +94,25 @@ func GetUnlockLv() int {
func GetDays() int {
data, err := gamedata.GetDataByKey(GUIDE_TASK_CONST, "Days")
if err != nil {
log.Debug("GetDays err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
}
func GetTaskList(Lv int) map[int]string {
r := make(map[int]string)
data, err := gamedata.GetData(GUIDE_TASK_TASK)
if err != nil {
log.Debug("GetTaskList get data nil")
return r
log.Debug("GetTaskList err:%v, Lv=%d", err, Lv)
return nil
}
r := make(map[int]string, len(data))
for k, v := range data {
k1, _ := strconv.Atoi(k)
k1, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetTaskList parse id err:%v, key=%s", err, k)
continue
}
r[k1] = gamedata.GetStringValue(v, "Task")
}
return r

View File

@ -1,51 +0,0 @@
package GuideTaskCfg
import (
"fmt"
"testing"
)
func TestGuideTaskCfg_NoPanic(t *testing.T) {
ids := []int{-1, 0, 1, 999999}
for _, id := range ids {
t.Run(fmt.Sprintf("Id=%d", id), func(t *testing.T) {
defer func() {
if r := recover(); r != nil {
t.Fatalf("unexpected panic: %v", r)
}
}()
_ = GetTaskRewardById(id)
_ = GetTaskActive(id)
_, _ = GetActiveReward(id)
})
}
_ = GetUnlockLv()
_ = GetDays()
}
// 以下 Example 用于文档与编译校验(无固定输出校验)
func ExampleGetTaskRewardById() {
_ = GetTaskRewardById(1)
// Output:
}
func ExampleGetTaskActive() {
_ = GetTaskActive(1)
// Output:
}
func ExampleGetActiveReward() {
_, _ = GetActiveReward(1)
// Output:
}
func ExampleGetUnlockLv() {
_ = GetUnlockLv()
// Output:
}
func ExampleGetDays() {
_ = GetDays()
// Output:
}

View File

@ -19,7 +19,7 @@ func init() {
func GetHandbookReward(Type string) []*item.Item {
data, err := gamedata.GetDataByKey(CFG_HANDBOOK, Type)
if err != nil {
log.Debug("GetHandbookReward err:%v", err)
log.Debug("GetHandbookReward err:%v, Type=%s", err, Type)
return nil
}
return gamedata.GetItemList(data, "Items")

View File

@ -3,6 +3,7 @@ package inviteCfg
import (
"server/game/mod/item"
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
)
const (
@ -16,8 +17,8 @@ func init() {
func GetInviteReward(index int) (int, []*item.Item) {
data, err := gamedata.GetDataByIntKey(CFG_INVITE, index)
if err != nil {
log.Debug("GetInviteReward err:%v, index=%d", err, index)
return 0, nil
}
return gamedata.GetIntValue(data, "Need"), gamedata.GetItemList(data, "Items")
}

View File

@ -18,7 +18,7 @@ func init() {
func GetItemType(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
if err != nil {
log.Debug("ItemCfg GetItemType Id:%v not found", Id)
log.Debug("GetItemType err:%v, Id=%d", err, Id)
return 0
}
return gamedata.GetIntValue(data, "IType")
@ -27,7 +27,7 @@ func GetItemType(Id int) int {
func GetItemEffect(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
if err != nil {
log.Debug("ItemCfg GetItemEffect Id:%v not found", Id)
log.Debug("GetItemEffect err:%v, Id=%d", err, Id)
return 0
}
return gamedata.GetIntValue(data, "Effect")
@ -36,14 +36,18 @@ func GetItemEffect(Id int) int {
func GetItemEffectList(Id int) []int {
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
if err != nil {
log.Debug("ItemCfg GetItemEffect Id:%v not found", Id)
return []int{}
log.Debug("GetItemEffectList err:%v, Id=%d", err, Id)
return nil
}
var res []int
str := gamedata.GetStringValue(data, "Effect")
a := strings.Split(str, ",")
res := make([]int, 0, len(a))
for _, v := range a {
b, _ := strconv.Atoi(v)
b, err := strconv.Atoi(v)
if err != nil {
log.Debug("GetItemEffectList parse err:%v, v=%s", err, v)
continue
}
res = append(res, b)
}
return res
@ -52,8 +56,9 @@ func GetItemEffectList(Id int) []int {
func GetItemName(Id int) (string, string) {
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
if err != nil {
log.Debug("ItemCfg GetItemName Id:%v not found", Id)
log.Debug("GetItemName err:%v, Id=%d", err, Id)
return "", ""
}
return languageCfg.GetLanguage(msg.LANG_TYPE_LANG_CN, gamedata.GetStringValue(data, "Name")), languageCfg.GetLanguage(msg.LANG_TYPE_LANG_EN, gamedata.GetStringValue(data, "Name"))
name := gamedata.GetStringValue(data, "Name")
return languageCfg.GetLanguage(msg.LANG_TYPE_LANG_CN, name), languageCfg.GetLanguage(msg.LANG_TYPE_LANG_EN, name)
}

View File

@ -54,7 +54,7 @@ func GetLimitedTimeEventCfg() []*gamedata.LimitedTimeEventData {
func GetEventName(Id int) string {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT, Id)
if err != nil {
log.Debug("GetEventName err:%v", err)
log.Debug("GetEventName err:%v, Id=%d", err, Id)
return ""
}
return gamedata.GetStringValue(data, "Name")
@ -64,7 +64,7 @@ func GetEventName(Id int) string {
func GetMeteorAdd(ChessLv int) int {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_METEOR, ChessLv)
if err != nil {
log.Debug("GetMeteorAdd err:%v", err)
log.Debug("GetMeteorAdd err:%v, ChessLv=%d", err, ChessLv)
return 0
}
return gamedata.GetIntValue(data, "Add")
@ -74,7 +74,7 @@ func GetMeteorAdd(ChessLv int) int {
func GetChestReward(Star int) []*item.Item {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST)
if err != nil {
log.Debug("GetChestReward err:%v", err)
log.Debug("GetChestReward err:%v, Star=%d", err, Star)
return nil
}
@ -93,7 +93,7 @@ func GetChestReward(Star int) []*item.Item {
func GetSuperOrderReward(energy int) []*item.Item {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_ORDER)
if err != nil {
log.Debug("GetSuperOrderReward err:%v", err)
log.Debug("GetSuperOrderReward err:%v, energy=%d", err, energy)
return nil
}
star := energy
@ -111,7 +111,7 @@ func GetSuperOrderReward(energy int) []*item.Item {
func GetSceneDashReward(Sence, Progress int) (int, []*item.Item) {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_SENCE)
if err != nil {
log.Debug("GetSceneDashReward err:%v", err)
log.Debug("GetSceneDashReward err:%v, Sence=%d, Progress=%d", err, Sence, Progress)
return 0, nil
}
for k, v := range data {
@ -124,12 +124,12 @@ func GetSceneDashReward(Sence, Progress int) (int, []*item.Item) {
// 获取场景冲刺奖池
func GetSenceJackpotProb() map[int]int {
r := make(map[int]int)
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_SENCE_JACKPOT)
if err != nil {
log.Debug("GetSenceJackpotReward err:%v", err)
log.Debug("GetSenceJackpotProb err:%v", err)
return nil
}
r := make(map[int]int, len(data))
for k, v := range data {
Id := GoUtil.Int(k)
r[Id] = gamedata.GetIntValue(v, "Prob")
@ -141,7 +141,7 @@ func GetSenceJackpotProb() map[int]int {
func GetSenceJackpotReward(Id int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_SENCE_JACKPOT, Id)
if err != nil {
log.Debug("GetSenceJackpotReward err:%v", err)
log.Debug("GetSenceJackpotReward err:%v, Id=%d", err, Id)
return nil
}
return gamedata.GetItemList(data, "Items")
@ -151,7 +151,7 @@ func GetSenceJackpotReward(Id int) []*item.Item {
func GetFastProduceReward(Energy int) []*item.Item {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_FAST)
if err != nil {
log.Debug("GetSceneDashReward err:%v", err)
log.Debug("GetFastProduceReward err:%v, Energy=%d", err, Energy)
return nil
}
if len(data) == 0 {
@ -181,7 +181,7 @@ func GetFastProduceMaxTimes() int {
Max := 0
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_FAST)
if err != nil {
log.Debug("GetSceneDashReward err:%v", err)
log.Debug("GetFastProduceMaxTimes err:%v", err)
return 0
}
for _, v := range data {
@ -194,7 +194,7 @@ func GetFastProduceMaxTimes() int {
func GetProgressMax(Lv, Num int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS)
if err != nil {
log.Debug("GetProgressMax err:%v", err)
log.Debug("GetProgressMax err:%v, Lv=%d, Num=%d", err, Lv, Num)
return 0
}
for _, v := range data {
@ -216,7 +216,7 @@ func GetProgressMax(Lv, Num int) int {
func GetBonusLv(Lv int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS)
if err != nil {
log.Debug("GetProgressMax err:%v", err)
log.Debug("GetBonusLv err:%v, Lv=%d", err, Lv)
return 0
}
for k, v := range data {
@ -233,10 +233,10 @@ func GetBonusLv(Lv int) int {
func GetProgressRewardRand(Lv int) map[int]int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_JACKPOT)
if err != nil {
log.Debug("GetProgressRewardRand err:%v", err)
log.Debug("GetProgressRewardRand err:%v, Lv=%d", err, Lv)
return nil
}
r := make(map[int]int)
r := make(map[int]int, len(data))
for k, v := range data {
if Lv >= gamedata.GetIntValue(v, "BonusLv") {
Id := GoUtil.Int(k)
@ -249,7 +249,7 @@ func GetProgressRewardRand(Lv int) map[int]int {
func GetJackpotIdByType(Type int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_JACKPOT)
if err != nil {
log.Debug("GetJackpotIdByType err:%v", err)
log.Debug("GetJackpotIdByType err:%v, Type=%d", err, Type)
return 0
}
for k, v := range data {
@ -265,7 +265,7 @@ func GetJackpotIdByType(Type int) int {
func GetProgressSelectNum(Lv int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS)
if err != nil {
log.Debug("GetProgressMax err:%v", err)
log.Debug("GetProgressSelectNum err:%v, Lv=%d", err, Lv)
return 0
}
for _, v := range data {
@ -282,7 +282,7 @@ func GetProgressSelectNum(Lv int) int {
func GetProgressReward(RewardId int) []*item.Item {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_JACKPOT)
if err != nil {
log.Debug("GetProgressReward err:%v", err)
log.Debug("GetProgressReward err:%v, RewardId=%d", err, RewardId)
return nil
}
for k, v := range data {
@ -298,7 +298,7 @@ func GetProgressReward(RewardId int) []*item.Item {
func GetProgressRewardType(RewardId int) int {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_JACKPOT, RewardId)
if err != nil {
log.Debug("GetProgressReward err:%v", err)
log.Debug("GetProgressRewardType err:%v, RewardId=%d", err, RewardId)
return 0
}
return gamedata.GetIntValue(data, "Type")
@ -334,7 +334,7 @@ func GetFirstEvent() int {
func GetFastCD() int {
data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "Fast_Cd")
if err != nil {
log.Debug("GetFirstEvent err:%v", err)
log.Debug("GetFastCD err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
@ -366,7 +366,7 @@ func GetThiefProb() int {
}
value := gamedata.GetStringValue(data, "Value")
a1 := strings.Split(value, "|")
prob := make(map[int]int)
prob := make(map[int]int, len(a1))
for _, v := range a1 {
a2 := strings.Split(v, ":")
prob[GoUtil.Int(a2[0])] = GoUtil.Int(a2[1])
@ -379,7 +379,7 @@ func GetThiefProb() int {
func GetMoneyCat(Id int) (float64, int) {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_MONEY, Id)
if err != nil {
log.Debug("GetMul err:%v", err)
log.Debug("GetMoneyCat err:%v, Id=%d", err, Id)
return 0.0, 0
}
return gamedata.GetFloatValue(data, "Mul"), gamedata.GetIntValue(data, "Cd")
@ -388,7 +388,7 @@ func GetMoneyCat(Id int) (float64, int) {
func GetMoneyCatMax() int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_MONEY)
if err != nil {
log.Debug("GetMul err:%v", err)
log.Debug("GetMoneyCatMax err:%v", err)
return 0
}
return len(data)
@ -397,7 +397,7 @@ func GetMoneyCatMax() int {
func GetLuckyCatMaxEarning(Remain int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_LUCKY)
if err != nil {
log.Debug("GetMul err:%v", err)
log.Debug("GetLuckyCatMaxEarning err:%v, Remain=%d", err, Remain)
return 0
}
type d struct {
@ -424,7 +424,7 @@ func GetLuckyCatMaxEarning(Remain int) int {
func GetCatTrickType(Duartion int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CAT_TRICK)
if err != nil {
log.Debug("GetCatTrick err:%v", err)
log.Debug("GetCatTrickType err:%v, Duartion=%d", err, Duartion)
return 1
}
for k, v := range data {
@ -439,7 +439,7 @@ func GetCatTrickType(Duartion int) int {
func GetCatTrickDiamond(Type int) (int, int) {
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_CAT_TRICK, Type)
if err != nil {
log.Debug("GetCatTrickDiamond err:%v", err)
log.Debug("GetCatTrickDiamond err:%v, Type=%d", err, Type)
return 0, 0
}
return gamedata.GetIntValue(data, "Diamond"), gamedata.GetIntValue(data, "Energy")
@ -448,7 +448,7 @@ func GetCatTrickDiamond(Type int) (int, int) {
func GetDecorateOffDiscount(AreaId, StepId int) int {
data, err := gamedata.GetData(CFG_LIMTTED_TIME_EVENT_DECORATE_OFF)
if err != nil {
log.Debug("GetDecorateOffDiscount err:%v", err)
log.Debug("GetDecorateOffDiscount err:%v, AreaId=%d, StepId=%d", err, AreaId, StepId)
return 100
}
for _, v := range data {

View File

@ -66,26 +66,26 @@ func (a *Activity) getGIftVar(key int) *Gift {
if Var == nil {
Var = &Gift{}
a.SetVar(key, Var)
return Var.(*Gift)
}
return Var.(*Gift)
gift, ok := Var.(*Gift)
if !ok {
// 类型不匹配,重置为新的 Gift 对象
gift = &Gift{}
a.SetVar(key, gift)
}
return gift
}
func (a *Activity) GetActivityStatus(data *gamedata.ActivityData) int {
switch data.AType {
case ACT_ATYPE_NORMAL:
if data.AType == ACT_ATYPE_NORMAL {
return ACT_STATUS_START
case ACT_ATYPE_LIMIT_GIFT:
}
if data.AType == ACT_ATYPE_LIMIT_GIFT {
Var := a.getGIftVar(data.Id)
switch data.Type {
case ACT_TYPE_ADD_GIFT:
Var := a.getGIftVar(data.Id)
if Var.Reward {
return ACT_STATUS_NOT_START
}
if Var.Buy {
return ACT_STATUS_END
}
case ACT_TYPE_SUPER_GIFT:
Var := a.getGIftVar(data.Id)
case ACT_TYPE_ADD_GIFT, ACT_TYPE_SUPER_GIFT:
if Var.Reward {
return ACT_STATUS_NOT_START
}
@ -93,13 +93,12 @@ func (a *Activity) GetActivityStatus(data *gamedata.ActivityData) int {
return ACT_STATUS_END
}
default:
Var := a.getGIftVar(data.Id)
if Var.Buy {
return ACT_STATUS_NOT_START
}
}
}
return ACT_STATUS_START
}

View File

@ -28,8 +28,8 @@ func (f *AvatarMod) Login(RegisterTime int64) {
func (a *AvatarMod) InitData() {
now := GoUtil.Now()
if a.List == nil {
a.List = make(map[int]*Avatar)
InitId := avatarCfg.GetInitList()
a.List = make(map[int]*Avatar, len(InitId))
for _, v := range InitId {
a.List[v] = &Avatar{
AddTime: now,
@ -59,16 +59,21 @@ func (a *AvatarMod) Unlock(Id, Time int) error {
v.Ts += int64(Time)
return nil
}
now := GoUtil.Now()
ts := int64(0)
if Time > 0 {
ts = now + int64(Time)
}
a.List[Id] = &Avatar{
Ts: now + int64(Time),
Ts: ts,
AddTime: now,
}
return nil
}
func (a *AvatarMod) BackData() []*msg.AvatarInfo {
l := make([]*msg.AvatarInfo, 0)
l := make([]*msg.AvatarInfo, 0, len(a.List))
for k, v := range a.List {
l = append(l, &msg.AvatarInfo{
Id: int32(k),

View File

@ -61,7 +61,6 @@ func (b *Base) InitData(Uid int, Ip string) {
if b.NickName == "" {
b.NickName = fmt.Sprintf("Player_%d", Uid)
}
}
func (b *Base) Login() int64 {
@ -69,9 +68,9 @@ func (b *Base) Login() int64 {
if !GoUtil.IsSameDay(b.LoginTime, Now) {
b.LoginDay += 1
}
logoutDuration := Now - b.LogoutTime
if b.LogoutTime == 0 {
logoutDuration = 0
logoutDuration := int64(0)
if b.LogoutTime != 0 {
logoutDuration = Now - b.LogoutTime
}
b.LoginTime = Now
b.LogoutTime = 0
@ -195,7 +194,6 @@ func (b *Base) SetExp(Exp int) {
func (b *Base) SetEnergy(Energy int) {
b.Energy = Energy
}
func (b *Base) SetStar(Star int) {
@ -227,10 +225,6 @@ func (b *Base) SetLang(lang msg.LANG_TYPE) {
}
func (b *Base) BuyEnergy(Energy int) ([]*item.Item, int, int) {
// if !b.IsFirstBuy {
// b.IsFirstBuy = true
// return []*item.Item{{Id: item.ITEM_ENERGY_ID, Num: 100}}, 100, 0
// }
b.EnergyBuy += 1
Mul := baseCfg.GetEnergyByMul(b.EnergyBuy)
Diamond := int(float64(Energy) / Mul)
@ -274,6 +268,10 @@ func (b *Base) GetEnergyByAD() ([]*item.Item, error) {
func (b *Base) FormatEnergyMul(Energy int) {
for {
if b.EnergyMul <= 0 {
b.EnergyMul = 0
return
}
EnergyLimit := baseCfg.GetLimitEnergyMul(b.Level)
if EnergyLimit == 0 {
return
@ -282,10 +280,6 @@ func (b *Base) FormatEnergyMul(Energy int) {
return
}
b.EnergyMul--
if b.EnergyMul < 0 {
b.EnergyMul = 0
return
}
}
}