platformer mostly working and overall game logic also coming along well
This commit is contained in:
parent
88cb8f5899
commit
df9ad93a43
5 changed files with 31 additions and 12 deletions
|
|
@ -12,6 +12,7 @@ enum Mode{
|
||||||
|
|
||||||
@export var channel_name : String
|
@export var channel_name : String
|
||||||
@export var channel_scene : PackedScene
|
@export var channel_scene : PackedScene
|
||||||
|
@export var dead_channel : bool
|
||||||
@export_group("Node References")
|
@export_group("Node References")
|
||||||
@export var offline_channel_cover : TextureRect
|
@export var offline_channel_cover : TextureRect
|
||||||
@export var static_channel_cover : TextureRect
|
@export var static_channel_cover : TextureRect
|
||||||
|
|
@ -19,6 +20,8 @@ enum Mode{
|
||||||
|
|
||||||
var channel_mode : Mode = Mode.Offline
|
var channel_mode : Mode = Mode.Offline
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
#var new_scene = channel_scene.instantiate()
|
#var new_scene = channel_scene.instantiate()
|
||||||
#game_viewport.add_child(new_scene)
|
#game_viewport.add_child(new_scene)
|
||||||
|
|
|
||||||
5
bugs.md
5
bugs.md
|
|
@ -1,8 +1,9 @@
|
||||||
# High Priority
|
# High Priority
|
||||||
- [ ] remote breaking animation not working
|
- [ ] remote breaking animation not working
|
||||||
- [x] pressing enter causes the platformer channel to restart event after the intiial prompt dismissial
|
- [x] pressing enter causes the platformer channel to restart event after the intiial prompt dismissial
|
||||||
- [ ] lasers not appearing
|
- [x] lasers not appearing
|
||||||
- [ ] only 1 lane getting warning
|
- [x] only 1 lane getting warning
|
||||||
|
- [ ] platformer works once but having trouble getting it to replay
|
||||||
|
|
||||||
|
|
||||||
# Minor
|
# Minor
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ signal game_over(score : int)
|
||||||
@export var games : Array[PackedScene]
|
@export var games : Array[PackedScene]
|
||||||
@export var zoom_speed : float = 0.5
|
@export var zoom_speed : float = 0.5
|
||||||
@export_group("Channel Rules")
|
@export_group("Channel Rules")
|
||||||
@export var target_channels : float = 2.5
|
@export var target_channels : float = 1.5
|
||||||
@export var channel_growth_per_min : float = 4
|
@export var channel_growth_per_min : float = 4
|
||||||
|
|
||||||
@export_group("Node References")
|
@export_group("Node References")
|
||||||
|
|
@ -68,14 +68,15 @@ func game_loop(delta : float):
|
||||||
var online_channels : Array[Channel]
|
var online_channels : Array[Channel]
|
||||||
var offline_channels : Array[Channel]
|
var offline_channels : Array[Channel]
|
||||||
# sort all the channels into online and offline
|
# sort all the channels into online and offline
|
||||||
if main_channel.channel_mode == Channel.Mode.Online:
|
#if main_channel.channel_mode == Channel.Mode.Online:
|
||||||
|
if main_channel.platformer_online:
|
||||||
online_channels.append(main_channel)
|
online_channels.append(main_channel)
|
||||||
else:
|
else:
|
||||||
online_channels.append(main_channel)
|
online_channels.append(main_channel)
|
||||||
for channel in outer_channels:
|
for channel in outer_channels:
|
||||||
if(channel.channel_mode == Channel.Mode.Online):
|
if(channel.channel_mode == Channel.Mode.Online):
|
||||||
online_channels.append(channel)
|
online_channels.append(channel)
|
||||||
else:
|
elif(!channel.dead_channel):
|
||||||
offline_channels.append(channel)
|
offline_channels.append(channel)
|
||||||
# if i need to switch a channel online, then pick one and run tis start channel method
|
# if i need to switch a channel online, then pick one and run tis start channel method
|
||||||
#print("Online Channels: " + str(online_channels.size()))
|
#print("Online Channels: " + str(online_channels.size()))
|
||||||
|
|
@ -84,7 +85,9 @@ func game_loop(delta : float):
|
||||||
var random_game = randi_range(0, games.size()-1)
|
var random_game = randi_range(0, games.size()-1)
|
||||||
#offline_channels[random_channel_number].start_channel()
|
#offline_channels[random_channel_number].start_channel()
|
||||||
if(offline_channels[random_channel_number] != main_channel):
|
if(offline_channels[random_channel_number] != main_channel):
|
||||||
offline_channels[random_channel_number].start_specific_channel(games[random_game])
|
offline_channels[random_channel_number].start_channel()
|
||||||
|
#picking a random game is cool but we cant have two of the same!
|
||||||
|
#offline_channels[random_channel_number].start_specific_channel(games[random_game])
|
||||||
else:
|
else:
|
||||||
main_channel.start_channel()
|
main_channel.start_channel()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ columns = 3
|
||||||
[node name="Control" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
[node name="Control" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
channel_scene = ExtResource("7_6e45b")
|
channel_scene = ExtResource("7_6e45b")
|
||||||
|
dead_channel = true
|
||||||
|
|
||||||
[node name="Control2" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
[node name="Control2" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -63,6 +64,7 @@ channel_scene = ExtResource("3_mj2jn")
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
channel_name = "Asteroids"
|
channel_name = "Asteroids"
|
||||||
channel_scene = ExtResource("3_mj2jn")
|
channel_scene = ExtResource("3_mj2jn")
|
||||||
|
dead_channel = true
|
||||||
|
|
||||||
[node name="Control6" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
[node name="Control6" parent="GridContainer" instance=ExtResource("1_mlf6e")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,16 @@ func _ready() -> void:
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
for i in range(2):
|
for i in range(3):
|
||||||
#warning_areas[i].visible = stage == GameStage.Warning and safe_lane!=i
|
warning_areas[i].visible = stage == GameStage.Warning and safe_lane!=i
|
||||||
#laser_areas[i].visible = stage == GameStage.Lasers and safe_lane!=i
|
laser_areas[i].visible = stage == GameStage.Lasers and safe_lane!=i
|
||||||
|
if(stage == GameStage.Lasers and safe_lane!=i):
|
||||||
|
if laser_areas[i].get_overlapping_areas().size()>0:
|
||||||
|
end_game()
|
||||||
|
game_lose.emit()
|
||||||
pass
|
pass
|
||||||
warning_areas[0].visible = stage == GameStage.Warning
|
#warning_areas[0].visible = stage == GameStage.Warning
|
||||||
laser_areas[0].visible = stage == GameStage.Lasers
|
#laser_areas[0].visible = stage == GameStage.Lasers
|
||||||
#todo make sure lasers dont trigger the door/remote/event hitboxes
|
#todo make sure lasers dont trigger the door/remote/event hitboxes
|
||||||
|
|
||||||
func update_ui(score : int, lives :int):
|
func update_ui(score : int, lives :int):
|
||||||
|
|
@ -60,6 +64,7 @@ func start_game():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func end_game():
|
func end_game():
|
||||||
|
# set stage back to none?
|
||||||
game_active = false
|
game_active = false
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
@ -68,5 +73,10 @@ func _on_timer_timeout() -> void:
|
||||||
if(stage == GameStage.Warning):
|
if(stage == GameStage.Warning):
|
||||||
stage = GameStage.Lasers
|
stage = GameStage.Lasers
|
||||||
timer.start(laser_duration)
|
timer.start(laser_duration)
|
||||||
if(stage == GameStage.Lasers):
|
elif(stage == GameStage.Lasers):
|
||||||
stage = GameStage.None
|
stage = GameStage.None
|
||||||
|
if(game_active):
|
||||||
|
game_win.emit()
|
||||||
|
end_game()
|
||||||
|
|
||||||
|
#if i havent died yet, then win
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue