Skip to content

Commit

Permalink
Add custom speed, fix #97, change gui a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
ObaniGemini committed May 29, 2017
1 parent ed6dae1 commit 024b230
Show file tree
Hide file tree
Showing 8 changed files with 323 additions and 128 deletions.
4 changes: 3 additions & 1 deletion entities/entity.gd
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ var wait_frames = 3
var push_direction = ""
var enabled = true

var speed_ratio = 1

onready var tilemap = get_node(tilemap_path)
onready var level_holder = get_node(level_holder_path)
onready var positional_audio = get_node("positional_audio")
Expand Down Expand Up @@ -91,7 +93,7 @@ func _fixed_process(delta):
if ray_status.has(movement_check_collision) and ray_status[movement_check_collision] != null and ray_status[movement_check_collision].get("speed_multiplier") != null:
speed_multiplier = min(speed_multiplier, ray_status[movement_check_collision].speed_multiplier)

var speed = movement_speed * delta * speed_multiplier
var speed = movement_speed * delta * speed_multiplier * speed_ratio
if movement.length_squared() > speed.length_squared():
speed = speed * movement.normalized()
movement -= speed
Expand Down
8 changes: 6 additions & 2 deletions levels/botanica/level_1.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
[node name="level" type="Node2D"]

transform/pos = Vector2( 32, 32 )
__meta__ = { "__editor_plugin_screen__":"2D" }
__meta__ = {
"__editor_plugin_screen__": "2D"
}

[node name="tilemap" type="TileMap" parent="."]

Expand Down Expand Up @@ -47,7 +49,9 @@ transform/pos = Vector2( 480, 352 )
z/z = -999
z/relative = false
texture = ExtResource( 2 )
__meta__ = { "_edit_lock_":true }
__meta__ = {
"_edit_lock_": true
}

[node name="camera_start" type="Position2D" parent="."]

Expand Down
22 changes: 16 additions & 6 deletions main/gui.gd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const GOAL_TYPES = ["box", "flower", "artefact"]

var allow_next_level = false
var popup_running = false
var speed = 1

onready var timer = get_node("timer")
onready var popup = get_node("popup")
Expand Down Expand Up @@ -57,7 +58,7 @@ func _input(event):
popup_button_pressed("menu")

func update_counters():
get_node("counters/bomb/label").set_text(str(" x ", player.bombs))
get_node("counters/resources/bomb/label").set_text(str(" x ", player.bombs))
get_node("counters/resources/turns/label").set_text(str(level_holder.turns))

for goal_type in GOAL_TYPES:
Expand Down Expand Up @@ -94,9 +95,7 @@ func show_popup(title, text, wait): # Show a popup with title and text, after so
timer.disconnect("timeout", self, "_show_popup")
if wait > 0:
timer.set_wait_time(wait)
timer.connect("timeout", self, "_show_popup", [
title, text
], CONNECT_ONESHOT)
timer.connect("timeout", self, "_show_popup", [title, text], CONNECT_ONESHOT)
timer.start()
else:
_show_popup(title, text)
Expand All @@ -108,13 +107,18 @@ func _show_popup(title, text): # Show a popup with title and text
popup.get_node("popup_node/body/container/text").set_text(text)
popup.get_node("popup_node/body/container/level_buttons/next").set_hidden(!allow_next_level)

popup.show()
popup.get_node("AnimationPlayer").play("show_popup")
popup.show()

func popup_button_pressed(name): # Actions for different popup buttons
if name == "look":
var toggled = get_node("top_left_buttons/look").is_pressed()
lookaround.set_enabled(toggled)
elif name == "speed":
speed *= 2
if speed > 4:
speed = 1
update_speed(speed)
if name == "retry":
check_hide_popup()
level_holder.retry_level()
Expand All @@ -136,4 +140,10 @@ func check_hide_popup():

func hide_popup(): # Hide the popup
popup_running = false
popup.hide()
popup.hide()

func update_speed(value):
get_node("../player_holder/player").speed_ratio = value
get_node("../level_holder").update_speed_values(value)
get_node("top_left_buttons/speed/text").set_text(str("x", str(value)))
speed = value
6 changes: 6 additions & 0 deletions main/level_holder.gd
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ func load_level(pack, level): # Load level from pack
while(tilemap.get_cell(tile_map_acid_x_end, tile_map_acid_y) == 2 && tile_map_acid_x_end < 3000):
tile_map_acid_x_end += 1

get_node("../gui").update_speed(1)
window_resize()

func window_resize():
Expand Down Expand Up @@ -169,3 +170,8 @@ func retry_level(): # Retry the current level

func next_level(): # Go to the next level
load_level(current_pack, int(current_level) + 1)

func update_speed_values(speed):
for node in get_child(0).get_children():
if node extends preload("res://entities/entity.gd"):
node.speed_ratio = speed
Loading

0 comments on commit 024b230

Please sign in to comment.