Moved Player entity in separate scene
parent
bb64d92fbd
commit
aaf9c85be7
|
@ -0,0 +1,81 @@
|
||||||
|
[gd_scene load_steps=13 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://entities/Player.cs" type="Script" id=1]
|
||||||
|
[ext_resource path="res://components/NavigationComponent.cs" type="Script" id=2]
|
||||||
|
[ext_resource path="res://assets/Characters/Pirate.tscn" type="PackedScene" id=4]
|
||||||
|
[ext_resource path="res://components/WorldInfoComponent.cs" type="Script" id=5]
|
||||||
|
[ext_resource path="res://utils/DebugGeometry.cs" type="Script" id=6]
|
||||||
|
[ext_resource path="res://components/MovableComponent.tscn" type="PackedScene" id=7]
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape" id=7]
|
||||||
|
radius = 0.3
|
||||||
|
height = 0.2
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape" id=26]
|
||||||
|
|
||||||
|
[sub_resource type="CubeMesh" id=27]
|
||||||
|
|
||||||
|
[sub_resource type="SpatialMaterial" id=28]
|
||||||
|
flags_transparent = true
|
||||||
|
albedo_color = Color( 1, 1, 1, 0.0470588 )
|
||||||
|
|
||||||
|
[sub_resource type="CylinderShape" id=24]
|
||||||
|
height = 0.2
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape" id=23]
|
||||||
|
radius = 0.1
|
||||||
|
|
||||||
|
[node name="Player" type="KinematicBody"]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 0
|
||||||
|
axis_lock_motion_y = true
|
||||||
|
move_lock_y = true
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||||
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, 0 )
|
||||||
|
shape = SubResource( 7 )
|
||||||
|
|
||||||
|
[node name="Movable" parent="." instance=ExtResource( 7 )]
|
||||||
|
|
||||||
|
[node name="WorldInfo" type="Node" parent="."]
|
||||||
|
script = ExtResource( 5 )
|
||||||
|
World = NodePath("../../TileWorld")
|
||||||
|
|
||||||
|
[node name="Navigation" type="Spatial" parent="."]
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="PathCollisionQueryVolume" type="Area" parent="Navigation"]
|
||||||
|
transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 2, 0, 1, 2 )
|
||||||
|
collision_layer = 0
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape" parent="Navigation/PathCollisionQueryVolume"]
|
||||||
|
shape = SubResource( 26 )
|
||||||
|
|
||||||
|
[node name="MeshInstance" type="MeshInstance" parent="Navigation/PathCollisionQueryVolume"]
|
||||||
|
mesh = SubResource( 27 )
|
||||||
|
material/0 = SubResource( 28 )
|
||||||
|
|
||||||
|
[node name="ItemAttractorArea" type="Area" parent="."]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 8
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape" parent="ItemAttractorArea"]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.123516, 0 )
|
||||||
|
shape = SubResource( 24 )
|
||||||
|
|
||||||
|
[node name="ItemPickupArea" type="Area" parent="."]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 8
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape" parent="ItemPickupArea"]
|
||||||
|
shape = SubResource( 23 )
|
||||||
|
|
||||||
|
[node name="Geometry" parent="." instance=ExtResource( 4 )]
|
||||||
|
|
||||||
|
[node name="DebugGeometry" type="Spatial" parent="."]
|
||||||
|
script = ExtResource( 6 )
|
||||||
|
|
||||||
|
[node name="ImmediateGeometry" type="ImmediateGeometry" parent="DebugGeometry"]
|
|
@ -1,34 +0,0 @@
|
||||||
[gd_scene load_steps=6 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://entities/PlayerEntity.gd" type="Script" id=1]
|
|
||||||
[ext_resource path="res://scenes/DebugCamera.gd" type="Script" id=2]
|
|
||||||
[ext_resource path="res://components/MovableComponent.tscn" type="PackedScene" id=4]
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleMesh" id=4]
|
|
||||||
radius = 0.2
|
|
||||||
mid_height = 0.5
|
|
||||||
radial_segments = 16
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape" id=5]
|
|
||||||
radius = 0.25
|
|
||||||
height = 0.5
|
|
||||||
|
|
||||||
[node name="Player" type="KinematicBody"]
|
|
||||||
script = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="Camera" type="Camera" parent="."]
|
|
||||||
transform = Transform( 1, 0, 0, 0, 0.511698, 0.859165, 0, -0.859165, 0.511698, -4.76837e-07, 7.29903, 4.46831 )
|
|
||||||
current = true
|
|
||||||
fov = 60.0
|
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[node name="MeshInstance" type="MeshInstance" parent="."]
|
|
||||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, 0 )
|
|
||||||
mesh = SubResource( 4 )
|
|
||||||
|
|
||||||
[node name="Collision" type="CollisionShape" parent="."]
|
|
||||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, 0 )
|
|
||||||
shape = SubResource( 5 )
|
|
||||||
|
|
||||||
[node name="Movable" parent="." instance=ExtResource( 4 )]
|
|
||||||
max_speed = 3
|
|
|
@ -1,68 +0,0 @@
|
||||||
extends KinematicBody
|
|
||||||
|
|
||||||
onready var color_component = $Color
|
|
||||||
onready var tinted_sprite_component = $TintedSprite
|
|
||||||
onready var clickable_component = $Clickable
|
|
||||||
onready var movable_component = $Movable
|
|
||||||
onready var collision_component = $Collision
|
|
||||||
|
|
||||||
onready var is_active = false
|
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
|
||||||
if color_component and tinted_sprite_component:
|
|
||||||
print ("Connecting signals")
|
|
||||||
color_component.connect("color_changed", tinted_sprite_component, "set_color_tint")
|
|
||||||
|
|
||||||
if clickable_component:
|
|
||||||
clickable_component.connect("clicked", self, "_on_entity_clicked")
|
|
||||||
|
|
||||||
if movable_component:
|
|
||||||
movable_component.connect("position_updated", self, "_on_position_updated")
|
|
||||||
movable_component.target = self.transform.origin
|
|
||||||
movable_component.pos = self.transform.origin
|
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta):
|
|
||||||
if is_active and color_component:
|
|
||||||
var color = Color(
|
|
||||||
(sin(float(OS.get_system_time_msecs()) / 1000.0) + 1.0) / 2.0,
|
|
||||||
(sin(float(OS.get_system_time_msecs()) / 300.0) + 1.0) / 2.0,
|
|
||||||
(sin(float(OS.get_system_time_msecs()) / 100.0) + 1.0) / 2.0
|
|
||||||
)
|
|
||||||
color_component.set_color(color)
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta):
|
|
||||||
if not collision_component:
|
|
||||||
return
|
|
||||||
|
|
||||||
if movable_component and collision_component:
|
|
||||||
if movable_component.vel.length_squared() < 0.001:
|
|
||||||
return
|
|
||||||
|
|
||||||
var physics_velocity = move_and_slide(movable_component.vel)
|
|
||||||
movable_component.vel = physics_velocity
|
|
||||||
|
|
||||||
|
|
||||||
func _on_entity_clicked():
|
|
||||||
is_active = not is_active
|
|
||||||
|
|
||||||
|
|
||||||
func _on_position_updated(new_position):
|
|
||||||
if not collision_component:
|
|
||||||
transform.origin = new_position
|
|
||||||
|
|
||||||
|
|
||||||
func set_movable_target(target):
|
|
||||||
if not movable_component == null:
|
|
||||||
movable_component.target = target
|
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input_disabled(event):
|
|
||||||
print ("Player unhandled input...")
|
|
||||||
if event is InputEventMouseButton and event.pressed:
|
|
||||||
assert(movable_component)
|
|
||||||
|
|
||||||
movable_component.target = event.position
|
|
|
@ -1,46 +0,0 @@
|
||||||
[gd_scene load_steps=10 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://entities/PlayerEntity.gd" type="Script" id=1]
|
|
||||||
[ext_resource path="res://components/TintedSpriteComponent.gd" type="Script" id=2]
|
|
||||||
[ext_resource path="res://components/ColorComponent.gd" type="Script" id=3]
|
|
||||||
[ext_resource path="res://components/ClickableComponent.tscn" type="PackedScene" id=4]
|
|
||||||
[ext_resource path="res://components/MovableComponent.tscn" type="PackedScene" id=5]
|
|
||||||
[ext_resource path="res://assets/pirate.svg" type="Texture" id=6]
|
|
||||||
[ext_resource path="res://assets/white.png" type="Texture" id=8]
|
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=1]
|
|
||||||
extents = Vector2( 40, 103 )
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id=2]
|
|
||||||
radius = 46.0
|
|
||||||
height = 122.0
|
|
||||||
|
|
||||||
[node name="PlayerEntity" type="KinematicBody2D"]
|
|
||||||
script = ExtResource( 1 )
|
|
||||||
|
|
||||||
[node name="Movable" parent="." instance=ExtResource( 5 )]
|
|
||||||
|
|
||||||
[node name="TintedSprite" type="Sprite" parent="."]
|
|
||||||
position = Vector2( -9, 3 )
|
|
||||||
texture = ExtResource( 6 )
|
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[node name="Clickable" parent="." instance=ExtResource( 4 )]
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" parent="Clickable/Area2D" index="0"]
|
|
||||||
position = Vector2( 7, -8 )
|
|
||||||
shape = SubResource( 1 )
|
|
||||||
|
|
||||||
[node name="Color" type="Node" parent="."]
|
|
||||||
script = ExtResource( 3 )
|
|
||||||
|
|
||||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
|
||||||
shape = SubResource( 2 )
|
|
||||||
|
|
||||||
[node name="TintedSprite" type="Sprite" parent="Collision"]
|
|
||||||
visible = false
|
|
||||||
scale = Vector2( 80.6324, 216.834 )
|
|
||||||
texture = ExtResource( 8 )
|
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[editable path="Clickable"]
|
|
|
@ -1,18 +1,13 @@
|
||||||
[gd_scene load_steps=23 format=2]
|
[gd_scene load_steps=15 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scenes/StreamContainer.cs" type="Script" id=1]
|
[ext_resource path="res://scenes/StreamContainer.cs" type="Script" id=1]
|
||||||
[ext_resource path="res://components/NavigationComponent.cs" type="Script" id=2]
|
[ext_resource path="res://entities/Player.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://entities/Player.cs" type="Script" id=3]
|
|
||||||
[ext_resource path="res://components/MovableComponent.tscn" type="PackedScene" id=4]
|
|
||||||
[ext_resource path="res://utils/TileHighlight.tscn" type="PackedScene" id=5]
|
[ext_resource path="res://utils/TileHighlight.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://components/WorldInfoComponent.cs" type="Script" id=6]
|
|
||||||
[ext_resource path="res://entities/Chest.tscn" type="PackedScene" id=7]
|
[ext_resource path="res://entities/Chest.tscn" type="PackedScene" id=7]
|
||||||
[ext_resource path="res://scenes/TileWorld.tscn" type="PackedScene" id=8]
|
[ext_resource path="res://scenes/TileWorld.tscn" type="PackedScene" id=8]
|
||||||
[ext_resource path="res://scenes/Game.cs" type="Script" id=9]
|
[ext_resource path="res://scenes/Game.cs" type="Script" id=9]
|
||||||
[ext_resource path="res://scenes/DebugCamera.gd" type="Script" id=10]
|
[ext_resource path="res://scenes/DebugCamera.gd" type="Script" id=10]
|
||||||
[ext_resource path="res://assets/Characters/Pirate.tscn" type="PackedScene" id=11]
|
|
||||||
[ext_resource path="res://ui/WorldGeneratorUI.gd" type="Script" id=12]
|
[ext_resource path="res://ui/WorldGeneratorUI.gd" type="Script" id=12]
|
||||||
[ext_resource path="res://utils/DebugGeometry.cs" type="Script" id=13]
|
|
||||||
[ext_resource path="res://entities/Axe.tscn" type="PackedScene" id=14]
|
[ext_resource path="res://entities/Axe.tscn" type="PackedScene" id=14]
|
||||||
[ext_resource path="res://systems/InteractionSystem.cs" type="Script" id=15]
|
[ext_resource path="res://systems/InteractionSystem.cs" type="Script" id=15]
|
||||||
|
|
||||||
|
@ -42,16 +37,6 @@ albedo_color = Color( 1, 1, 1, 0.156863 )
|
||||||
[sub_resource type="BoxShape" id=9]
|
[sub_resource type="BoxShape" id=9]
|
||||||
extents = Vector3( 20, 1, 20 )
|
extents = Vector3( 20, 1, 20 )
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape" id=7]
|
|
||||||
radius = 0.3
|
|
||||||
height = 0.2
|
|
||||||
|
|
||||||
[sub_resource type="CylinderShape" id=24]
|
|
||||||
height = 0.2
|
|
||||||
|
|
||||||
[sub_resource type="SphereShape" id=23]
|
|
||||||
radius = 0.1
|
|
||||||
|
|
||||||
[node name="Game" type="Spatial"]
|
[node name="Game" type="Spatial"]
|
||||||
script = ExtResource( 9 )
|
script = ExtResource( 9 )
|
||||||
|
|
||||||
|
@ -327,48 +312,7 @@ script = ExtResource( 10 )
|
||||||
[node name="InteractionSystem" type="Node" parent="."]
|
[node name="InteractionSystem" type="Node" parent="."]
|
||||||
script = ExtResource( 15 )
|
script = ExtResource( 15 )
|
||||||
|
|
||||||
[node name="Player" type="KinematicBody" parent="."]
|
[node name="Player" parent="." instance=ExtResource( 2 )]
|
||||||
collision_mask = 0
|
|
||||||
axis_lock_motion_y = true
|
|
||||||
move_lock_y = true
|
|
||||||
script = ExtResource( 3 )
|
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Player"]
|
|
||||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.5, 0 )
|
|
||||||
shape = SubResource( 7 )
|
|
||||||
|
|
||||||
[node name="Movable" parent="Player" instance=ExtResource( 4 )]
|
|
||||||
|
|
||||||
[node name="WorldInfo" type="Node" parent="Player"]
|
|
||||||
script = ExtResource( 6 )
|
|
||||||
World = NodePath("../../TileWorld")
|
|
||||||
|
|
||||||
[node name="Navigation" type="Node" parent="Player"]
|
|
||||||
script = ExtResource( 2 )
|
|
||||||
|
|
||||||
[node name="ItemAttractorArea" type="Area" parent="Player"]
|
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 8
|
|
||||||
monitorable = false
|
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Player/ItemAttractorArea"]
|
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.123516, 0 )
|
|
||||||
shape = SubResource( 24 )
|
|
||||||
|
|
||||||
[node name="ItemPickupArea" type="Area" parent="Player"]
|
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 8
|
|
||||||
monitorable = false
|
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Player/ItemPickupArea"]
|
|
||||||
shape = SubResource( 23 )
|
|
||||||
|
|
||||||
[node name="Geometry" parent="Player" instance=ExtResource( 11 )]
|
|
||||||
|
|
||||||
[node name="DebugGeometry" type="Spatial" parent="Player"]
|
|
||||||
script = ExtResource( 13 )
|
|
||||||
|
|
||||||
[node name="ImmediateGeometry" type="ImmediateGeometry" parent="Player/DebugGeometry"]
|
|
||||||
|
|
||||||
[node name="Entities" type="Spatial" parent="."]
|
[node name="Entities" type="Spatial" parent="."]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue