This commit is contained in:
Merlar 2020-02-01 12:17:26 +00:00
commit 8afde2fa4b
15 changed files with 150 additions and 56 deletions

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Stierbg.jpg-b439c056e778b8fb16ae62aa15547147.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://3D Input/Stierbg.jpg"
dest_files=[ "res://.import/Stierbg.jpg-b439c056e778b8fb16ae62aa15547147.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/horselegimg.jpg-8935d9a9effef767d66fb9866f38d2c4.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://3D Input/horselegimg.jpg"
dest_files=[ "res://.import/horselegimg.jpg-8935d9a9effef767d66fb9866f38d2c4.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,14 @@
extends VBoxContainer
# Called when the node enters the scene tree for the first time.
func _ready():
for entry in BodyPartLoader.bodyparts:
#var button = Button.new()
#button.text = entry.key
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass

View File

@ -1,8 +1,8 @@
[gd_scene load_steps=3 format=2] [gd_scene load_steps=4 format=2]
[ext_resource path="res://BodyParts/Tesso.tscn" type="PackedScene" id=1] [ext_resource path="res://BodyParts/BodyBase/BodyBase.tscn" type="PackedScene" id=1]
[ext_resource path="res://BodyConfig/bodyBuildingScript.gd" type="Script" id=2] [ext_resource path="res://BodyConfig/bodyBuildingScript.gd" type="Script" id=2]
[ext_resource path="res://BodyConfig/LoadBodyParts.gd" type="Script" id=3]
[node name="Body Builder Menu" type="Spatial"] [node name="Body Builder Menu" type="Spatial"]
script = ExtResource( 2 ) script = ExtResource( 2 )
@ -30,29 +30,7 @@ __meta__ = {
margin_right = 300.0 margin_right = 300.0
margin_bottom = 600.0 margin_bottom = 600.0
rect_min_size = Vector2( 300, 500 ) rect_min_size = Vector2( 300, 500 )
script = ExtResource( 3 )
[node name="Button" type="Button" parent="GUI/HBoxC/VBoxC"]
margin_right = 300.0
margin_bottom = 20.0
text = "Button 1"
[node name="Button2" type="Button" parent="GUI/HBoxC/VBoxC"]
margin_top = 24.0
margin_right = 300.0
margin_bottom = 44.0
text = "Button 2"
[node name="Button3" type="Button" parent="GUI/HBoxC/VBoxC"]
margin_top = 48.0
margin_right = 300.0
margin_bottom = 68.0
text = "Button 3"
[node name="Button4" type="Button" parent="GUI/HBoxC/VBoxC"]
margin_top = 72.0
margin_right = 300.0
margin_bottom = 92.0
text = "Button 4"
[node name="ViewportContainer" type="ViewportContainer" parent="GUI/HBoxC"] [node name="ViewportContainer" type="ViewportContainer" parent="GUI/HBoxC"]
margin_left = 304.0 margin_left = 304.0
@ -73,5 +51,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3 )
[node name="MouseLook" type="RayCast" parent="GUI/HBoxC/ViewportContainer/Viewport"] [node name="MouseLook" type="RayCast" parent="GUI/HBoxC/ViewportContainer/Viewport"]
enabled = true enabled = true
collide_with_areas = true
collide_with_bodies = false
[node name="Torso" parent="." instance=ExtResource( 1 )] [node name="Torso" parent="." instance=ExtResource( 1 )]

View File

@ -70,13 +70,11 @@ func _physics_process(delta):
func _input(event): func _input(event):
if _viewport.get_viewport().get_mouse_position().x >= 0:
if event is InputEventMouseButton: if event is InputEventMouseButton:
if event.pressed: if event.pressed and _viewport.get_viewport().get_mouse_position().x >= 0:
print("Mouse Click at: ", event.position) print("Mouse Click at: ", event.position)
_prev_mouse_pos = event.position _prev_mouse_pos = event.position
_viewRot = true _viewRot = true
else: else:
print("mouse unpressed at: ", event.position) print("mouse unpressed at: ", event.position)
_viewRot = false _viewRot = false

View File

@ -14,8 +14,8 @@ func action():
func push(body): func push(body):
# TODO: Hardcoded values - maybe try to generalize # We multiply by 0.1 because we only want it to spin slightly, it should mostly go up
base.apply_impulse(transform.basis.xform(Vector3(0.0, 0.0, -3.0)), base.transform.basis.y * 10.0) base.apply_impulse(transform.basis.xform(touch_area.global_transform.origin) * 0.1, base.transform.basis.y * 5.0)
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta: float) -> void: #func _process(delta: float) -> void:

View File

@ -4,8 +4,9 @@
[ext_resource path="res://3D Input/untitled.glb" type="PackedScene" id=2] [ext_resource path="res://3D Input/untitled.glb" type="PackedScene" id=2]
[ext_resource path="res://BodyParts/Arm.gd" type="Script" id=3] [ext_resource path="res://BodyParts/Arm.gd" type="Script" id=3]
[sub_resource type="CapsuleShape" id=3]
[sub_resource type="SphereShape" id=1] radius = 0.724339
height = 5.27855
[sub_resource type="SphereShape" id=2] [sub_resource type="SphereShape" id=2]
radius = 0.591769 radius = 0.591769
@ -14,20 +15,23 @@ radius = 0.591769
script = ExtResource( 3 ) script = ExtResource( 3 )
[node name="PartCollider" parent="." index="0"] [node name="PartCollider" parent="." index="0"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5.34203 )
shape = SubResource( 1 ) shape = SubResource( 3 )
[node name="Mesh" parent="." index="1" instance=ExtResource( 2 )] [node name="Mesh" parent="." index="1" instance=ExtResource( 2 )]
[node name="Sphere" parent="Mesh" index="0"]
visible = false
[node name="BoneAttachment" type="BoneAttachment" parent="Mesh/Armature/Skeleton" index="1"] [node name="BoneAttachment" type="BoneAttachment" parent="Mesh/Armature/Skeleton" index="1"]
transform = Transform( 1, -1.98292e-23, -3.18966e-24, 6.71348e-24, -9.49949e-08, 1, -2.07636e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 ) transform = Transform( 1, -1.98247e-23, -2.98292e-24, 6.50669e-24, -9.49949e-08, 1, -2.07684e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 )
bone_name = "bone_2" bone_name = "bone_2"
[node name="RemoteTransform" type="RemoteTransform" parent="Mesh/Armature/Skeleton/BoneAttachment" index="0"] [node name="RemoteTransform" type="RemoteTransform" parent="Mesh/Armature/Skeleton/BoneAttachment" index="0"]
remote_path = NodePath("../../../../../TouchArea") remote_path = NodePath("../../../../../TouchArea")
[node name="TouchArea" parent="." index="2"] [node name="TouchArea" parent="." index="2"]
transform = Transform( 1, -1.98292e-23, -3.18966e-24, 6.71348e-24, -9.49949e-08, 1, -2.07636e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -7.60024 ) transform = Transform( 1, -1.98247e-23, -2.98292e-24, 6.50669e-24, -9.49949e-08, 1, -2.07684e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -7.60024 )
[node name="CollisionShape" type="CollisionShape" parent="TouchArea" index="0"] [node name="CollisionShape" type="CollisionShape" parent="TouchArea" index="0"]
transform = Transform( 1, 2.98291e-24, -1.98247e-23, -2.07684e-23, -9.49949e-08, -1, -6.50669e-24, 1, -9.49949e-08, 2.23781e-16, 0.399765, 0.00782054 ) transform = Transform( 1, 2.98291e-24, -1.98247e-23, -2.07684e-23, -9.49949e-08, -1, -6.50669e-24, 1, -9.49949e-08, 2.23781e-16, 0.399765, 0.00782054 )

View File

@ -1,9 +1,9 @@
extends Spatial extends Spatial
class_name BodyBase class_name BodyBase
# Declare member variables here. Examples:
# var a = 2 export(int) var player_id
# var b = "text"
# 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():

View File

@ -2,7 +2,6 @@
[ext_resource path="res://BodyParts/BodyBase/BodyBase.gd" type="Script" id=1] [ext_resource path="res://BodyParts/BodyBase/BodyBase.gd" type="Script" id=1]
[sub_resource type="CapsuleMesh" id=1] [sub_resource type="CapsuleMesh" id=1]
[sub_resource type="CapsuleShape" id=2] [sub_resource type="CapsuleShape" id=2]
@ -13,7 +12,9 @@
[sub_resource type="SphereShape" id=5] [sub_resource type="SphereShape" id=5]
[node name="Torso" type="RigidBody"] [node name="Torso" type="RigidBody" groups=[
"Player",
]]
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="TorsoMesh" type="MeshInstance" parent="."] [node name="TorsoMesh" type="MeshInstance" parent="."]
@ -24,7 +25,7 @@ material/0 = null
shape = SubResource( 2 ) shape = SubResource( 2 )
[node name="FrontLeft" type="Spatial" parent="."] [node name="FrontLeft" type="Spatial" parent="."]
transform = Transform( 1.62921e-07, -5.30863e-14, -1, -3.25841e-07, -1, 0, -1, 3.25841e-07, -1.62921e-07, 0.6, 0, 1 ) transform = Transform( 0.5, -1.62921e-07, -0.866025, -3.25841e-07, -1, 0, -0.866025, 2.82187e-07, -0.5, 0.6, 0, 1 )
[node name="FrontLeftAttachMent" type="MeshInstance" parent="FrontLeft"] [node name="FrontLeftAttachMent" type="MeshInstance" parent="FrontLeft"]
transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 ) transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 )
@ -38,10 +39,10 @@ transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
shape = SubResource( 4 ) shape = SubResource( 4 )
[node name="FrontRight" type="Spatial" parent="."] [node name="FrontRight" type="Spatial" parent="."]
transform = Transform( 1.62921e-07, -5.30863e-14, 1, -3.25841e-07, -1, 0, 1, -3.25841e-07, -1.62921e-07, -0.6, 0, 1 ) transform = Transform( 0.5, -1.62921e-07, 0.866025, -3.25841e-07, -1, 0, 0.866025, -2.82187e-07, -0.5, -0.6, 0, 1 )
[node name="FrontRightAttachMent" type="MeshInstance" parent="FrontRight"] [node name="FrontRightAttachMent" type="MeshInstance" parent="FrontRight"]
transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0 ) transform = Transform( 0.3, 0, 0, 0, 0.3, 0, 0, 5.0822e-21, 0.3, 0, 0, 0 )
mesh = SubResource( 3 ) mesh = SubResource( 3 )
material/0 = null material/0 = null

