mirror of
https://github.com/danbulant/programovani-kostky
synced 2026-07-06 11:30:36 +00:00
add physics timeout
This commit is contained in:
parent
be2d497c34
commit
23e20c5774
1 changed files with 12 additions and 0 deletions
12
game/main.gd
12
game/main.gd
|
|
@ -8,6 +8,8 @@ extends Node3D
|
||||||
@onready var camera_target: Marker3D = $CameraPositionTarget
|
@onready var camera_target: Marker3D = $CameraPositionTarget
|
||||||
@onready var ui: Ui = $Ui
|
@onready var ui: Ui = $Ui
|
||||||
|
|
||||||
|
const physics_timeout := 2.5
|
||||||
|
|
||||||
enum GameState {
|
enum GameState {
|
||||||
START,
|
START,
|
||||||
THROWING_START,
|
THROWING_START,
|
||||||
|
|
@ -19,9 +21,17 @@ var state: GameState = GameState.START
|
||||||
var camera_transition := 0.
|
var camera_transition := 0.
|
||||||
var camera_speed := 1.5
|
var camera_speed := 1.5
|
||||||
var first_throw := true
|
var first_throw := true
|
||||||
|
var physics_timer := Timer.new()
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
ui.connect("roll_pressed", throw_dice)
|
ui.connect("roll_pressed", throw_dice)
|
||||||
|
add_child(physics_timer)
|
||||||
|
physics_timer.connect("timeout", physics_timer_timeout)
|
||||||
|
|
||||||
|
func physics_timer_timeout() -> void:
|
||||||
|
dice1.sleeping = true
|
||||||
|
dice2.sleeping = true
|
||||||
|
pass
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
camera_transition += delta * camera_speed
|
camera_transition += delta * camera_speed
|
||||||
|
|
@ -41,6 +51,7 @@ func _physics_process(delta: float) -> void:
|
||||||
camera_target.look_at(avg_position, Vector3.FORWARD)
|
camera_target.look_at(avg_position, Vector3.FORWARD)
|
||||||
camera_transition = 0.
|
camera_transition = 0.
|
||||||
first_throw = false
|
first_throw = false
|
||||||
|
physics_timer.stop()
|
||||||
|
|
||||||
ui.set_current_throw_value([dice1.get_value(), dice2.get_value()])
|
ui.set_current_throw_value([dice1.get_value(), dice2.get_value()])
|
||||||
|
|
||||||
|
|
@ -50,3 +61,4 @@ func throw_dice() -> void:
|
||||||
dice2.random_throw()
|
dice2.random_throw()
|
||||||
state = GameState.THROWING_START
|
state = GameState.THROWING_START
|
||||||
camera_transition = 0.
|
camera_transition = 0.
|
||||||
|
physics_timer.start(physics_timeout)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue