Compare commits
No commits in common. "bcc939df1cbef9da5fc5248cde6762f4bcf61055" and "8f0d4b1b686ade199f8d383d1072bd64599c5f3f" have entirely different histories.
bcc939df1c
...
8f0d4b1b68
5 changed files with 6 additions and 22 deletions
|
|
@ -2,7 +2,7 @@ class_name Level extends Node2D
|
||||||
|
|
||||||
|
|
||||||
@export var director: StateMachine
|
@export var director: StateMachine
|
||||||
@export var camera: LevelCamera
|
@export var camera: Camera2D
|
||||||
@export var player_1_spawn: PlayerSpawnPoint
|
@export var player_1_spawn: PlayerSpawnPoint
|
||||||
@export var player_2_spawn: PlayerSpawnPoint
|
@export var player_2_spawn: PlayerSpawnPoint
|
||||||
@export var ball_spawn: BallSpawnPoint
|
@export var ball_spawn: BallSpawnPoint
|
||||||
|
|
@ -11,6 +11,8 @@ class_name Level extends Node2D
|
||||||
@export var block_layer: BlockTileLayer
|
@export var block_layer: BlockTileLayer
|
||||||
#@export var goal_layer: GoalTileLayer
|
#@export var goal_layer: GoalTileLayer
|
||||||
|
|
||||||
|
@onready var player_scene: PackedScene = preload("res://scenes/player/player.tscn")
|
||||||
|
|
||||||
var player_1: Player
|
var player_1: Player
|
||||||
var player_2: Player
|
var player_2: Player
|
||||||
var ball: Ball
|
var ball: Ball
|
||||||
|
|
@ -19,7 +21,6 @@ var scoreboard: Vector2i
|
||||||
var current_round: int
|
var current_round: int
|
||||||
var restarted: bool
|
var restarted: bool
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
# :sheesh:
|
# :sheesh:
|
||||||
assert(director != null, "no director set")
|
assert(director != null, "no director set")
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class_name LevelCamera extends Camera2D
|
extends Camera2D
|
||||||
|
|
||||||
@export_range(0, 1, 0.01) var ball_weight: float = 0.6
|
@export_range(0, 1, 0.01) var ball_weight: float = 0.6
|
||||||
@export_range(0, 1, 0.01) var player_weight: float = 0.2
|
@export_range(0, 1, 0.01) var player_weight: float = 0.2
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,4 @@
|
||||||
[ext_resource type="Script" uid="uid://bsvjinfmr1pek" path="res://scenes/level_camera/level_camera_2d.gd" id="1_rls2d"]
|
[ext_resource type="Script" uid="uid://bsvjinfmr1pek" path="res://scenes/level_camera/level_camera_2d.gd" id="1_rls2d"]
|
||||||
|
|
||||||
[node name="LevelCamera2D" type="Camera2D"]
|
[node name="LevelCamera2D" type="Camera2D"]
|
||||||
process_mode = 3
|
|
||||||
script = ExtResource("1_rls2d")
|
script = ExtResource("1_rls2d")
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,5 @@
|
||||||
[ext_resource type="Script" uid="uid://bio2cjqps6kg1" path="res://scenes/level_director/level_director.gd" id="1_4q8ux"]
|
[ext_resource type="Script" uid="uid://bio2cjqps6kg1" path="res://scenes/level_director/level_director.gd" id="1_4q8ux"]
|
||||||
|
|
||||||
[node name="LevelDirector" type="Node"]
|
[node name="LevelDirector" type="Node"]
|
||||||
process_mode = 3
|
|
||||||
script = ExtResource("1_4q8ux")
|
script = ExtResource("1_4q8ux")
|
||||||
metadata/_custom_type_script = "uid://dqjaxgmyxq3rx"
|
metadata/_custom_type_script = "uid://dqjaxgmyxq3rx"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ extends LevelState
|
||||||
|
|
||||||
|
|
||||||
func _enter(_previous_state_path: String, _data: Dictionary = {"round": 0, "restart": false}) -> void:
|
func _enter(_previous_state_path: String, _data: Dictionary = {"round": 0, "restart": false}) -> void:
|
||||||
get_tree().paused = true
|
|
||||||
assert((_data["round"] as int) in range(3), "round number is invalid")
|
assert((_data["round"] as int) in range(3), "round number is invalid")
|
||||||
assert(
|
assert(
|
||||||
(_data["restart"] as bool) == true or
|
(_data["restart"] as bool) == true or
|
||||||
|
|
@ -11,7 +10,6 @@ func _enter(_previous_state_path: String, _data: Dictionary = {"round": 0, "rest
|
||||||
)
|
)
|
||||||
level.current_round = _data["round"]
|
level.current_round = _data["round"]
|
||||||
level.restarted = _data["restart"]
|
level.restarted = _data["restart"]
|
||||||
|
|
||||||
if level.restarted:
|
if level.restarted:
|
||||||
level.current_round = 0
|
level.current_round = 0
|
||||||
level.scoreboard = Vector2i(0,0)
|
level.scoreboard = Vector2i(0,0)
|
||||||
|
|
@ -19,7 +17,6 @@ func _enter(_previous_state_path: String, _data: Dictionary = {"round": 0, "rest
|
||||||
|
|
||||||
if level.current_round + 1 == 4:
|
if level.current_round + 1 == 4:
|
||||||
finished.emit(FINISHING)
|
finished.emit(FINISHING)
|
||||||
return
|
|
||||||
|
|
||||||
assert(
|
assert(
|
||||||
(level.player_1 != null and level.player_2 != null) or
|
(level.player_1 != null and level.player_2 != null) or
|
||||||
|
|
@ -35,13 +32,12 @@ func _enter(_previous_state_path: String, _data: Dictionary = {"round": 0, "rest
|
||||||
|
|
||||||
level.player_1 = _instantiate_player(1)
|
level.player_1 = _instantiate_player(1)
|
||||||
level.player_2 = _instantiate_player(2)
|
level.player_2 = _instantiate_player(2)
|
||||||
level.ball = _instantiate_ball()
|
|
||||||
|
|
||||||
|
|
||||||
func _instantiate_player(id: int) -> Player:
|
func _instantiate_player(id: int) -> Player:
|
||||||
|
var p: Player = level.player_1 if id == 1 else level.player_2
|
||||||
var s: PlayerSpawnPoint = level.player_1_spawn if id == 1 else level.player_2_spawn
|
var s: PlayerSpawnPoint = level.player_1_spawn if id == 1 else level.player_2_spawn
|
||||||
var p: Player = s.player_scene.instantiate()
|
|
||||||
|
|
||||||
|
p = level.player_scene.instantiate()
|
||||||
p.id = id
|
p.id = id
|
||||||
p.name = "Player"+str(id)
|
p.name = "Player"+str(id)
|
||||||
|
|
||||||
|
|
@ -51,14 +47,3 @@ func _instantiate_player(id: int) -> Player:
|
||||||
p.global_position = s.global_position
|
p.global_position = s.global_position
|
||||||
|
|
||||||
return p
|
return p
|
||||||
|
|
||||||
|
|
||||||
func _instantiate_ball() -> Ball:
|
|
||||||
var s: BallSpawnPoint = level.ball_spawn
|
|
||||||
var b: Ball = s.ball_scene.instantiate()
|
|
||||||
|
|
||||||
level.add_child(b)
|
|
||||||
|
|
||||||
b.global_position = s.global_position
|
|
||||||
|
|
||||||
return b
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue