refactor static methods
This commit is contained in:
parent
8df1181be3
commit
532505c812
@ -57,17 +57,6 @@ var _requested_keys_limit: int = 0
|
||||
#endregion
|
||||
|
||||
|
||||
#region static
|
||||
static func get_rotated_key_pos(
|
||||
key_pos: Vector3, pivot: Vector2, angle: float
|
||||
) -> Vector3:
|
||||
var pivot_pos := Vector3(pivot.x, 0, pivot.y)
|
||||
return (key_pos - pivot_pos).rotated(Vector3.UP, angle) + pivot_pos
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region builtins
|
||||
func _ready() -> void:
|
||||
if Engine.is_editor_hint():
|
||||
@ -249,7 +238,7 @@ func _iterate_row(
|
||||
)
|
||||
key_pos.z += key_props.y * key_size
|
||||
|
||||
key_pos = get_rotated_key_pos(key_pos, pivot, angle)
|
||||
key_pos = KeyHelper.get_rotated_key_pos(key_pos, pivot, angle)
|
||||
|
||||
iter_function.call(key_props, key_pos, angle, current_keys)
|
||||
|
||||
@ -295,7 +284,7 @@ func _get_scale_with_gaps(key_scale: float) -> float:
|
||||
|
||||
func _generate_editor_keys() -> void:
|
||||
_delete_editor_keys()
|
||||
_iterate_keys(_generate_key, AbstractLayout.get_layout_rows(LayoutANSI.new()))
|
||||
_iterate_keys(_generate_key, LayoutANSI.new().get_key_props_rows())
|
||||
|
||||
|
||||
func _delete_editor_keys() -> void:
|
||||
|
||||
@ -65,7 +65,7 @@ func _set_defaults() -> void:
|
||||
func _set_layout(layout: AbstractLayout) -> void:
|
||||
print("SETTING LAYOUT: '%s'" % layout.get_name())
|
||||
current_layout = layout
|
||||
layout_rows = AbstractLayout.get_layout_rows(current_layout)
|
||||
layout_rows = current_layout.get_key_props_rows()
|
||||
|
||||
|
||||
func _load_config() -> Error:
|
||||
|
||||
@ -49,3 +49,10 @@ const ADJACENCY_MAP: Dictionary[Key, Array] = {
|
||||
KEY_PERIOD: [KEY_L, KEY_SEMICOLON, KEY_SLASH, KEY_COMMA],
|
||||
KEY_SLASH: [KEY_SEMICOLON, KEY_APOSTROPHE, KEY_PERIOD],
|
||||
}
|
||||
|
||||
|
||||
static func get_rotated_key_pos(
|
||||
key_pos: Vector3, pivot: Vector2, angle: float
|
||||
) -> Vector3:
|
||||
var pivot_pos := Vector3(pivot.x, 0, pivot.y)
|
||||
return (key_pos - pivot_pos).rotated(Vector3.UP, angle) + pivot_pos
|
||||
|
||||
@ -54,6 +54,10 @@ func is_unicode() -> bool:
|
||||
return OS.is_keycode_unicode(physical_keycode)
|
||||
|
||||
|
||||
func is_viable_player_pos_key() -> bool:
|
||||
return KeyHelper.ADJACENCY_MAP.has(physical_keycode)
|
||||
|
||||
|
||||
func has_secondary_rect() -> bool:
|
||||
return width2 != 1 or height2 != 1 or x2 != 0 or y2 != 0
|
||||
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
class_name AbstractLayout
|
||||
|
||||
|
||||
static func get_layout_rows(layout: AbstractLayout) -> Array[Array]:
|
||||
var rows: Array[Array] = []
|
||||
for dict_row: Array[Dictionary] in layout.get_rows():
|
||||
var row: Array[KeyProps] = []
|
||||
for props_dict: Dictionary in dict_row:
|
||||
row.append(KeyProps.new().props_from_dict(props_dict))
|
||||
rows.append(row)
|
||||
return rows
|
||||
|
||||
|
||||
func get_name() -> String:
|
||||
return ""
|
||||
|
||||
|
||||
func get_rows() -> Array[Array]:
|
||||
return []
|
||||
|
||||
|
||||
func get_key_props_rows() -> Array[Array]:
|
||||
var rows: Array[Array] = []
|
||||
for dict_row: Array[Dictionary] in get_rows():
|
||||
var row: Array[KeyProps] = []
|
||||
for props_dict: Dictionary in dict_row:
|
||||
row.append(KeyProps.new().props_from_dict(props_dict))
|
||||
rows.append(row)
|
||||
return rows
|
||||
|
||||
@ -166,7 +166,7 @@ func _deserialize_row(
|
||||
pos.x += data_key[X] if data_key.has(X) else 0.0
|
||||
pos.y += data_key[Y] if data_key.has(Y) else 0.0
|
||||
|
||||
var key_pos_rotated := GameKeyboard.get_rotated_key_pos(
|
||||
var key_pos_rotated := KeyHelper.get_rotated_key_pos(
|
||||
Vector3(pos.x, 0, pos.y), pivot, angle
|
||||
)
|
||||
var key_pos_dict := {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user