View File

@ -22,12 +22,13 @@ func _ready() -> void:
func _process(delta: float) -> void: func _process(delta: float) -> void:
# We do this here because we want the whole tree to really be done instancing # We do this here because we want the whole tree to really be done instancing
if not setup_done: if not setup_done:
var translation = physics_shape.global_transform.basis * physics_shape.translation var translation = physics_shape.global_transform
print(translation)
remove_child(physics_shape) remove_child(physics_shape)
base.add_child(physics_shape) base.add_child(physics_shape)
physics_shape.translation = translation physics_shape.global_transform = translation
setup_done = true setup_done = true

View File

@ -3,6 +3,8 @@ class_name PushingBodyPart
onready var touch_area = get_node("TouchArea") onready var touch_area = get_node("TouchArea")
export(float) var damage = 10.0
# 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() -> void: func _ready() -> void:
@ -11,7 +13,10 @@ func _ready() -> void:
func _on_touch_area_entered(body): func _on_touch_area_entered(body):
if body.name != base.name: if body.name != base.name:
if body.is_in_group("Terrain"):
push(body) push(body)
elif body.is_in_group("Player"):
InGameState.subtract_player_health(body.player_id, damage)
func push(body): func push(body):

7
Global/BodyPartLoader.gd Normal file
View File

