修复除零异常

This commit is contained in:
flswld
2023-03-27 18:39:39 +08:00
parent fae84e0b07
commit f1a14ccf0e
3 changed files with 14 additions and 18 deletions

View File

@@ -353,7 +353,7 @@ func getSceneLuaConfigTable[T any](luaState *lua.LState, tableName string, objec
luaValue := luaState.GetGlobal(tableName) luaValue := luaState.GetGlobal(tableName)
table, ok := luaValue.(*lua.LTable) table, ok := luaValue.(*lua.LTable)
if !ok { if !ok {
logger.Info("get lua table error, table name: %v, lua type: %v", tableName, luaValue.Type().String()) logger.Debug("get lua table error, table name: %v, lua type: %v", tableName, luaValue.Type().String())
return true return true
} }
tableObject := convLuaValueToGo(table) tableObject := convLuaValueToGo(table)

View File

@@ -239,7 +239,7 @@ func (g *GameDataConfig) loadGroup(group *Group, block *Block, sceneId int32, bl
return return
} }
if len(suiteLuaTableList) == 0 { if len(suiteLuaTableList) == 0 {
logger.Info("get suites object is nil, sceneId: %v, blockId: %v, groupId: %v", sceneId, blockId, groupId) // logger.Debug("get suites object is nil, sceneId: %v, blockId: %v, groupId: %v", sceneId, blockId, groupId)
} }
group.SuiteList = make([]*Suite, 0) group.SuiteList = make([]*Suite, 0)
for _, suiteLuaTable := range suiteLuaTableList { for _, suiteLuaTable := range suiteLuaTableList {

View File

@@ -133,8 +133,8 @@ func (w *WorldManager) LoadSceneBlockAoiMap() {
if int16(blockConfig.BlockRange.Max.Z) > maxZ { if int16(blockConfig.BlockRange.Max.Z) > maxZ {
maxZ = int16(blockConfig.BlockRange.Max.Z) maxZ = int16(blockConfig.BlockRange.Max.Z)
} }
xLen := int16(blockConfig.BlockRange.Max.X - blockConfig.BlockRange.Min.X) xLen := int16(blockConfig.BlockRange.Max.X) - int16(blockConfig.BlockRange.Min.X)
zLen := int16(blockConfig.BlockRange.Max.Z - blockConfig.BlockRange.Min.Z) zLen := int16(blockConfig.BlockRange.Max.Z) - int16(blockConfig.BlockRange.Min.Z)
if blockXLen == 0 { if blockXLen == 0 {
blockXLen = xLen blockXLen = xLen
} else { } else {
@@ -157,23 +157,19 @@ func (w *WorldManager) LoadSceneBlockAoiMap() {
if !ok { if !ok {
continue continue
} }
numX := int16(0)
if blockXLen == 0 { if blockXLen == 0 {
logger.Error("scene block x len is zero, scene id: %v", sceneLuaConfig.Id) logger.Debug("scene block x len is zero, scene id: %v", sceneLuaConfig.Id)
continue numX = 1
} } else {
numX := (maxX - minX) / blockXLen numX = (maxX - minX) / blockXLen
if numX == 0 {
logger.Error("calc scene block x num is zero, scene id: %v, %v / %v", sceneLuaConfig.Id, maxX-minX, blockXLen)
continue
} }
numZ := int16(0)
if blockZLen == 0 { if blockZLen == 0 {
logger.Error("scene block z len is zero, scene id: %v", sceneLuaConfig.Id) logger.Debug("scene block z len is zero, scene id: %v", sceneLuaConfig.Id)
continue numZ = 1
} } else {
numZ := (maxZ - minZ) / blockZLen numZ = (maxZ - minZ) / blockZLen
if numZ == 0 {
logger.Error("calc scene block z num is zero, scene id: %v, %v / %v", sceneLuaConfig.Id, maxZ-minZ, blockZLen)
continue
} }
// 将每个block作为aoi格子 并在格子中放入block拥有的所有group // 将每个block作为aoi格子 并在格子中放入block拥有的所有group
aoiManager := alg.NewAoiManager() aoiManager := alg.NewAoiManager()