diff options
| author | nokoe <nokoe@mailbox.org> | 2024-06-22 21:58:12 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:30:15 +0200 | 
| commit | d14e5c8a7cf6eec2bf764a3eb347492dae0357f1 (patch) | |
| tree | 8a5a65f7f17d45082e0e5f26e1ea44f7e66bbebf /client/scripts | |
| parent | e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2 (diff) | |
| download | hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.bz2 hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.zst | |
interact
Diffstat (limited to 'client/scripts')
| -rw-r--r-- | client/scripts/controllable_player.gd | 11 | ||||
| -rw-r--r-- | client/scripts/game.gd | 3 | ||||
| -rw-r--r-- | client/scripts/multiplayer.gd | 2 | 
3 files changed, 12 insertions, 4 deletions
| diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd index d0852846..debb86dd 100644 --- a/client/scripts/controllable_player.gd +++ b/client/scripts/controllable_player.gd @@ -23,7 +23,7 @@ func _process(delta):  	update(delta, input)  	position_anim = position_  	rotation_anim = rotation_ -	mark_interact_target() +	interact()  	super(delta)  func update(dt: float, input: Vector2): @@ -68,12 +68,19 @@ func aabb_point_distance(min: Vector2, max: Vector2, p: Vector2) -> float:  func update_position(_new_position: Vector2, _new_rotation: float):  	pass -func mark_interact_target(): +func interact():  	var target = Vector2i(  		int(floor(position.x + sin(rotation.y))),  		int(floor(position.z + cos(rotation.y)))  	)  	var tile_idx = str(target) +	if Input.is_action_just_pressed("interact"): +		Multiplayer.send_interact(target, true) +		if game.map.tile_by_pos.has(tile_idx): +			var t: Floor = game.map.tile_by_pos[tile_idx] +			t.interact() +	elif Input.is_action_just_released("interact"): +		Multiplayer.send_interact(target, false)  	if game.map.tile_by_pos.has(tile_idx):  		var t: Floor = game.map.tile_by_pos[tile_idx]  		game.marker.visible = true diff --git a/client/scripts/game.gd b/client/scripts/game.gd index f363c894..86277b3f 100644 --- a/client/scripts/game.gd +++ b/client/scripts/game.gd @@ -31,8 +31,9 @@ func _ready():  	)  	Multiplayer.connect("remove_player", func(id: int): -		var player = players.get(id) +		var player: Player = players.get(id)  		if player != null: +			player.hand.queue_free()  			players.erase(id)  			player.queue_free()  	) diff --git a/client/scripts/multiplayer.gd b/client/scripts/multiplayer.gd index 4e05fad5..7032b216 100644 --- a/client/scripts/multiplayer.gd +++ b/client/scripts/multiplayer.gd @@ -137,7 +137,7 @@ func send_position(pos: Vector2, rotation: float):  		"rot": rotation  	}) -func send_interact(pos: Vector2, edge: bool): +func send_interact(pos: Vector2i, edge: bool):  	send_packet({  		"type": "interact",  		"pos": [pos.x, pos.y], | 
