【架构优化】list设置容量,避免动态扩容
This commit is contained in:
parent
46a76843a9
commit
8345076c28
@ -607,7 +607,7 @@ func GetOrderItemList() []int {
|
|||||||
log.Debug("GetOrderItemList err:%v", err)
|
log.Debug("GetOrderItemList err:%v", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
r := make([]int, 0)
|
r := make([]int, 0, len(data))
|
||||||
for k := range data {
|
for k := range data {
|
||||||
Id := GoUtil.Int(k)
|
Id := GoUtil.Int(k)
|
||||||
if Id == 0 {
|
if Id == 0 {
|
||||||
@ -665,7 +665,7 @@ func GetDailyTaskListById(Id int) []int {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
Type := GetDailyTaskType(Id)
|
Type := GetDailyTaskType(Id)
|
||||||
r := make([]int, 0)
|
r := make([]int, 0, len(data))
|
||||||
for k, v := range data {
|
for k, v := range data {
|
||||||
if gamedata.GetIntValue(v, "Type") == Type {
|
if gamedata.GetIntValue(v, "Type") == Type {
|
||||||
r = append(r, GoUtil.Int(k))
|
r = append(r, GoUtil.Int(k))
|
||||||
|
|||||||
@ -151,61 +151,6 @@ func SeriesTransaction(sqlstrs []string, params [][]any) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新数据
|
|
||||||
func FormatUpdateOneAttrRow(u interface{}, tableName string, UpdateAttr string, Exclude string) (err error) {
|
|
||||||
t := reflect.TypeOf(u)
|
|
||||||
len1 := t.Elem().NumField()
|
|
||||||
Fields := make([]string, len1)
|
|
||||||
Values := make([]interface{}, len1)
|
|
||||||
pp := reflect.ValueOf(u)
|
|
||||||
origin := "UPDATE " + tableName + " SET "
|
|
||||||
index := 0
|
|
||||||
var keyValue interface{}
|
|
||||||
for i := 0; i < len1; i++ {
|
|
||||||
field := t.Elem().Field(i)
|
|
||||||
if field.Tag.Get("db") != Exclude {
|
|
||||||
if field.Tag.Get("db") == UpdateAttr {
|
|
||||||
Fields[index] = field.Tag.Get("db") + " = ?"
|
|
||||||
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if k == reflect.String {
|
|
||||||
Values[index] = ufield.String()
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 {
|
|
||||||
Values[index] = ufield.Int()
|
|
||||||
}
|
|
||||||
index++
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if k == reflect.String {
|
|
||||||
keyValue = ufield.String()
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 {
|
|
||||||
keyValue = ufield.Int()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Values[index] = keyValue
|
|
||||||
// Values = append(Values, keyValue)
|
|
||||||
origin += strings.Join(Fields, ",")
|
|
||||||
strLen := len(origin)
|
|
||||||
origin = origin[:strLen-1]
|
|
||||||
origin = origin + " WHERE " + Exclude + " = ?"
|
|
||||||
sqlStr := origin
|
|
||||||
_, err = SqlDb.Exec(sqlStr, Values...)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("table: %s, sql :%s, exec failed, err:%v\n", tableName, sqlStr, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// "UPDATE user SET age = ?, degree = ? WHERE id = ?"
|
// "UPDATE user SET age = ?, degree = ? WHERE id = ?"
|
||||||
func FormatAllMemUpdateDb(u interface{}, tableName string, Exclude string) (err error) {
|
func FormatAllMemUpdateDb(u interface{}, tableName string, Exclude string) (err error) {
|
||||||
t := reflect.TypeOf(u)
|
t := reflect.TypeOf(u)
|
||||||
@ -381,52 +326,6 @@ func UpdateAccountInfoDeviceToDb(account *Db_Account) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func FormatAllMemLoadDb(u interface{}, tableName string, Exclude string) (err error) {
|
|
||||||
t := reflect.TypeOf(u)
|
|
||||||
len := t.Elem().NumField()
|
|
||||||
Fields := make([]string, len)
|
|
||||||
Values := make([]interface{}, len)
|
|
||||||
pp := reflect.ValueOf(u)
|
|
||||||
origin := "SELECT * FROM " + tableName + " WHERE "
|
|
||||||
index := 0
|
|
||||||
var keyValue interface{}
|
|
||||||
for i := 0; i < len; i++ {
|
|
||||||
field := t.Elem().Field(i)
|
|
||||||
if field.Tag.Get("db") != Exclude {
|
|
||||||
Fields[index] = field.Tag.Get("db") + " = ?"
|
|
||||||
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if k == reflect.String {
|
|
||||||
Values[index] = ufield.String()
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 || k == reflect.Int || k == reflect.Int64 {
|
|
||||||
Values[index] = ufield.Int()
|
|
||||||
}
|
|
||||||
index++
|
|
||||||
} else {
|
|
||||||
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if k == reflect.String {
|
|
||||||
keyValue = ufield.String()
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 {
|
|
||||||
keyValue = ufield.Int()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Values[index] = keyValue
|
|
||||||
// Values = append(Values, keyValue)
|
|
||||||
origin += strings.Join(Fields, " AND ")
|
|
||||||
sqlStr := origin
|
|
||||||
if err := SqlDb.Get(u, sqlStr, Values...); err != nil {
|
|
||||||
log.Debug("table: %s, sql :%s, exec failed, err:%v\n", tableName, sqlStr, err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetServerData(d interface{}, Key string) (err error) {
|
func GetServerData(d interface{}, Key string) (err error) {
|
||||||
sqlDb := GetDB()
|
sqlDb := GetDB()
|
||||||
if sqlDb == nil {
|
if sqlDb == nil {
|
||||||
@ -487,103 +386,6 @@ func GetPlayerClientData(d interface{}, Key string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func InsertData(u interface{}, tableName string) (insertID int64, err error) {
|
|
||||||
t := reflect.TypeOf(u)
|
|
||||||
len := t.Elem().NumField()
|
|
||||||
Fields := make([]string, 0)
|
|
||||||
Fields1 := make([]string, 0)
|
|
||||||
Values := make([]interface{}, 0)
|
|
||||||
pp := reflect.ValueOf(u)
|
|
||||||
origin := "INSERT INTO " + tableName + "("
|
|
||||||
for i := 0; i < len; i++ {
|
|
||||||
field := t.Elem().Field(i)
|
|
||||||
if field.Tag.Get("db") == "id" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if k == reflect.String && ufield.String() == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if (k == reflect.Int32 || k == reflect.Int || k == reflect.Int64) && ufield.Int() == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if k == reflect.String {
|
|
||||||
Values = append(Values, ufield.String())
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 || k == reflect.Int || k == reflect.Int64 {
|
|
||||||
Values = append(Values, ufield.Int())
|
|
||||||
}
|
|
||||||
Fields = append(Fields, field.Tag.Get("db"))
|
|
||||||
Fields1 = append(Fields1, "?")
|
|
||||||
}
|
|
||||||
for i := range Fields {
|
|
||||||
Fields[i] = "`" + Fields[i] + "`"
|
|
||||||
}
|
|
||||||
origin += strings.Join(Fields, ",")
|
|
||||||
origin += ") VALUES("
|
|
||||||
origin += strings.Join(Fields1, ",")
|
|
||||||
origin += ")"
|
|
||||||
sqlStr := origin
|
|
||||||
result, err := SqlDb.Exec(sqlStr, Values...)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("InsertData exec failed, sql : %s ;err:%v\n", sqlStr, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
insertID, err = result.LastInsertId()
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("InsertData exec failed, err:%v\n", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func UpdateData(u interface{}, tableName string, Exclude string) (err error) {
|
|
||||||
t := reflect.TypeOf(u)
|
|
||||||
len1 := t.Elem().NumField()
|
|
||||||
Fields := make([]string, 0)
|
|
||||||
Values := make([]interface{}, 0)
|
|
||||||
pp := reflect.ValueOf(u)
|
|
||||||
origin := "UPDATE " + tableName + " SET "
|
|
||||||
var ExcludeValue interface{}
|
|
||||||
for i := 0; i < len1; i++ {
|
|
||||||
field := t.Elem().Field(i)
|
|
||||||
ufield := pp.Elem().FieldByName(field.Name)
|
|
||||||
k := ufield.Kind()
|
|
||||||
if field.Tag.Get("db") != Exclude && field.Tag.Get("db") != "id" {
|
|
||||||
|
|
||||||
if k == reflect.String {
|
|
||||||
Values = append(Values, ufield.String())
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 || k == reflect.Int || k == reflect.Int64 {
|
|
||||||
Values = append(Values, ufield.Int())
|
|
||||||
}
|
|
||||||
Fields = append(Fields, "`"+field.Tag.Get("db")+"` = ?")
|
|
||||||
}
|
|
||||||
if field.Tag.Get("db") == Exclude {
|
|
||||||
if k == reflect.String {
|
|
||||||
ExcludeValue = ufield.String()
|
|
||||||
}
|
|
||||||
if k == reflect.Int32 || k == reflect.Int || k == reflect.Int64 {
|
|
||||||
ExcludeValue = append(Values, ufield.Int())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Values = append(Values, ExcludeValue)
|
|
||||||
origin += strings.Join(Fields, ",")
|
|
||||||
origin = origin + " WHERE `" + Exclude + "` = ?"
|
|
||||||
sqlStr := origin
|
|
||||||
|
|
||||||
_, err = SqlDb.Exec(sqlStr, Values...)
|
|
||||||
if err != nil {
|
|
||||||
log.Debug("update failed, sql %s err:%v\n", sqlStr, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetServerMailData(data *[]*SqlServerMailStruct) error {
|
func GetServerMailData(data *[]*SqlServerMailStruct) error {
|
||||||
sql := "select * from system_mail_info"
|
sql := "select * from system_mail_info"
|
||||||
err := SqlDb.Select(data, sql)
|
err := SqlDb.Select(data, sql)
|
||||||
|
|||||||
@ -472,7 +472,6 @@ func G_getGameLogic() *GameLogic {
|
|||||||
G_GameLogicPtr.RegisterEvent() // 注册事件
|
G_GameLogicPtr.RegisterEvent() // 注册事件
|
||||||
G_GameLogicPtr.RegisterNetWorkFunc() // 注册客户端接口
|
G_GameLogicPtr.RegisterNetWorkFunc() // 注册客户端接口
|
||||||
G_GameLogicPtr.InitActivity() // 初始化活动
|
G_GameLogicPtr.InitActivity() // 初始化活动
|
||||||
G_GameLogicPtr.GetVersion() // 获取版本号
|
|
||||||
if conf.Server.ServerType == "center" {
|
if conf.Server.ServerType == "center" {
|
||||||
G_GameLogicPtr.CreateFriendMgr() //创建好友管理器
|
G_GameLogicPtr.CreateFriendMgr() //创建好友管理器
|
||||||
G_GameLogicPtr.CreateChampshipMgr() // 创建竞标赛管理器
|
G_GameLogicPtr.CreateChampshipMgr() // 创建竞标赛管理器
|
||||||
@ -501,28 +500,6 @@ func (ad *GameLogic) InitServerInfo() {
|
|||||||
ad.SeverInfo = ServerInfo
|
ad.SeverInfo = ServerInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ad *GameLogic) GetVersion() {
|
|
||||||
sqlStr := "SELECT * FROM t_gameserver WHERE id = ?"
|
|
||||||
sqlStruck := db.SqlVersionStruct{}
|
|
||||||
IsHaveDataDb := false
|
|
||||||
sqlStruck.Id = 1
|
|
||||||
G_GameLogicPtr.Version = 0
|
|
||||||
if err := db.SqlDb.Get(&sqlStruck, sqlStr, 1); err != nil {
|
|
||||||
G_GameLogicPtr.Version = 1
|
|
||||||
IsHaveDataDb = false
|
|
||||||
} else {
|
|
||||||
G_GameLogicPtr.Version = sqlStruck.IsClose + 1
|
|
||||||
IsHaveDataDb = true
|
|
||||||
}
|
|
||||||
sqlStruck.IsClose = G_GameLogicPtr.Version
|
|
||||||
|
|
||||||
if IsHaveDataDb {
|
|
||||||
db.FormatAllMemUpdateDb(&sqlStruck, "t_gameserver", "id")
|
|
||||||
} else {
|
|
||||||
db.FormatAllMemInsertDb(&sqlStruck, "t_gameserver")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ad *GameLogic) SendServerVersion(a gate.Agent) {
|
func (ad *GameLogic) SendServerVersion(a gate.Agent) {
|
||||||
res := &msg.ResServerVersion{}
|
res := &msg.ResServerVersion{}
|
||||||
res.Version = G_GameLogicPtr.Version
|
res.Version = G_GameLogicPtr.Version
|
||||||
|
|||||||
@ -221,7 +221,7 @@ func (p *Player) GuessColorBackData() {
|
|||||||
|
|
||||||
Status := p.GetActivityStatus(activity.ACT_TYPE_GUESS_COLOR)
|
Status := p.GetActivityStatus(activity.ACT_TYPE_GUESS_COLOR)
|
||||||
GuessColorMod := p.PlayMod.getGuessColorMod()
|
GuessColorMod := p.PlayMod.getGuessColorMod()
|
||||||
MapList := make([]*msg.GuessColorInfo, 0)
|
MapList := make([]*msg.GuessColorInfo, 0, len(GuessColorMod.MapList))
|
||||||
for _, v := range GuessColorMod.MapList {
|
for _, v := range GuessColorMod.MapList {
|
||||||
MapList = append(MapList, &msg.GuessColorInfo{
|
MapList = append(MapList, &msg.GuessColorInfo{
|
||||||
Map: v,
|
Map: v,
|
||||||
@ -252,7 +252,7 @@ func (p *Player) RaceBackData() {
|
|||||||
}
|
}
|
||||||
Status := p.GetActivityStatus(activity.ACT_TYPE_RACE)
|
Status := p.GetActivityStatus(activity.ACT_TYPE_RACE)
|
||||||
RaceMod := p.PlayMod.getRaceMod()
|
RaceMod := p.PlayMod.getRaceMod()
|
||||||
Opponent := make([]*msg.Raceopponent, 0)
|
Opponent := make([]*msg.Raceopponent, 0, len(RaceMod.Opponent))
|
||||||
for _, v := range RaceMod.Opponent {
|
for _, v := range RaceMod.Opponent {
|
||||||
Opponent = append(Opponent, &msg.Raceopponent{
|
Opponent = append(Opponent, &msg.Raceopponent{
|
||||||
Id: int32(v.Id),
|
Id: int32(v.Id),
|
||||||
@ -352,7 +352,7 @@ func (p *Player) CatnipBackData() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
FriendMod := p.PlayMod.getFriendMod()
|
FriendMod := p.PlayMod.getFriendMod()
|
||||||
GameList := make([]*msg.CatnipGame, 0)
|
GameList := make([]*msg.CatnipGame, 0, len(CatnipMod.Game))
|
||||||
for _, v := range CatnipMod.Game {
|
for _, v := range CatnipMod.Game {
|
||||||
GameInfo := &msg.CatnipGame{
|
GameInfo := &msg.CatnipGame{
|
||||||
Id: int32(v.Id),
|
Id: int32(v.Id),
|
||||||
@ -373,7 +373,6 @@ func (p *Player) CatnipBackData() {
|
|||||||
GameList = append(GameList, GameInfo)
|
GameList = append(GameList, GameInfo)
|
||||||
}
|
}
|
||||||
tmpData := make(map[int]*msg.CatnipInvite)
|
tmpData := make(map[int]*msg.CatnipInvite)
|
||||||
InviteList := make([]*msg.CatnipInvite, 0)
|
|
||||||
for uid, info := range CatnipMod.InviteList {
|
for uid, info := range CatnipMod.InviteList {
|
||||||
tmpData[uid] = &msg.CatnipInvite{
|
tmpData[uid] = &msg.CatnipInvite{
|
||||||
Uid: int64(uid),
|
Uid: int64(uid),
|
||||||
@ -410,6 +409,7 @@ func (p *Player) CatnipBackData() {
|
|||||||
invite.Type = 4 // 已参与游戏的好友不显示邀请
|
invite.Type = 4 // 已参与游戏的好友不显示邀请
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
InviteList := make([]*msg.CatnipInvite, 0, len(tmpData))
|
||||||
for _, v := range tmpData {
|
for _, v := range tmpData {
|
||||||
ResPlayerSimple := G_getGameLogic().GetResSimplePlayerByUid(int(v.Uid))
|
ResPlayerSimple := G_getGameLogic().GetResSimplePlayerByUid(int(v.Uid))
|
||||||
if ResPlayerSimple != nil {
|
if ResPlayerSimple != nil {
|
||||||
|
|||||||
@ -1099,7 +1099,7 @@ func (player *Player) GetPetOrderReward(Star int, Items []*item.Item) []*item.It
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ExcludeCardStar(CardList []int) []int {
|
func ExcludeCardStar(CardList []int) []int {
|
||||||
StarList := make([]int, 0)
|
StarList := make([]int, 0, len(CardList))
|
||||||
for _, v := range CardList {
|
for _, v := range CardList {
|
||||||
Star := cardCfg.GetStarById(v)
|
Star := cardCfg.GetStarById(v)
|
||||||
if Star < 2 || Star > 4 {
|
if Star < 2 || Star > 4 {
|
||||||
|
|||||||
@ -224,7 +224,7 @@ func (c *CardMod) BackData() *msg.ResCardInfo {
|
|||||||
}
|
}
|
||||||
cardList = append(cardList, &msg.Card{Id: int32(k), Count: int32(v)})
|
cardList = append(cardList, &msg.Card{Id: int32(k), Count: int32(v)})
|
||||||
}
|
}
|
||||||
ReqUid := make([]int64, 0)
|
ReqUid := make([]int64, 0, len(c.ReqFriend))
|
||||||
for _, v := range c.ReqFriend {
|
for _, v := range c.ReqFriend {
|
||||||
if v.EndTime < GoUtil.Now() {
|
if v.EndTime < GoUtil.Now() {
|
||||||
delete(c.ReqFriend, v.BUid)
|
delete(c.ReqFriend, v.BUid)
|
||||||
@ -232,7 +232,7 @@ func (c *CardMod) BackData() *msg.ResCardInfo {
|
|||||||
}
|
}
|
||||||
ReqUid = append(ReqUid, int64(v.BUid))
|
ReqUid = append(ReqUid, int64(v.BUid))
|
||||||
}
|
}
|
||||||
ExUid := make([]int64, 0)
|
ExUid := make([]int64, 0, len(c.ExCard))
|
||||||
for k, v := range c.ExCard {
|
for k, v := range c.ExCard {
|
||||||
if v.EndTime < GoUtil.Now() {
|
if v.EndTime < GoUtil.Now() {
|
||||||
delete(c.ExCard, k)
|
delete(c.ExCard, k)
|
||||||
@ -514,7 +514,7 @@ func (c *CardMod) NotifyCard() *msg.ResNotifyCard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *CardMod) NotifyTimes() *msg.ResNotifyCardTimes {
|
func (c *CardMod) NotifyTimes() *msg.ResNotifyCardTimes {
|
||||||
ReqUid := make([]int64, 0)
|
ReqUid := make([]int64, 0, len(c.ReqFriend))
|
||||||
for k, v := range c.ReqFriend {
|
for k, v := range c.ReqFriend {
|
||||||
if v.EndTime < GoUtil.Now() {
|
if v.EndTime < GoUtil.Now() {
|
||||||
delete(c.ReqFriend, k)
|
delete(c.ReqFriend, k)
|
||||||
@ -522,7 +522,7 @@ func (c *CardMod) NotifyTimes() *msg.ResNotifyCardTimes {
|
|||||||
}
|
}
|
||||||
ReqUid = append(ReqUid, int64(k))
|
ReqUid = append(ReqUid, int64(k))
|
||||||
}
|
}
|
||||||
ExUid := make([]int64, 0)
|
ExUid := make([]int64, 0, len(c.ExCard))
|
||||||
for k, v := range c.ExCard {
|
for k, v := range c.ExCard {
|
||||||
if v.EndTime < GoUtil.Now() {
|
if v.EndTime < GoUtil.Now() {
|
||||||
delete(c.ExCard, k)
|
delete(c.ExCard, k)
|
||||||
@ -590,7 +590,7 @@ func (c *CardMod) SeasonFirstReward() ([]*item.Item, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *CardMod) GetCardList() []int {
|
func (c *CardMod) GetCardList() []int {
|
||||||
cardList := make([]int, 0)
|
cardList := make([]int, 0, len(c.CardList))
|
||||||
for k, v := range c.CardList {
|
for k, v := range c.CardList {
|
||||||
if v > 0 {
|
if v > 0 {
|
||||||
cardList = append(cardList, k)
|
cardList = append(cardList, k)
|
||||||
|
|||||||
@ -20,42 +20,3 @@ func GetChessDiamond(Lv, Type int) int {
|
|||||||
}
|
}
|
||||||
return max(1, d)
|
return max(1, d)
|
||||||
}
|
}
|
||||||
|
|
||||||
// func getChessMainRand(Color string) []*Rand {
|
|
||||||
// r := make([]*Rand, 0)
|
|
||||||
// for i := 6; i <= 10; i++ {
|
|
||||||
// Diamond := int(math.Pow(2, float64(i-1)) / 2.5)
|
|
||||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
|
||||||
// if ChessId == 0 {
|
|
||||||
// continue
|
|
||||||
// }
|
|
||||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
|
||||||
// }
|
|
||||||
// return r
|
|
||||||
// }
|
|
||||||
|
|
||||||
// func getChessSecondaryRand(Color string) []*Rand {
|
|
||||||
// r := make([]*Rand, 0)
|
|
||||||
// for i := 5; i <= 9; i++ {
|
|
||||||
// Diamond := int((math.Pow(2, float64(i-1)) / 2.5) * 2)
|
|
||||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
|
||||||
// if ChessId == 0 {
|
|
||||||
// continue
|
|
||||||
// }
|
|
||||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
|
||||||
// }
|
|
||||||
// return r
|
|
||||||
// }
|
|
||||||
|
|
||||||
// func getChessSubRand(Color string) []*Rand {
|
|
||||||
// r := make([]*Rand, 0)
|
|
||||||
// for i := 5; i <= 9; i++ {
|
|
||||||
// Diamond := int(math.Pow(2, float64(i-1))/2.5 + 6.4)
|
|
||||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
|
||||||
// if ChessId == 0 {
|
|
||||||
// continue
|
|
||||||
// }
|
|
||||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
|
||||||
// }
|
|
||||||
// return r
|
|
||||||
// }
|
|
||||||
|
|||||||
@ -149,7 +149,7 @@ func (cb *ChessBorad) ComposeChess(id int) (int, error) {
|
|||||||
return 0, errors.New("已达最大等级")
|
return 0, errors.New("已达最大等级")
|
||||||
}
|
}
|
||||||
count := 0
|
count := 0
|
||||||
newList := make([]int, 0)
|
newList := make([]int, 0, len(cb.ChessList))
|
||||||
for _, chess := range cb.ChessList {
|
for _, chess := range cb.ChessList {
|
||||||
if chess == id && count < 2 {
|
if chess == id && count < 2 {
|
||||||
count++
|
count++
|
||||||
@ -457,17 +457,17 @@ func (cb *ChessBorad) BackData() *msg.ResPlayerChessInfo {
|
|||||||
Count: int32(v.Num),
|
Count: int32(v.Num),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
Re := make([]string, 0)
|
Re := make([]string, 0, len(cb.Retire))
|
||||||
for k, v := range cb.Retire {
|
for k, v := range cb.Retire {
|
||||||
if v == EMIT_RETIRE_END {
|
if v == EMIT_RETIRE_END {
|
||||||
Re = append(Re, k)
|
Re = append(Re, k)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ho := make([]int32, 0)
|
Ho := make([]int32, 0, len(cb.Honor))
|
||||||
for k := range cb.Honor {
|
for k := range cb.Honor {
|
||||||
Ho = append(Ho, int32(k))
|
Ho = append(Ho, int32(k))
|
||||||
}
|
}
|
||||||
Rw := make([]string, 0)
|
Rw := make([]string, 0, len(cb.RetireReward))
|
||||||
for k, v := range cb.RetireReward {
|
for k, v := range cb.RetireReward {
|
||||||
if v == true {
|
if v == true {
|
||||||
Rw = append(Rw, k)
|
Rw = append(Rw, k)
|
||||||
@ -633,7 +633,7 @@ func (cb *ChessBorad) RetireOrder(EmitType string) error {
|
|||||||
if cb.Retire[EmitType] != 1 {
|
if cb.Retire[EmitType] != 1 {
|
||||||
return errors.New("chess has not been retired")
|
return errors.New("chess has not been retired")
|
||||||
}
|
}
|
||||||
chess := make([]int, 0)
|
chess := make([]int, 0, len(cb.ChessMap))
|
||||||
EmitProduct := mergeDataCfg.GetEmitOrderProduce(EmitType)
|
EmitProduct := mergeDataCfg.GetEmitOrderProduce(EmitType)
|
||||||
for k, v := range cb.ChessMap {
|
for k, v := range cb.ChessMap {
|
||||||
arr := strings.Split(k, "@")
|
arr := strings.Split(k, "@")
|
||||||
|
|||||||
@ -30,7 +30,7 @@ const (
|
|||||||
func (player *Player) MailTrigger(Tr *quest.Trigger) bool {
|
func (player *Player) MailTrigger(Tr *quest.Trigger) bool {
|
||||||
MailMod := player.PlayMod.getMailMod()
|
MailMod := player.PlayMod.getMailMod()
|
||||||
TriggerMail := mailCfg.GetTriggerMail()
|
TriggerMail := mailCfg.GetTriggerMail()
|
||||||
t := make([]*mailCfg.TriggerMail, 0)
|
t := make([]*mailCfg.TriggerMail, 0, len(TriggerMail))
|
||||||
for _, v := range TriggerMail {
|
for _, v := range TriggerMail {
|
||||||
if GoUtil.InArray(v.Id, MailMod.TriggerMail) {
|
if GoUtil.InArray(v.Id, MailMod.TriggerMail) {
|
||||||
continue
|
continue
|
||||||
|
|||||||
@ -26,9 +26,9 @@ func main() {
|
|||||||
lconf.ListenAddr = conf.Server.ListenAddr
|
lconf.ListenAddr = conf.Server.ListenAddr
|
||||||
lconf.CenterAddr = conf.Server.CenterAddr
|
lconf.CenterAddr = conf.Server.CenterAddr
|
||||||
lconf.PendingWriteNum = conf.PendingWriteNum
|
lconf.PendingWriteNum = conf.PendingWriteNum
|
||||||
// 当内存>2G时开始GC
|
// 当内存>256M时开始GC
|
||||||
debug.SetGCPercent(50)
|
debug.SetGCPercent(50)
|
||||||
debug.SetMemoryLimit(2 << 30)
|
debug.SetMemoryLimit(512 << 20)
|
||||||
// 启动 pprof(仅绑定本地)
|
// 启动 pprof(仅绑定本地)
|
||||||
go func() {
|
go func() {
|
||||||
// 如果需要绑定所有接口改为 ":6060"
|
// 如果需要绑定所有接口改为 ":6060"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user