hit history
This commit is contained in:
parent
ff8c3ef752
commit
6693cd26b4
|
@ -13,12 +13,14 @@ var time_targets := Dictionary()
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_target(initial_target, false)
|
set_target(initial_target, false)
|
||||||
|
time_targets[0] = target
|
||||||
camera.set_as_top_level(true)
|
camera.set_as_top_level(true)
|
||||||
ControllerEventBus.billiard_touched_billiard.connect(_on_billiard_touched_billiard)
|
ControllerEventBus.billiard_touched_billiard.connect(_on_billiard_touched_billiard)
|
||||||
|
|
||||||
TAS_System.FrameIncremented.connect(frame_inc)
|
TAS_System.FrameIncremented.connect(frame_inc)
|
||||||
TAS_System.FramesAdvanced.connect(frames_change)
|
TAS_System.FramesAdvanced.connect(frames_change)
|
||||||
TAS_System.FramesRegressed.connect(frames_change)
|
TAS_System.FramesRegressed.connect(frames_change)
|
||||||
|
TAS_System.FramesReset.connect(frames_reset)
|
||||||
|
|
||||||
func frame_inc(frame: int):
|
func frame_inc(frame: int):
|
||||||
time_targets[frame] = target
|
time_targets[frame] = target
|
||||||
|
@ -27,6 +29,10 @@ func frames_change(start: int, end: int):
|
||||||
if time_targets[end] != target:
|
if time_targets[end] != target:
|
||||||
set_target(time_targets[end].get_billiard())
|
set_target(time_targets[end].get_billiard())
|
||||||
|
|
||||||
|
func frames_reset():
|
||||||
|
time_targets = Dictionary()
|
||||||
|
time_targets[0] = target
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_billiard_touched_billiard(who: Billiard, touched: Billiard):
|
func _on_billiard_touched_billiard(who: Billiard, touched: Billiard):
|
||||||
|
|
|
@ -5,6 +5,27 @@ class_name Billiard
|
||||||
@export var power_max := 5.0
|
@export var power_max := 5.0
|
||||||
|
|
||||||
var can_hit = true
|
var can_hit = true
|
||||||
|
var can_hit_history := Dictionary()
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
can_hit_history[0] = can_hit
|
||||||
|
|
||||||
|
TAS_System.FrameIncremented.connect(frame_inc)
|
||||||
|
TAS_System.FramesAdvanced.connect(frames_change)
|
||||||
|
TAS_System.FramesRegressed.connect(frames_change)
|
||||||
|
TAS_System.FramesReset.connect(frames_reset)
|
||||||
|
|
||||||
|
func frame_inc(frame: int):
|
||||||
|
can_hit_history[frame] = can_hit
|
||||||
|
|
||||||
|
func frames_change(start: int, end: int):
|
||||||
|
can_hit = can_hit_history[end]
|
||||||
|
|
||||||
|
func frames_reset():
|
||||||
|
can_hit_history = Dictionary()
|
||||||
|
can_hit_history[0] = can_hit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func hit(impulse: Vector3, power: float):
|
func hit(impulse: Vector3, power: float):
|
||||||
apply_central_impulse(impulse * lerp(power_min, power_max, power))
|
apply_central_impulse(impulse * lerp(power_min, power_max, power))
|
||||||
|
|
Loading…
Reference in New Issue