2021-05-10 15:40:34 +02:00
|
|
|
extends Spatial
|
|
|
|
|
|
2021-05-11 15:36:14 +02:00
|
|
|
var dissolve = null
|
|
|
|
|
var time_max = 2000 # msec
|
|
|
|
|
var tick_reference = null
|
|
|
|
|
var value = 0.1
|
|
|
|
|
|
|
|
|
|
func _on_Area_input_event(_camera, event, _click_position, _click_normal, _shape_idx):
|
2021-05-10 16:09:51 +02:00
|
|
|
if event is InputEventMouseButton or event is InputEventScreenTouch:
|
2021-05-11 15:36:14 +02:00
|
|
|
dissolve = true
|
|
|
|
|
|
|
|
|
|
func _process(_delta):
|
|
|
|
|
if dissolve == true:
|
|
|
|
|
if tick_reference == null:
|
|
|
|
|
tick_reference = OS.get_ticks_msec()
|
|
|
|
|
print("[Dagger#_process] Reference tick to " + String(tick_reference))
|
|
|
|
|
|
|
|
|
|
var tick = OS.get_ticks_msec()
|
|
|
|
|
|
|
|
|
|
print("[Dagger#_process] Dissolve ... " + String(tick) + " < " + String(tick_reference + time_max))
|
|
|
|
|
|
|
|
|
|
if tick < tick_reference + time_max:
|
|
|
|
|
print("[Dagger#_process] Apply value to "+ String(value))
|
|
|
|
|
value += 0.01
|
|
|
|
|
$dagger.mesh.surface_get_material(0).set("shader_param/dissolve_amount", value)
|
|
|
|
|
else:
|
|
|
|
|
print("[Dagger#_process] animation ending !!")
|
|
|
|
|
dissolve = null
|