sokoban
Diffstat (limited to 'World.gd')
| -rw-r--r-- | World.gd | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/World.gd b/World.gd deleted file mode 100644 index f09c12b..0000000 --- a/World.gd +++ /dev/null @@ -1,136 +0,0 @@ -extends Node2D - -var currentintlevel := 1 -var screenshots = 0 -var game_over = false setget set_over -var game_won = false setget set_won -var over = false -var just_started = true - -onready var level := $Level -onready var console = MainInstances.console - -const path = "user://" - - -func _ready(): - if Utils.starting: - start() - Utils.starting = false - if Utils.loading: - Utils.loading = false - currentintlevel = Utils.loading_int - Utils.loading_int = 0 - start() - $WinScreen.player = $Level/LevelContainer/Player - $WinScreen.hide(false) - level.connect("level_completed", self, "_on_Level_level_completed") - level.connect("level_reset", self, "_on_Level_level_reset") - level.connect("game_over", self, "_on_Level_game_over") - - -func _on_Level_level_completed(complete = false): - $Level/CanvasLayer/HUD/StopWatch.set_process(false) - if complete: - $WinScreen._show(str(level.current_level)) - save(currentintlevel + 1) - game_over = false - game_won = true - else: - $Level/LevelContainer/LevelComplete.play("Animate") - get_tree().call_group("target", "play_pulse") - - -func _on_Level_level_reset(): - $WinScreen.hide(true) - $GameoverScreen.hide(true) - game_over = false - game_won = false - - -func save(new_level): # what level are we on/going to - if (new_level) > int(SaveLoad.files.level.data.highest_level): - SaveLoad.files.level.data.highest_level = str(new_level - 1) - console.Log("New Highscore!") - SaveLoad.save("level") - - -func _on_Level_game_over(): - game_over = true - game_won = false - $GameoverScreen._show(str(level.current_level)) - - -onready var cam = $Level/LevelContainer/Player.cam - -var max_zoom = 3 -var min_zoom = .25 - - -func _input(event: InputEvent): - if event.is_action("scrollup"): - var new_zoom = cam.zoom.x - new_zoom += .01 - new_zoom = clamp(new_zoom, min_zoom, max_zoom) - cam.zoom = Vector2(new_zoom, new_zoom) - - elif event.is_action("scrolldown"): - var new_zoom = cam.zoom.x - new_zoom -= .03 - new_zoom = clamp(new_zoom, min_zoom, max_zoom) - cam.zoom = Vector2(new_zoom, new_zoom) - - elif event.is_action_released("next"): - currentintlevel += 1 - currentintlevel = clamp(currentintlevel, 1, 60) - - start() - - if event.is_action_released("ui_accept"): - if $WinScreen.shown: - currentintlevel += 1 - $WinScreen.hide(true) - game_won = false - level.load_level(str(currentintlevel)) - - elif $GameoverScreen.shown: - $GameoverScreen.hide(true) - game_won = false - game_over = false - level.load_level(str(currentintlevel), false) - - elif event.is_action_released("prtscrn"): - screenshots += 1 - screenshots = clamp(screenshots, 0, 20) - var save_path = path + "sokobanscreenshot_%s.png" % str(screenshots) - var image = get_viewport().get_texture().get_data() - image.flip_y() - if console.Log( - ( - "saved to: " - + OS.get_user_data_dir() - + "/" - + "sokobanscreenshot_%s.png" % str(screenshots) - ), - 1, - 2.5 - ): - image.save_png(save_path) - - -func start(): - Utils.load_loading_screen() - yield(Utils, "loaded_loading_screen") - $Level/CanvasLayer/HUD.show() - level.show() - level.load_level(str(currentintlevel)) - - -func set_won(value): - game_won = value - over = game_over or game_won - - -func set_over(value): - game_over = value - over = game_over or game_won |