@ -0,0 +1,7 @@
extends Node
var bodyparts : Dictionary
# Called when the node enters the scene tree for the first time.
func _ready():
bodyparts["Arm"] = load("res://BodyParts/Arm.tscn")

View File

@ -19,7 +19,9 @@ transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
mesh = SubResource( 1 ) mesh = SubResource( 1 )
material/0 = null material/0 = null
[node name="StaticBody" type="StaticBody" parent="MeshInstance"] [node name="StaticBody" type="StaticBody" parent="MeshInstance" groups=[
"Terrain",
]]
[node name="CollisionShape" type="CollisionShape" parent="MeshInstance/StaticBody"] [node name="CollisionShape" type="CollisionShape" parent="MeshInstance/StaticBody"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 )
@ -41,6 +43,18 @@ key = 83
[node name="Arm" parent="Torso/FrontRight" index="1" instance=ExtResource( 1 )] [node name="Arm" parent="Torso/FrontRight" index="1" instance=ExtResource( 1 )]
key = 65 key = 65
[node name="Torso2" parent="." instance=ExtResource( 3 )]
transform = Transform( -0.866025, -0.353553, -0.353553, -6.18172e-08, -0.707107, 0.707107, -0.5, 0.612372, 0.612372, 0, 3.02111, -9 )
player_id = 1
[node name="Arm" parent="Torso2/FrontLeft" index="1" instance=ExtResource( 1 )]
key = 81
[node name="Arm" parent="Torso2/FrontRight" index="1" instance=ExtResource( 1 )]
key = 87
[node name="UI" parent="." instance=ExtResource( 2 )] [node name="UI" parent="." instance=ExtResource( 2 )]
[editable path="Torso"] [editable path="Torso"]
[editable path="Torso2"]

View File

@ -55,6 +55,7 @@ script = ExtResource( 1 )
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
player_id = 1
[node name="HSplitContainer2" type="HSplitContainer" parent="MarginContainer/PlayerHealthController/VSplitContainer"] [node name="HSplitContainer2" type="HSplitContainer" parent="MarginContainer/PlayerHealthController/VSplitContainer"]
visible = false visible = false

View File

@ -39,6 +39,7 @@ config/icon="res://icon.png"
[autoload] [autoload]
InGameState="*res://Global/InGameState.gd" InGameState="*res://Global/InGameState.gd"
BodyPartLoader="*res://Global/BodyPartLoader.gd"
[rendering] [rendering]