mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 16:02:26 +08:00
修复除零异常
This commit is contained in:
@@ -119,6 +119,7 @@ func (w *WorldManager) LoadSceneBlockAoiMap() {
|
|||||||
maxZ := int16(math.MinInt16)
|
maxZ := int16(math.MinInt16)
|
||||||
blockXLen := int16(0)
|
blockXLen := int16(0)
|
||||||
blockZLen := int16(0)
|
blockZLen := int16(0)
|
||||||
|
ok := true
|
||||||
for _, blockConfig := range sceneLuaConfig.BlockMap {
|
for _, blockConfig := range sceneLuaConfig.BlockMap {
|
||||||
if int16(blockConfig.BlockRange.Min.X) < minX {
|
if int16(blockConfig.BlockRange.Min.X) < minX {
|
||||||
minX = int16(blockConfig.BlockRange.Min.X)
|
minX = int16(blockConfig.BlockRange.Min.X)
|
||||||
@@ -138,32 +139,41 @@ func (w *WorldManager) LoadSceneBlockAoiMap() {
|
|||||||
blockXLen = xLen
|
blockXLen = xLen
|
||||||
} else {
|
} else {
|
||||||
if blockXLen != xLen {
|
if blockXLen != xLen {
|
||||||
logger.Error("config scene block size not same, scene id: %v", sceneLuaConfig.Id)
|
logger.Error("scene block x len not same, scene id: %v", sceneLuaConfig.Id)
|
||||||
return
|
ok = false
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if blockZLen == 0 {
|
if blockZLen == 0 {
|
||||||
blockZLen = zLen
|
blockZLen = zLen
|
||||||
} else {
|
} else {
|
||||||
if blockZLen != zLen {
|
if blockZLen != zLen {
|
||||||
logger.Error("config scene block size not same, scene id: %v", sceneLuaConfig.Id)
|
logger.Error("scene block z len not same, scene id: %v", sceneLuaConfig.Id)
|
||||||
return
|
ok = false
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
numX := int16(0)
|
if !ok {
|
||||||
if (maxX-minX) != 0 && blockXLen != 0 {
|
continue
|
||||||
numX = (maxX - minX) / blockXLen
|
|
||||||
} else {
|
|
||||||
logger.Error("config scene block size is zero, scene id: %v", sceneLuaConfig.Id)
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
numZ := int16(0)
|
if blockXLen == 0 {
|
||||||
if (maxZ-minZ) != 0 && blockZLen != 0 {
|
logger.Error("scene block x len is zero, scene id: %v", sceneLuaConfig.Id)
|
||||||
numZ = (maxZ - minZ) / blockZLen
|
continue
|
||||||
} else {
|
}
|
||||||
logger.Error("config scene block size is zero, scene id: %v", sceneLuaConfig.Id)
|
numX := (maxX - minX) / blockXLen
|
||||||
return
|
if numX == 0 {
|
||||||
|
logger.Error("calc scene block x num is zero, scene id: %v, %v / %v", sceneLuaConfig.Id, maxX-minX, blockXLen)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if blockZLen == 0 {
|
||||||
|
logger.Error("scene block z len is zero, scene id: %v", sceneLuaConfig.Id)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
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()
|
||||||
|
|||||||
Reference in New Issue
Block a user