Start to add platform actor, removed shared collision shape dependency among all actors. Whoops.
This commit is contained in:
parent
592c8dffb1
commit
c21818caf3
25
src/Actors/Platform/PlatformVMove/PlatformVMove.tscn
Normal file
25
src/Actors/Platform/PlatformVMove/PlatformVMove.tscn
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Actors/Platform/PlatformVMove/states2/move.gd" type="Script" id=2]
|
||||
[ext_resource path="res://src/Actors/Platform/PlatformVMove/states2/idle.gd" type="Script" id=3]
|
||||
|
||||
[node name="PlatformVMove" instance=ExtResource( 1 )]
|
||||
|
||||
[node name="AnimatedSprite" parent="." index="0"]
|
||||
frame = 0
|
||||
|
||||
[node name="CollisionShape2D" parent="." index="1"]
|
||||
position = Vector2( 0, 1 )
|
||||
|
||||
[node name="idle" parent="movement_state_machine" index="0"]
|
||||
script = ExtResource( 3 )
|
||||
animation_sequence = [ ]
|
||||
fall_node = NodePath("")
|
||||
move_node = NodePath("")
|
||||
|
||||
[node name="move" parent="movement_state_machine" index="2"]
|
||||
script = ExtResource( 2 )
|
||||
animation_sequence = [ ]
|
||||
fall_node = NodePath("")
|
||||
idle_node = NodePath("")
|
||||
30
src/Actors/Platform/PlatformVMove/states2/idle.gd
Normal file
30
src/Actors/Platform/PlatformVMove/states2/idle.gd
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
extends StateAnimatedActor
|
||||
|
||||
export (NodePath) var fall_node
|
||||
export (NodePath) var move_node
|
||||
|
||||
onready var fall_state: State = get_node(fall_node)
|
||||
onready var move_state: State = get_node(move_node)
|
||||
|
||||
func enter() -> void:
|
||||
.enter()
|
||||
# parent.set_hurtbox(true)
|
||||
move_component.velocity.x = 0
|
||||
if debug_state:
|
||||
print(owner.name, " Move Component: ", move_component.desired_movement_vector.x)
|
||||
|
||||
func process_physics(delta: float) -> State:
|
||||
|
||||
# parent.velocity.y += gravity * delta
|
||||
# #parent.velocity = parent.move_and_slide(parent.velocity, Vector2(0, -1))
|
||||
# parent.velocity.x = move_component.desired_movement_vector.x * move_speed
|
||||
# parent.velocity = parent.move_and_slide(parent.velocity, Vector2(0, -1))
|
||||
|
||||
move_actor_as_desired(delta)
|
||||
|
||||
if move_component.velocity.x != 0.0:
|
||||
return move_state
|
||||
|
||||
if !parent.is_on_floor():
|
||||
return fall_state
|
||||
return null
|
||||
21
src/Actors/Platform/PlatformVMove/states2/move.gd
Normal file
21
src/Actors/Platform/PlatformVMove/states2/move.gd
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
extends StateAnimatedActor
|
||||
|
||||
export (NodePath) var fall_node
|
||||
export (NodePath) var idle_node
|
||||
|
||||
onready var fall_state: State = get_node(fall_node)
|
||||
onready var idle_state: State = get_node(idle_node)
|
||||
|
||||
func process_physics(delta: float) -> State:
|
||||
|
||||
move_actor_as_desired(delta)
|
||||
|
||||
if move_component.velocity.x == 0.0:
|
||||
return idle_state
|
||||
|
||||
#Flip the character before tha actual move maybe.
|
||||
parent.transform.x.x = move_component.get_movement_direction()
|
||||
|
||||
if !parent.is_on_floor():
|
||||
return fall_state
|
||||
return null
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
[gd_scene load_steps=18 format=2]
|
||||
[gd_scene load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://assets/Tiles/Assets/Demo TileSet.tres" type="TileSet" id=2]
|
||||
[ext_resource path="res://assets/Backgrounds/bgmuck.png" type="Texture" id=3]
|
||||
[ext_resource path="res://src/Interactables/Chest.tscn" type="PackedScene" id=4]
|
||||
|
|
@ -118,13 +117,6 @@ __meta__ = {
|
|||
[node name="EnemyC2" parent="." instance=ExtResource( 7 )]
|
||||
position = Vector2( 494, 39 )
|
||||
|
||||
[node name="ActorTemplate" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 262, 44 )
|
||||
__meta__ = {
|
||||
"_edit_lock_": true
|
||||
}
|
||||
actor_type = "NPC"
|
||||
|
||||
[node name="HealthPickup" parent="." instance=ExtResource( 5 )]
|
||||
position = Vector2( 226, 153 )
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=33 format=2]
|
||||
[gd_scene load_steps=34 format=2]
|
||||
|
||||
[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/enemyC/enemyC_movement_component.gd" type="Script" id=2]
|
||||
|
|
@ -122,6 +122,9 @@ extents = Vector2( 9, 3.5 )
|
|||
[sub_resource type="CapsuleShape2D" id=24]
|
||||
height = 10.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=25]
|
||||
extents = Vector2( 10.5, 17.5 )
|
||||
|
||||
[node name="EnemyC" instance=ExtResource( 1 )]
|
||||
script = ExtResource( 6 )
|
||||
actor_type = "Enemy"
|
||||
|
|
@ -144,10 +147,7 @@ __meta__ = {
|
|||
}
|
||||
}
|
||||
|
||||
[node name="CollisionShape2D" parent="." index="1"]
|
||||
position = Vector2( -0.5, -2 )
|
||||
|
||||
[node name="movement_component" parent="." index="2"]
|
||||
[node name="movement_component" parent="." index="1"]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="IdleTimeout" type="Timer" parent="movement_component" index="0"]
|
||||
|
|
@ -189,14 +189,14 @@ timeout_seconds = 0.5
|
|||
move_speed = -5.0
|
||||
animation_sequence = [ "death" ]
|
||||
|
||||
[node name="Hurtbox_Component" parent="." index="4"]
|
||||
[node name="Hurtbox_Component" parent="." index="3"]
|
||||
hurtbox_entered_function = "enemyHit"
|
||||
|
||||
[node name="CollisionShape2D" parent="Hurtbox_Component" index="0"]
|
||||
position = Vector2( -1, -2 )
|
||||
shape = SubResource( 22 )
|
||||
|
||||
[node name="EdgeDetection" type="RayCast2D" parent="." index="6"]
|
||||
[node name="EdgeDetection" type="RayCast2D" parent="." index="5"]
|
||||
modulate = Color( 0.054902, 1, 0, 1 )
|
||||
show_behind_parent = true
|
||||
position = Vector2( 15, 3 )
|
||||
|
|
@ -204,12 +204,12 @@ enabled = true
|
|||
cast_to = Vector2( 0, 17 )
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="PlayerDetection" type="RayCast2D" parent="." index="7"]
|
||||
[node name="PlayerDetection" type="RayCast2D" parent="." index="6"]
|
||||
enabled = true
|
||||
cast_to = Vector2( 21, 0 )
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Hitbox_Component" parent="." index="8" instance=ExtResource( 4 )]
|
||||
[node name="Hitbox_Component" parent="." index="7" instance=ExtResource( 4 )]
|
||||
damage_amount = 10
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox_Component" index="0"]
|
||||
|
|
@ -218,16 +218,20 @@ position = Vector2( 18, -8.5 )
|
|||
shape = SubResource( 23 )
|
||||
disabled = true
|
||||
|
||||
[node name="GenericSender" parent="." index="9" instance=ExtResource( 5 )]
|
||||
[node name="GenericSender" parent="." index="8" instance=ExtResource( 5 )]
|
||||
receiver_node_name = "GenericReceiver"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="GenericSender" index="0"]
|
||||
position = Vector2( 48, 0 )
|
||||
shape = SubResource( 24 )
|
||||
|
||||
[node name="Health_Component" parent="." index="10" instance=ExtResource( 7 )]
|
||||
[node name="Health_Component" parent="." index="9" instance=ExtResource( 7 )]
|
||||
max_health = 20
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." index="10"]
|
||||
position = Vector2( -0.5, -1.5 )
|
||||
shape = SubResource( 25 )
|
||||
|
||||
[connection signal="frame_reached" from="movement_state_machine/attack" to="." method="_on_attack_frame_reached"]
|
||||
[connection signal="state_exited" from="movement_state_machine/attack" to="." method="_on_attack_state_exited"]
|
||||
[connection signal="health_depleted" from="Health_Component" to="." method="_on_Health_Component_health_depleted"]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=126 format=2]
|
||||
[gd_scene load_steps=127 format=2]
|
||||
|
||||
[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/playerD/movement_component.gd" type="Script" id=2]
|
||||
|
|
@ -18,6 +18,9 @@
|
|||
[ext_resource path="res://src/templates/Interactable/Interactable_Receiver.gd" type="Script" id=16]
|
||||
[ext_resource path="res://src/playerD/states/climb.gd" type="Script" id=17]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=197]
|
||||
extents = Vector2( 15, 18.5 )
|
||||
|
||||
[sub_resource type="StreamTexture" id=90]
|
||||
load_path = "res://.import/Mega.png-93dfe0790902b932f7b46f7b23c5d4e7.stex"
|
||||
|
||||
|
|
@ -547,7 +550,11 @@ script = ExtResource( 3 )
|
|||
actor_type = "Player"
|
||||
player_number = 1
|
||||
|
||||
[node name="AnimatedSprite" parent="." index="0"]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." index="0"]
|
||||
position = Vector2( 0, -3.5 )
|
||||
shape = SubResource( 197 )
|
||||
|
||||
[node name="AnimatedSprite" parent="." index="1"]
|
||||
position = Vector2( -1, -51 )
|
||||
frames = SubResource( 196 )
|
||||
animation = "idle_shoot"
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
extends Actor
|
||||
|
||||
onready var actor_hurtbox = $Hurtbox_Component/CollisionShape2D
|
||||
|
||||
|
||||
#var sound_effects = preload("res://src/playerC/resources/sound_effects.tres")
|
||||
|
||||
func _ready() -> void:
|
||||
movement_state_machine.init_animated_actor(self, movement_animations, movement_component)
|
||||
|
||||
# Experimenting with sound based resources I did this and it worked
|
||||
#sound_effect_player.stream = sound_effects.sounds["pew"]
|
||||
#print(sounds.sounds["pew"])
|
||||
#sound_effects.play()
|
||||
|
||||
# Trying something new with a custom resourse.
|
||||
for i in SoundEffects:
|
||||
sound_effects_dict[i.animation_name + str(i.frame_number)] = i.sound
|
||||
print (sound_effects_dict)
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
movement_state_machine.process_input(event)
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
movement_state_machine.process_physics(delta)
|
||||
# #TODO: So much hack
|
||||
# if direction.x != 0:
|
||||
# gun.set_scale( Vector2(direction.x,1))
|
||||
|
||||
# Commented out to try parent transforms instead
|
||||
# if direction.x < 0:
|
||||
# var t = Transform2D()
|
||||
# # Translation
|
||||
# t.origin = Vector2(gun.offset_position.x * -1, gun.offset_position.y)
|
||||
# gun.transform = t
|
||||
# elif direction.x > 0:
|
||||
# var t = Transform2D()
|
||||
# # Translation
|
||||
# t.origin = Vector2(gun.offset_position.x, gun.offset_position.y)
|
||||
# gun.transform = t
|
||||
|
||||
# Attempting a Kinematic2D level scale for flip operations instead.
|
||||
#self.transform
|
||||
#self.scale.x = -1
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
movement_component.process(delta)
|
||||
movement_state_machine.process_frame(delta)
|
||||
play_sound_frame(movement_animations.animation , movement_animations.frame)
|
||||
|
||||
|
||||
##TODO: I don't like player class having do do this.
|
||||
## Figure out how to programatically signal subscribe
|
||||
#func _on_AnimatedSprite_animation_finished():
|
||||
# if movement_animations.frames.get_animation_loop(movement_animations.animation) == false:
|
||||
# movement_state_machine.current_state.animation_index += 1
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=18 format=2]
|
||||
[gd_scene load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://src/components/Hurtbox_Component.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/state_machine_animated_actor.gd" type="Script" id=2]
|
||||
|
|
@ -41,9 +41,6 @@ animations = [ {
|
|||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=74]
|
||||
extents = Vector2( 14, 18.5 )
|
||||
|
||||
[sub_resource type="CircleShape2D" id=82]
|
||||
|
||||
[node name="ActorTemplate" type="KinematicBody2D"]
|
||||
|
|
@ -52,7 +49,7 @@ script = ExtResource( 8 )
|
|||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
|
||||
frames = SubResource( 75 )
|
||||
frame = 4
|
||||
frame = 3
|
||||
playing = true
|
||||
flip_h = true
|
||||
__meta__ = {
|
||||
|
|
@ -68,10 +65,6 @@ __meta__ = {
|
|||
}
|
||||
}
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 0, -3.5 )
|
||||
shape = SubResource( 74 )
|
||||
|
||||
[node name="movement_component" type="Node" parent="."]
|
||||
script = ExtResource( 5 )
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user