49 lines
1.2 KiB
GDScript
49 lines
1.2 KiB
GDScript
extends Node
|
|
|
|
const PLAYER_CFG = "user://client_settings"
|
|
|
|
var NICKNAME: StringName = "MyNameIs"
|
|
|
|
var SENSITIVITY: float = 0.004
|
|
var TOGGLE_CROUCH: bool = false
|
|
var TOGGLE_SCOPE: bool = false
|
|
var TOGGLE_WALK: bool = false
|
|
|
|
func _ready() -> void:
|
|
load_settings()
|
|
multiplayer.connected_to_server.connect(send_client_data)
|
|
|
|
func _exit_tree() -> void:
|
|
save_settings()
|
|
|
|
func send_client_data() -> void:
|
|
var data = {}
|
|
data["nick"] = NICKNAME
|
|
|
|
if multiplayer.is_server():
|
|
Lobby.recieve_client_data(data)
|
|
else:
|
|
Lobby.recieve_client_data.rpc_id(1,data)
|
|
|
|
func save_settings() -> void:
|
|
var file = FileAccess.open(PLAYER_CFG,FileAccess.WRITE)
|
|
|
|
file.store_line(NICKNAME)
|
|
file.store_line(str(SENSITIVITY))
|
|
|
|
var compacted_toggles = 1 * int(TOGGLE_CROUCH) | 2 * int(TOGGLE_SCOPE) | 4 * int(TOGGLE_WALK)
|
|
file.store_line(str(compacted_toggles))
|
|
|
|
func load_settings() -> void:
|
|
var file = FileAccess.open(PLAYER_CFG,FileAccess.READ)
|
|
|
|
if file == null:
|
|
return
|
|
|
|
NICKNAME = file.get_line()
|
|
SENSITIVITY = float(file.get_line())
|
|
|
|
var compacted_toggles = int(file.get_line())
|
|
TOGGLE_CROUCH = compacted_toggles & 1
|
|
TOGGLE_SCOPE = compacted_toggles & 2
|
|
TOGGLE_WALK = compacted_toggles & 4
|