From fc2db94c86a881d40a0b6707f9e4001a977b4c21 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Fri, 6 Sep 2024 14:00:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=9E=E6=8A=80=E9=A6=86=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 5299 -> 5299 bytes model/config.go | 25 ++++++++++++++++++------- public | 2 +- worldsrv/scene.go | 1 - worldsrv/scenemgr.go | 1 + 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index eab78e7297231cf3a52b2e8368d3632ac62bb02e..79f8787d87dd629e44daad01b4faae3b91f55cf3 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!+{O&1uR!UmQ2H8_z7C?5I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUweP#ew#rtH){|P#w&C6!$4{g5A-u_7MwLEC&nNAuxx+42D?*(+INw>=7h` ZVGh0nbvQTxl-M~I0X_PKnTvt85CCSnJT(9S literal 384 zcmd-w<6snElw#w!(#8y?uR`f-Q2IKQz6_$3I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUweP%^|`*{N{3k-O;f25eru=2MgFCFbBgl-hny2i-EQf0Au1jH2?qr diff --git a/data/DB_Task.dat b/data/DB_Task.dat index ec74cdafd8493c72f3f5010721a7e2cc12d529f8..7f781343a7cc7a11712f89c0ca1f3edb0dfa161a 100644 GIT binary patch delta 226 zcmdn2xmk09p&$px!d^Ck1&8Fk*f^E|S*#nK)-nmQaV!F|8NHygy={DEH|X!9bVgG8V< NH*{8QHV|lL0RXb^Hf{g_ diff --git a/model/config.go b/model/config.go index 568775e..4ba254c 100644 --- a/model/config.go +++ b/model/config.go @@ -406,7 +406,19 @@ func (cm *ConfigMgr) UpdateRoomConfig(data *webapi.RoomConfig) { if d == nil { d = make([]*webapi.RoomConfig, 0) } - d = append(d, data) + + has := false + for k, v := range d { + if v.GetId() == data.GetId() { + d[k] = data + has = true + break + } + } + if !has { + d = append(d, data) + } + cm.GetConfig(data.GetPlatform()).RoomTypeMap[data.GetRoomType()] = d } @@ -414,12 +426,11 @@ func (cm *ConfigMgr) DelRoomConfig(plt string, id int32) { d := cm.GetConfig(plt).RoomConfig[id] if d != nil { b := cm.GetConfig(plt).RoomTypeMap[d.GetRoomType()] - if b != nil { - for i, v := range b { - if v.GetId() == id { - b = append(b[:i], b[i+1:]...) - cm.GetConfig(plt).RoomTypeMap[d.GetRoomType()] = b - } + for i, v := range b { + if v.GetId() == id { + b = append(b[:i], b[i+1:]...) + cm.GetConfig(plt).RoomTypeMap[d.GetRoomType()] = b + break } } } diff --git a/public b/public index 00b9fce..9d35521 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 00b9fce886af5b6a926aa804d3cad33be9ea0793 +Subproject commit 9d355215710228e4481fc6334f6e14b902a03e95 diff --git a/worldsrv/scene.go b/worldsrv/scene.go index 093a35e..a8fcd80 100644 --- a/worldsrv/scene.go +++ b/worldsrv/scene.go @@ -141,7 +141,6 @@ func NewScene(args *CreateSceneParam) *Scene { if s.CustomParam == nil { s.CustomParam = new(serverproto.CustomParam) } - s.sp.OnStart(s) return s } diff --git a/worldsrv/scenemgr.go b/worldsrv/scenemgr.go index 185f3f5..439a945 100644 --- a/worldsrv/scenemgr.go +++ b/worldsrv/scenemgr.go @@ -413,6 +413,7 @@ func (m *SceneMgr) CreateScene(args *CreateSceneParam) *Scene { return nil } m.scenes[args.RoomId] = s + s.sp.OnStart(s) // 添加到游戏服记录中 args.GS.AddScene(&AddSceneParam{ S: s,