Compare commits

..

3 Commits

Author SHA1 Message Date
a0d94d6354 Remember to add renamed file from last commit. 2025-04-20 21:18:31 -07:00
08b49022ff Cleanup CameraGuide and SceneTransition 2025-04-20 21:17:57 -07:00
5ba9c972e6 Cleanup Actor class. 2025-04-20 20:51:20 -07:00
9 changed files with 60 additions and 91 deletions

View File

@ -56,6 +56,7 @@ position = Vector2( 160, 90 )
collision_layer = 0 collision_layer = 0
collision_mask = 256 collision_mask = 256
script = ExtResource( 1 ) script = ExtResource( 1 )
debug_camera_guide = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CameraGuide"] [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CameraGuide"]
visible = false visible = false

View File

@ -1,63 +1,32 @@
class_name Actor class_name Actor
extends KinematicBody2D extends KinematicBody2D
#var velocity = Vector2(0,0)
#var direction = Vector2(-1,0)
export(String, "Player", "Enemy", "NPC", "Object") var actor_type export(String, "Player", "Enemy", "NPC", "Object") var actor_type
#export var sprite_facing_right: bool = true #export var sprite_facing_right: bool = true
export var debug_actor: bool = false export var debug_actor: bool = false
#onready var movement_animations: AnimatedSprite = $AnimatedSprite
onready var sound_effect_player: AudioStreamPlayer = $AudioStreamPlayer_StateReceiver onready var sound_effect_player: AudioStreamPlayer = $AudioStreamPlayer_StateReceiver
#onready var movement_component: MovementComponent = $movement_component
onready var movement_component: Movement_StateReceiver = $Movement_StateReceiver onready var movement_component: Movement_StateReceiver = $Movement_StateReceiver
#onready var movement_state_machine: StateMachineAnimatedActor = $movement_state_machine
onready var movement_state_machine: StateMachine = $Movement_StateMachine onready var movement_state_machine: StateMachine = $Movement_StateMachine
onready var animated_sprite : AnimatedSprite = $AnimatedSprite_StateReceiver onready var animated_sprite : AnimatedSprite = $AnimatedSprite_StateReceiver
## Multiplayer Variables ## Multiplayer Variables
puppet var puppet_pos = Vector2() puppet var puppet_pos = Vector2()
#puppet var puppet_anim_sprite_frame :int
#puppet var puppet_anim_sprite_name :String
puppet var puppet_transform: Transform2D puppet var puppet_transform: Transform2D
##TODO:
# Can't seem to implement the ready and process node functions
# without causing a double run somehow. Not sure why.
# not a huge deal because this is mostly to help with
# interfaces for the state machines.
func _ready() -> void: func _ready() -> void:
# puppet_anim_sprite_name = animated_sprite.animation
# puppet_anim_sprite_frame = animated_sprite.frame
puppet_transform = transform puppet_transform = transform
## Disable Process and Physics on puppets
# if not is_network_master():
# animated_sprite.set_process(false)
# animated_sprite.set_physics_process(false)
#movement_state_machine.init_animated_actor(self)
#movement_component.attack_function = funcref(self, "attack")
# movement_component.player_number = player_number
#func _process(delta):
# if is_network_master():
# rset("puppet_anim_sprite_name", animated_sprite.animation)
# rset("puppet_anim_sprite_frame", animated_sprite.frame)
# else:
# animated_sprite.animation = puppet_anim_sprite_name
# animated_sprite.frame = puppet_anim_sprite_frame
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if is_network_master(): if is_network_master():
if actor_type == "Player": if actor_type == "Player":
movement_component.process_input(event) movement_component.process_unhandled_input(event)
#movement_state_machine.process_input(event)
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
# Input based or polling input is not done in _unhandled_input # Input based or polling input is not done in _unhandled_input
@ -71,24 +40,10 @@ func _physics_process(delta: float) -> void:
else: else:
position = puppet_pos position = puppet_pos
transform = puppet_transform transform = puppet_transform
#movement_state_machine.process_physics(delta)
# func _process(delta: float) -> void:
#func _process(delta: float) -> void: if actor_type == "NPC" or actor_type == "Enemy":
# if actor_type == "NPC" or actor_type == "Enemy": if is_network_master():
# movement_component.process(delta) movement_component.process(delta)
# movement_state_machine.process_frame(delta)
## PlayerInfo.player_position = global_position
# #play_sound_frame(movement_animations.animation , movement_animations.frame)
func attack():
#print(self.name, ": It's not inheritence, it's funcrefs")
# if movement_state_machine.current_state.name != 'attack':
# if($movement_state_machine/attack):
# movement_state_machine.change_state($movement_state_machine/attack)
# if ($Hitbox_Component/CollisionShape2D):
# #print(self.name, ": Found a hitbox")
# var hit_box = $Hitbox_Component
# hit_box.set_hitbox(true)
pass

View File

@ -74,7 +74,7 @@ func process(delta):
call('_state_process_' + current_state.name) call('_state_process_' + current_state.name)
# For event based input polling (Hadouken?) # For event based input polling (Hadouken?)
func process_input(event: InputEvent): func process_unhandled_input(event: InputEvent):
# Reset desired movement vector # Reset desired movement vector
desired_movement_vector = Vector2(0,0) desired_movement_vector = Vector2(0,0)
if has_method('_state_process_input_' + current_state.name): if has_method('_state_process_input_' + current_state.name):

View File

