feat(achievements): Example when entering cocina, unlock once ignore after, notification glitch when changing room. #168
This commit is contained in:
@@ -20,13 +20,14 @@ func reset_achievements() -> void:
|
||||
|
||||
|
||||
func unlock_achievement(achievement_id) -> void:
|
||||
escoria.logger.info(self, "Achievent '%s' unlocked." % achievement_id)
|
||||
_achievement_tracker.set(achievement_id, true)
|
||||
unlocked.emit(achievement_id)
|
||||
if not is_unlocked(achievement_id):
|
||||
escoria.logger.info(self, "Achievent '%s' unlocked." % achievement_id)
|
||||
_achievement_tracker.set(achievement_id, true)
|
||||
unlocked.emit(achievement_id)
|
||||
|
||||
|
||||
func is_unlocked(achievement_id: String) -> bool:
|
||||
if has(achievement_id):
|
||||
if not has(achievement_id):
|
||||
escoria.logger.error(self, "Achievement '%s' not found.")
|
||||
return false
|
||||
return _achievement_tracker.get(achievement_id)
|
||||
|
||||
@@ -7,6 +7,8 @@ const _FADE_OUT_TIME: float = 0.5
|
||||
|
||||
var _timer: Timer = Timer.new()
|
||||
|
||||
var _first_time = true
|
||||
|
||||
var achievement_id: String:
|
||||
get:
|
||||
return achievement_id
|
||||
@@ -16,14 +18,16 @@ var achievement_id: String:
|
||||
|
||||
|
||||
func _enter_tree() -> void:
|
||||
var _tween: Tween = create_tween()
|
||||
_tween.tween_property(self, "modulate:a",1.0,_FADE_IN_TIME).from(0.0)
|
||||
|
||||
_timer.one_shot = true
|
||||
_timer.timeout.connect(_clear_timer_timeout)
|
||||
add_child(_timer)
|
||||
|
||||
_timer.start(_CLEAR_DELAY)
|
||||
if _first_time:
|
||||
var _tween: Tween = create_tween()
|
||||
_tween.tween_property(self, "modulate:a",1.0,_FADE_IN_TIME).from(0.0)
|
||||
|
||||
_timer.one_shot = true
|
||||
_timer.timeout.connect(_clear_timer_timeout)
|
||||
add_child(_timer)
|
||||
|
||||
_timer.start(_CLEAR_DELAY)
|
||||
_first_time = false
|
||||
|
||||
func _clear_timer_timeout() -> void:
|
||||
var _tween: Tween = create_tween()
|
||||
|
||||
@@ -72,3 +72,4 @@
|
||||
inc_global("turno_cocina_mikel_played_times", 1)
|
||||
|
||||
debug_time_stop()
|
||||
unlock_achievement("test_achievement")
|
||||
Reference in New Issue
Block a user