Рефактор

This commit is contained in:
sasha80
2025-04-30 09:12:53 +03:00
parent 008f7efc54
commit 4b5ff5023d
6 changed files with 41 additions and 43 deletions

View File

@@ -532,34 +532,28 @@ func get_tile(x: int, y: int, z: int, create: bool = true) -> Tile:
x = -x - 1
x = int(n - 1) - (x % int(n))
# out of bounds
if z < 0 or y < 0 or y >= n:
return null
# get tile index
var idx = xyz_to_idx(x, y, z)
var tile = null
# retrieve from current requests...
var req = get_node_or_null(NodePath(str(idx)))
if req:
tile = req.get_meta('tile')
tile.t = now
return tile
# retrieve from cache
tile = _cache.get(idx)
if tile:
tile.t = now
return tile
# retrieve from queue
tile = _queue.get(idx)
if tile:
tile.t = now
return tile
# create a new tile - add it to queue
var queue_size: = _queue.size()
if create and (not $canvas/player.is_playing()):
tile = Tile.new(idx, x, y, z)
@@ -609,12 +603,13 @@ class Tile:
func haversine_m(lat1, lon1, lat2, lon2):
# Радиус Земли в метрах
var R: = 6372795.0
const R: = 6372795.0
# Преобразование градусов в радианы
var rlat1: = deg_to_rad(lat1)
var rlon1: = deg_to_rad(lon1)
var rlat2: = deg_to_rad(lat2)
var rlon2: = deg_to_rad(lon2)
# вычисления длины большого круга
var cl1: = cos(rlat1)
var cl2: = cos(rlat2)
var sl1: = sin(rlat1)
@@ -622,8 +617,7 @@ func haversine_m(lat1, lon1, lat2, lon2):
var delta: = rlon2 - rlon1
var cdelta: = cos(delta)
var sdelta: = sin(delta)
# вычисления длины большого круга
var y: = sqrt(pow(cl2 * sdelta, 2) + pow(cl1 * sl2 - sl1 * cl2 * cdelta, 2))
var y: = sqrt(pow(cl2 * sdelta, 2.0) + pow(cl1 * sl2 - sl1 * cl2 * cdelta, 2.0))
var x: = sl1 * sl2 + cl1 * cl2 * cdelta
var ad: = atan2(y, x)
var dist: = ad * R