@ -57,7 +57,7 @@ func change_level(_level_name :String, _position_name :String):
# No more errors but I'd like to know how to do this. # No more errors but I'd like to know how to do this.
#SceneTransition.transition_dissolve("foo") #SceneTransition.transition_dissolve("foo")
#yield(SceneTransition,"done") #yield(SceneTransition,"done")
yield(SceneTransition.transition_dissolve("foo"), "completed") yield(SceneTransition.transition_dissolve(), "completed")
print(l) print(l)
viewport.remove_child(l) viewport.remove_child(l)
viewport.add_child(new_level) viewport.add_child(new_level)

View File

@ -109,6 +109,11 @@ _global_script_classes=[ {
"language": "GDScript", "language": "GDScript",
"path": "res://lib/classes/sound_effect_state_frame.gd" "path": "res://lib/classes/sound_effect_state_frame.gd"
}, { }, {
"base": "CanvasLayer",
"class": "SceneTransitions",
"language": "GDScript",
"path": "res://src/classes/scene_transition.gd"
}, {
"base": "Node", "base": "Node",
"class": "StaminaComponent", "class": "StaminaComponent",
"language": "GDScript", "language": "GDScript",
@ -170,6 +175,7 @@ _global_script_class_icons={
"PlayerData": "", "PlayerData": "",
"Projectile": "", "Projectile": "",
"SE_StateFrame": "", "SE_StateFrame": "",
"SceneTransitions": "",
"StaminaComponent": "", "StaminaComponent": "",
"State": "", "State": "",
"StateAnimatedActor": "", "StateAnimatedActor": "",

View File

@ -1,20 +1,27 @@
class_name CameraGuide class_name CameraGuide
extends KinematicBody2D extends KinematicBody2D
export var debug_camera_guide :bool = false
# Declare member variables here. Examples: var game_size :Vector2
# var a = 2 onready var window_scale :float
# var b = "text" onready var viewport = $"%Viewport"
var game_size := Vector2(320,180)
onready var window_scale :float = (OS.window_size / game_size).x
var _is_tracking :bool = true var _is_tracking :bool = true
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
game_size = viewport.size
window_scale = (OS.window_size / game_size).x
assert(game_size != Vector2(0,0), str(get_path()) + " : No game_size set.")
if debug_camera_guide:
print(get_path(), "\n",
"\tSize:", game_size,
"\tScale:", window_scale)
## Do not track until told to ## Do not track until told to
disable_tracking() disable_tracking()
func enable_tracking() -> void: func enable_tracking() -> void:
##TODO: add extra collission checks here to make sure we aren't stuck maybe? ##TODO: add extra collission checks here to make sure we aren't stuck maybe?
_is_tracking = true _is_tracking = true
@ -30,7 +37,7 @@ func reset_position() -> void:
var flip_tracker = 0.0 var flip_tracker = 0.0
var stuck_check: bool var stuck_check: bool
func _physics_process(delta): func _physics_process(_delta):
var pos = global_position var pos = global_position
#pos = pos.move_toward(PlayerInfo.player_position, delta) #pos = pos.move_toward(PlayerInfo.player_position, delta)
#pos = lerp(pos, PlayerInfo.player_position, delta ) #pos = lerp(pos, PlayerInfo.player_position, delta )

View File

@ -0,0 +1,31 @@
class_name SceneTransitions
extends CanvasLayer
signal done
#func change_scene(target: String, type: String = 'dissolve') -> void:
# if type == 'dissolve':
# transition_dissolve(target)
# else:
# transition_clouds(target)
onready var animation_player = $AnimationPlayer
var animation_name = ''
func reset():
animation_player.play_backwards(animation_name)
emit_signal("done")
func transition_dissolve() -> void:
animation_name = 'dissolve'
animation_player.play('dissolve')
yield(animation_player,'animation_finished')
emit_signal("done")
func transition_clouds() -> void:
animation_name = 'clouds_out'
animation_player.play('clouds_in')
yield(animation_player,'animation_finished')
emit_signal("done")

View File

@ -1,31 +0,0 @@
extends CanvasLayer
signal done
#func change_scene(target: String, type: String = 'dissolve') -> void:
# if type == 'dissolve':
# transition_dissolve(target)
# else:
# transition_clouds(target)
var animation_name = ''
func reset():
$AnimationPlayer.play_backwards(animation_name)
emit_signal("done")
func transition_dissolve(target: String) -> void:
animation_name = 'dissolve'
$AnimationPlayer.play('dissolve')
yield($AnimationPlayer,'animation_finished')
emit_signal("done")
#get_tree().change_scene(target)
#$AnimationPlayer.play_backwards('dissolve')
func transition_clouds(target: String) -> void:
animation_name = 'clouds_out'
$AnimationPlayer.play('clouds_in')
yield($AnimationPlayer,'animation_finished')
emit_signal("done")
#get_tree().change_scene(target)
#$AnimationPlayer.play('clouds_out')

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=7 format=2] [gd_scene load_steps=7 format=2]
[ext_resource path="res://src/ui/scene_transition.gd" type="Script" id=1] [ext_resource path="res://src/classes/scene_transition.gd" type="Script" id=1]
[ext_resource path="res://assets/UI/transition_screen.png" type="Texture" id=2] [ext_resource path="res://assets/UI/transition_screen.png" type="Texture" id=2]
[sub_resource type="Animation" id=1] [sub_resource type="Animation" id=1]