sokoban
Diffstat (limited to 'World.gd')
-rw-r--r--World.gd136
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