Рефакторинг. Аннотации GDScript
This commit is contained in:
@@ -2,6 +2,11 @@ extends Node
|
||||
|
||||
## Простые часто используемые функции
|
||||
|
||||
|
||||
## Возвращает true, если val число, false - если иначе
|
||||
func type_is_num(val) -> bool: return (typeof(val) == TYPE_INT) or (typeof(val) == typeof(0.0))
|
||||
|
||||
|
||||
## Производит преобразование из угла в радианы
|
||||
func radians(val: float): return (val * PI) / 180.0
|
||||
|
||||
@@ -34,7 +39,7 @@ func clip_value(val, val_min, val_max):
|
||||
return val
|
||||
|
||||
|
||||
## Возвращает массив с именами членов класса
|
||||
## Возвращает массив с именами членов класса [param obj]
|
||||
func get_members_names(obj: Object) -> Array:
|
||||
var pl = obj.get_property_list()
|
||||
var names: = Array()
|
||||
@@ -42,16 +47,17 @@ func get_members_names(obj: Object) -> Array:
|
||||
return names
|
||||
|
||||
|
||||
## Проверяет, что заданный массив похож на ip-адрес
|
||||
func assert_array_ipaddr(val: Array):
|
||||
""" Выкидывает исключение, если массив не содержит ip-адрес """
|
||||
assert(val.size() == 2)
|
||||
assert(val[0] is String)
|
||||
assert(val[1] is int)
|
||||
assert((0 < val[1]) and (val[1] < 65536))
|
||||
## Проверяет, что заданный массив [param val] похож на ip-адрес
|
||||
func is_array_ipaddr(val: Array):
|
||||
return (val.size() == 2) \
|
||||
and (val[0] is String) \
|
||||
and (val[1] is int) \
|
||||
and (0 < val[1]) \
|
||||
and (val[1] < 65536)
|
||||
|
||||
|
||||
## Преобразует декартовые координаты в полярные
|
||||
## Преобразует декартовые координаты в полярные. [param pos0]
|
||||
## - координаты центра, [param pos] - координаты точки
|
||||
func map_dec_to_rad(pos0: Vector2, pos: Vector2) -> Vector2:
|
||||
var x1: float = pos.x - pos0.x
|
||||
var y1: float = pos.y - pos0.y
|
||||
@@ -64,11 +70,6 @@ func map_range(val: float, a0: float, a1: float, b0: float, b1: float) -> float:
|
||||
return (((val - a0) * (b1 - b0)) / (a1 - a0)) + b0
|
||||
|
||||
|
||||
## Возвращает true, если val число, false - если иначе
|
||||
func type_is_num(val) -> bool:
|
||||
return (typeof(val) == TYPE_INT) or (typeof(val) == typeof(0.0))
|
||||
|
||||
|
||||
## Возвращает true, если точка внутри заданного полигона
|
||||
func is_point_in_polygon(pos: Vector2, p: PackedVector2Array) -> bool:
|
||||
var j: int = len(p) - 1
|
||||
@@ -80,11 +81,8 @@ func is_point_in_polygon(pos: Vector2, p: PackedVector2Array) -> bool:
|
||||
return odd_nodes > 0
|
||||
|
||||
|
||||
## Устанавливает слово в байтовом массиве
|
||||
## buf - Байтовый массив
|
||||
## index - Индекс младшего байта слова в массиве
|
||||
## val - Значение слова для записи в батовый массив
|
||||
## return - Ничего
|
||||
func set_wordi(buf: Array, index, val):
|
||||
## Записывает слово [param val] в элемент байтовго массива [param buf]
|
||||
## расположенный по индексу [param index]. Младшее слово
|
||||
func set_wordi(buf: Array, index: int, val: int) -> void:
|
||||
buf[index] = val & 0xff
|
||||
buf[index + 1] = (val >> 8) & 0xff
|
||||
|
||||
Reference in New Issue
Block a user