Compare commits
5 commits
af5d63fc0b
...
a42a258f08
| Author | SHA1 | Date | |
|---|---|---|---|
| a42a258f08 | |||
| 1174518359 | |||
| 2d45795632 | |||
| e105aedfa2 | |||
| 375866ea07 |
23 changed files with 52 additions and 32 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://d04legmj3c42r"]
|
[gd_scene load_steps=2 format=3 uid="uid://d04legmj3c42r"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://scenes/classes/hit/hit.gd" id="1_udkr8"]
|
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://classes/hit/hit.gd" id="1_udkr8"]
|
||||||
|
|
||||||
[node name="Hit2D" type="Area2D" groups=["hit"]]
|
[node name="Hit2D" type="Area2D" groups=["hit"]]
|
||||||
collision_layer = 64
|
collision_layer = 64
|
||||||
|
|
@ -10,6 +10,9 @@ 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
|
||||||
|
|
||||||
|
var player_1: Player
|
||||||
|
var player_2: Player
|
||||||
|
var ball: Ball
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
# :sheesh:
|
# :sheesh:
|
||||||
33
classes/state/level_state.gd
Normal file
33
classes/state/level_state.gd
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
class_name LevelState extends State
|
||||||
|
|
||||||
|
const PAUSED = "Paused"
|
||||||
|
const STARTING = "Starting"
|
||||||
|
const SCORING = "Scoring"
|
||||||
|
|
||||||
|
var level: Level
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
await owner.ready
|
||||||
|
level = owner as Level
|
||||||
|
assert(level != null, "The LevelState state type must be used only in the level scene. It needs the owner to be a Level node.")
|
||||||
|
|
||||||
|
|
||||||
|
func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _exit() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _handle_input(_event: InputEvent) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _state_update(_delta: float) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _state_physics_update(_delta: float) -> void:
|
||||||
|
pass
|
||||||
1
classes/state/level_state.gd.uid
Normal file
1
classes/state/level_state.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://dioh6egp2x760
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
extends RigidBody2D
|
class_name Ball extends RigidBody2D
|
||||||
|
|
||||||
@onready var hurtbox: Area2D = $HurtArea2D
|
@onready var hurtbox: Area2D = $HurtArea2D
|
||||||
@onready var sprite: AnimatedSprite2D = $AnimatedSprite2D
|
@onready var sprite: AnimatedSprite2D = $AnimatedSprite2D
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://dr4fwwrukyko0"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dhvek22isq1ts" path="res://scenes/classes/level/level.gd" id="1_fds1s"]
|
|
||||||
|
|
||||||
[node name="Level" type="Node2D"]
|
|
||||||
script = ExtResource("1_fds1s")
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://delu380dsl2kl"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b2sr7p80gdjii" path="res://scenes/classes/state/player_state.gd" id="1_opnr7"]
|
|
||||||
|
|
||||||
[node name="PlayerState" type="Node"]
|
|
||||||
script = ExtResource("1_opnr7")
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://kyeowhvglgj2"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bpjerj832q2gf" path="res://scenes/classes/state/state.gd" id="1_m4c3p"]
|
|
||||||
|
|
||||||
[node name="State" type="Node"]
|
|
||||||
script = ExtResource("1_m4c3p")
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://cy4h0xcy2kscg"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dqjaxgmyxq3rx" path="res://scenes/classes/state_machine/state_machine.gd" id="1_rnohx"]
|
|
||||||
|
|
||||||
[node name="StateMachine" type="Node"]
|
|
||||||
script = ExtResource("1_rnohx")
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://d0c57c37o75b0"]
|
[gd_scene load_steps=4 format=3 uid="uid://d0c57c37o75b0"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://scenes/classes/hit/hit.gd" id="1_kwsj5"]
|
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://classes/hit/hit.gd" id="1_kwsj5"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c6a62gvw7218s" path="res://scenes/hit/assets/hit.png" id="2_kwsj5"]
|
[ext_resource type="Texture2D" uid="uid://c6a62gvw7218s" path="res://scenes/hit/assets/hit.png" id="2_kwsj5"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_kwsj5"]
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_kwsj5"]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://px67runjx6ex"]
|
[gd_scene load_steps=4 format=3 uid="uid://px67runjx6ex"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://scenes/classes/hit/hit.gd" id="1_dk3vy"]
|
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://classes/hit/hit.gd" id="1_dk3vy"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c6a62gvw7218s" path="res://scenes/hit/assets/hit.png" id="1_rmj1p"]
|
[ext_resource type="Texture2D" uid="uid://c6a62gvw7218s" path="res://scenes/hit/assets/hit.png" id="1_rmj1p"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_fxeki"]
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_fxeki"]
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ enum FollowTarget { BALL, PLAYER1, PLAYER2 }
|
||||||
@export var follow_speed: float = 8.0
|
@export var follow_speed: float = 8.0
|
||||||
@export var deadzone_margin: float = 100.0
|
@export var deadzone_margin: float = 100.0
|
||||||
|
|
||||||
@onready var ball: RigidBody2D = get_node("../Ball")
|
@onready var ball: Ball = get_node("../Ball")
|
||||||
@onready var player1: CharacterBody2D = get_node("../Player1")
|
@onready var player1: Player = get_node("../Player1")
|
||||||
@onready var player2: CharacterBody2D = get_node("../Player2")
|
@onready var player2: Player = get_node("../Player2")
|
||||||
|
|
||||||
var target_pos: Vector2 = Vector2.ZERO
|
var target_pos: Vector2 = Vector2.ZERO
|
||||||
|
|
||||||
|
|
|
||||||
7
scenes/level_director/level_director.tscn
Normal file
7
scenes/level_director/level_director.tscn
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://4eo7g5abxolw"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dqjaxgmyxq3rx" path="res://classes/state_machine/state_machine.gd" id="1_4q8ux"]
|
||||||
|
|
||||||
|
[node name="LevelDirector" type="Node"]
|
||||||
|
script = ExtResource("1_4q8ux")
|
||||||
|
metadata/_custom_type_script = "uid://dqjaxgmyxq3rx"
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
[ext_resource type="Script" uid="uid://rdqmsvofiots" path="res://scenes/player/player.gd" id="1_v6fml"]
|
[ext_resource type="Script" uid="uid://rdqmsvofiots" path="res://scenes/player/player.gd" id="1_v6fml"]
|
||||||
[ext_resource type="Texture2D" uid="uid://b8ptokcqwpdud" path="res://scenes/player/saffron.png" id="2_3li8b"]
|
[ext_resource type="Texture2D" uid="uid://b8ptokcqwpdud" path="res://scenes/player/saffron.png" id="2_3li8b"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ca744qwgmwejx" path="res://scenes/player/assets/bnuuy-spritesheet.png" id="3_0owmy"]
|
[ext_resource type="Texture2D" uid="uid://ca744qwgmwejx" path="res://scenes/player/assets/bnuuy-spritesheet.png" id="3_0owmy"]
|
||||||
[ext_resource type="Script" uid="uid://dqjaxgmyxq3rx" path="res://scenes/classes/state_machine/state_machine.gd" id="3_lvxji"]
|
[ext_resource type="Script" uid="uid://dqjaxgmyxq3rx" path="res://classes/state_machine/state_machine.gd" id="3_lvxji"]
|
||||||
[ext_resource type="Script" uid="uid://delyni51vg6us" path="res://scenes/player/states/idle.gd" id="4_75vfm"]
|
[ext_resource type="Script" uid="uid://delyni51vg6us" path="res://scenes/player/states/idle.gd" id="4_75vfm"]
|
||||||
[ext_resource type="Script" uid="uid://dxfs1b8fuk7kv" path="res://scenes/player/states/running.gd" id="5_75vfm"]
|
[ext_resource type="Script" uid="uid://dxfs1b8fuk7kv" path="res://scenes/player/states/running.gd" id="5_75vfm"]
|
||||||
[ext_resource type="Script" uid="uid://n7v8leojhykt" path="res://scenes/player/states/hitting.gd" id="6_75vfm"]
|
[ext_resource type="Script" uid="uid://n7v8leojhykt" path="res://scenes/player/states/hitting.gd" id="6_75vfm"]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue