diff options
Diffstat (limited to '')
-rw-r--r-- | godot/scenes/Die.gd | 130 | ||||
-rw-r--r-- | godot/scenes/Die.tscn | 60 | ||||
-rw-r--r-- | godot/scenes/Game.gd | 87 | ||||
-rw-r--r-- | godot/scenes/Game.tscn | 76 | ||||
-rw-r--r-- | godot/scenes/Menu.gd | 25 | ||||
-rw-r--r-- | godot/scenes/Menu.tscn | 47 | ||||
-rw-r--r-- | godot/scenes/levels/GoalTriggerZone.tscn | 14 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene/TestScene.tscn | 11 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_movement/Floor.tscn | 22 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn | 31 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_movement/Wall.tscn | 23 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn | 2 | ||||
-rw-r--r-- | godot/scenes/objects/Camera.tscn | 10 | ||||
-rw-r--r-- | godot/scenes/objects/Player.tscn | 18 | ||||
-rw-r--r-- | godot/scenes/objects/Scoreboard.gd | 22 | ||||
-rw-r--r-- | godot/scenes/objects/Scoreboard.tscn | 433 | ||||
-rw-r--r-- | godot/scenes/objects/W8.tscn | 21 | ||||
-rw-r--r-- | godot/scenes/objects/old/Die.tscn | 11 | ||||
-rw-r--r-- | godot/scenes/scripts/roblox-cube.gd | 22 |
19 files changed, 1020 insertions, 45 deletions
diff --git a/godot/scenes/Die.gd b/godot/scenes/Die.gd new file mode 100644 index 0000000..21a408e --- /dev/null +++ b/godot/scenes/Die.gd @@ -0,0 +1,130 @@ +extends RigidBody + +const Game = preload("res://scenes/Game.gd") + +var camrot_h = 0 +var camrot_v = 0 +var camrot_v_locked_val = 0 +var cam_v_min = -90 +var cam_v_max = 90 +var sensitivity = 0.5 +var dice_is_moving = false +var last_frame_position = Vector3(1.0,1.0,1.0) +var mouse_origin = Vector2(0,0) +var die_launch_force_magnitude = 0 +var die_launch_force_direction = Vector3(0,0,0) +var die_launch_force = Vector3(0,0,0) +var die_launch_force_multiplier = 0.05 +var left_pressed = false + +var mat +var target_bounce = 1 +var previous_bounciness = 0 + +var _game: Game = null + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + $CamRoot/Horizontal/Vertical/Camera.add_exception(self) + $CamRoot.set_as_toplevel(true) + _game = get_node("/root/Game") + mat = get_physics_material_override() + previous_bounciness = mat.get_bounce() + +func _input(event): + + if event is InputEventKey: + if event.scancode == KEY_TAB: + if event.is_pressed(): + _game.open_scoreboard() + else: + _game.close_scoreboard() + return + + if event is InputEventMouseButton and dice_is_moving == false: + if event.is_pressed() and left_pressed == false: + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + mouse_origin = event.global_position + camrot_v_locked_val = camrot_v + left_pressed = true + else: + left_pressed = false + die_launch_force_magnitude = -(mouse_origin.y - event.global_position.y) + die_launch_force_direction = $CamRoot/Horizontal/Vertical/Camera.get_global_transform().basis + die_launch_force_direction = -die_launch_force_direction.z + die_launch_force = die_launch_force_direction * die_launch_force_magnitude * die_launch_force_multiplier + self.apply_central_impulse(die_launch_force) + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + if event is InputEventMouseMotion: + camrot_h += -event.relative.x * sensitivity + if left_pressed: + camrot_v = camrot_v_locked_val + else: + camrot_v += -event.relative.y * sensitivity + + +func _physics_process(delta): + camrot_v = clamp(camrot_v, cam_v_min, cam_v_max) + + $CamRoot/Horizontal.rotation_degrees.y = camrot_h + $CamRoot/Horizontal/Vertical.rotation_degrees.x = camrot_v + $CamRoot.translation.x = translation.x + $CamRoot.translation.y = translation.y + $CamRoot.translation.z = translation.z + + if last_frame_position != Vector3(translation.x, translation.y, translation.x): + dice_is_moving = true + else: + dice_is_moving = false + + if angular_velocity.length() == 0: + get_upwards_side() + + last_frame_position = Vector3(translation.x, translation.y, translation.x) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + +""" +BUFFS +""" + +func get_upwards_side(): + return 0 + + +func extra_stroke(): + _game.revoke_stroke() + + +func bounciness(): + mat.set_bounce(target_bounce) + + +func bounciness_revert(): + mat.set_bounce(previous_bounciness) + + +func phase(): + set_collision_layer_bit(2, false) + + +func phase_revert(): + set_collision_layer_bit(2, true) + + +func ball(): + $BallShape.show() + $BallShape.set_process(true) + $BallShape.disabled = false + + +func ball_revert(): + $BallShape.hide() + $BallShape.set_process(false) + $BallShape.disabled = true diff --git a/godot/scenes/Die.tscn b/godot/scenes/Die.tscn new file mode 100644 index 0000000..2d73734 --- /dev/null +++ b/godot/scenes/Die.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://scenes/Die.gd" type="Script" id=1] +[ext_resource path="res://assets/game_objects/W8baseColor_Mat.material" type="Material" id=2] + +[sub_resource type="PhysicsMaterial" id=3] + +[sub_resource type="ConvexPolygonShape" id=2] +points = PoolVector3Array( -0.0850063, -0.879389, -0.0282584, 0.0288993, 0.929375, 0.0289349, 0.0288993, 0.929375, -0.0289349, 0.929367, -0.0289314, 0.0289314, -0.0289784, -0.0289338, 0.929338, -0.929369, 0.028929, 0.028929, 0.0288993, -0.0289349, -0.929375, 0.0288993, -0.929375, 0.0289349, -0.0850063, 0.0282584, -0.879389, 0.0282247, 0.084959, 0.87945, 0.857489, 0.056933, -0.0855785, -0.879454, -0.0849424, 0.0282549, 0.0570775, -0.885814, -0.0571088, 0.0570775, -0.0571088, 0.885814, -0.0571532, 0.885743, -0.0571043, -0.0571532, 0.885743, 0.0571043, 0.0570775, 0.0571088, -0.885814, -0.885806, -0.057097, -0.057097, 0.879446, 0.0849494, 0.0282572, 0.857335, -0.0571018, -0.0855632, -0.0571532, 0.0571043, 0.885743, -0.0571532, -0.885743, 0.0571043, -0.885806, 0.057097, -0.057097, -0.0571532, -0.0571043, -0.885743, 0.0570775, 0.0571088, 0.885814, -0.0571532, -0.885743, -0.0571043, -0.0571532, 0.0571043, -0.885743, 0.0570775, -0.885814, 0.0571088, 0.0570775, 0.885814, 0.0571088, -0.0571532, -0.0571043, 0.885743, -0.885806, 0.057097, 0.057097, 0.0570775, 0.885814, -0.0571088, 0.0570775, -0.0571088, -0.885814, 0.857335, -0.0571018, 0.0855632, -0.885806, -0.057097, 0.057097, 0.857489, 0.056933, 0.0855785, 0.929425, 0.0287513, -0.0289333, 0.929367, -0.0289314, -0.0289314, -0.0289784, 0.929338, -0.0289338, 0.0288993, 0.0289349, -0.929375, -0.929369, -0.028929, -0.028929, -0.0283039, -0.87942, -0.0849561, 0.084933, 0.0282608, 0.879461, -0.0289784, 0.929338, 0.0289338, -0.0289784, -0.0289338, -0.929338, -0.0289784, 0.0289338, 0.929338, 0.0288993, -0.0289349, 0.929375, 0.0288993, -0.929375, -0.0289349, -0.0289784, -0.929338, 0.0289338, -0.929369, 0.028929, -0.028929, -0.0283039, 0.0849561, -0.87942, -0.879454, -0.0282549, 0.0849424, 0.879512, 0.0280816, 0.0849558, 0.879446, -0.0849494, -0.0282572, -0.0282988, -0.822574, 0.141805, 0.17021, 0.0280745, -0.794261, -0.879454, 0.0849424, -0.0282549, -0.0283039, 0.87942, 0.0849561, 0.0282247, 0.87945, -0.084959, 0.0282247, -0.084959, -0.87945, -0.879454, -0.0282549, -0.0849424, -0.0850063, 0.0282584, 0.879389, -0.0850063, 0.879389, 0.0282584, 0.084933, -0.0282608, 0.879461 ) + +[sub_resource type="ArrayMesh" id=1] +resource_name = "W8_Cone" +surfaces/0 = { +"aabb": AABB( -0.956074, -0.956074, -0.956074, 1.91215, 1.91215, 1.91215 ), +"array_data": PoolByteArray( 243, 55, 39, 61, 242, 55, 39, 189, 1, 25, 107, 191, 90, 166, 181, 114, 182, 56, 213, 56, 243, 55, 39, 189, 242, 55, 39, 189, 1, 25, 107, 191, 166, 166, 202, 117, 195, 56, 249, 56, 243, 55, 39, 189, 242, 55, 39, 61, 1, 25, 107, 191, 166, 90, 68, 9, 203, 59, 28, 52, 243, 55, 39, 61, 242, 55, 39, 61, 1, 25, 107, 191, 90, 90, 179, 93, 211, 56, 187, 56, 0, 0, 0, 0, 194, 217, 73, 189, 30, 67, 109, 191, 74, 129, 189, 114, 188, 56, 231, 56, 0, 0, 0, 0, 0, 0, 0, 0, 64, 193, 116, 191, 127, 127, 208, 102, 215, 56, 221, 56, 0, 0, 0, 0, 0, 0, 0, 0, 64, 193, 116, 191, 127, 127, 35, 17, 234, 59, 51, 52, 196, 217, 73, 189, 0, 0, 0, 0, 30, 67, 109, 191, 129, 74, 9, 124, 216, 56, 251, 56, 196, 217, 73, 189, 0, 0, 0, 0, 30, 67, 109, 191, 129, 74, 64, 18, 219, 59, 3, 52, 0, 0, 0, 0, 194, 217, 73, 61, 30, 67, 109, 191, 74, 127, 179, 77, 229, 56, 195, 56, 0, 0, 0, 0, 194, 217, 73, 61, 30, 67, 109, 191, 74, 127, 62, 8, 207, 59, 68, 52, 196, 217, 73, 61, 0, 0, 0, 0, 30, 67, 109, 191, 127, 74, 185, 106, 196, 56, 200, 56, 1, 25, 107, 63, 242, 55, 39, 189, 232, 55, 39, 189, 90, 184, 179, 121, 112, 54, 156, 54, 1, 25, 107, 63, 243, 55, 39, 61, 232, 55, 39, 189, 90, 72, 181, 101, 169, 54, 105, 54, 1, 25, 107, 63, 244, 55, 39, 61, 253, 55, 39, 61, 54, 36, 202, 109, 143, 54, 33, 54, 1, 25, 107, 63, 242, 55, 39, 189, 253, 55, 39, 61, 54, 220, 206, 34, 252, 39, 251, 57, 31, 67, 109, 63, 252, 254, 180, 177, 177, 217, 73, 189, 126, 204, 185, 112, 141, 54, 131, 54, 64, 193, 116, 63, 2, 43, 165, 48, 23, 193, 39, 51, 126, 0, 0, 17, 30, 36, 240, 57, 64, 193, 116, 63, 2, 43, 165, 48, 23, 193, 39, 51, 126, 0, 48, 126, 104, 54, 89, 54, 30, 67, 109, 63, 196, 217, 73, 61, 245, 193, 47, 51, 74, 52, 189, 105, 157, 54, 69, 54, 30, 67, 109, 63, 0, 0, 0, 49, 206, 217, 73, 61, 74, 0, 230, 32, 252, 37, 8, 58, 30, 67, 109, 63, 0, 0, 0, 49, 206, 217, 73, 61, 74, 0, 253, 122, 102, 54, 29, 54, 30, 67, 109, 63, 195, 217, 73, 189, 245, 193, 47, 51, 74, 204, 211, 31, 126, 39, 231, 57, 30, 67, 109, 63, 195, 217, 73, 189, 245, 193, 47, 51, 74, 204, 98, 116, 75, 54, 141, 54, 221, 55, 39, 61, 242, 55, 39, 189, 1, 25, 107, 63, 36, 220, 190, 39, 246, 50, 180, 59, 221, 55, 39, 61, 242, 55, 39, 61, 1, 25, 107, 63, 36, 36, 196, 102, 169, 55, 244, 46, 8, 56, 39, 189, 240, 55, 39, 61, 1, 25, 107, 63, 220, 36, 154, 101, 224, 55, 32, 46, 7, 56, 39, 189, 242, 55, 39, 189, 1, 25, 107, 63, 220, 220, 133, 89, 136, 51, 193, 59, 179, 217, 73, 61, 252, 254, 180, 177, 30, 67, 109, 63, 52, 0, 211, 39, 190, 50, 195, 59, 179, 217, 73, 61, 252, 254, 180, 177, 30, 67, 109, 63, 52, 0, 228, 102, 131, 55, 187, 46, 81, 109, 158, 179, 172, 28, 154, 176, 64, 193, 116, 63, 0, 0, 161, 47, 27, 51, 212, 59, 81, 109, 158, 179, 172, 28, 154, 176, 64, 193, 116, 63, 0, 0, 190, 93, 159, 55, 238, 45, 245, 193, 175, 179, 194, 217, 73, 61, 30, 67, 109, 63, 0, 52, 172, 100, 197, 55, 141, 46, 218, 217, 73, 189, 0, 0, 128, 177, 30, 67, 109, 63, 204, 0, 137, 91, 144, 51, 213, 59, 218, 217, 73, 189, 0, 0, 128, 177, 30, 67, 109, 63, 204, 0, 155, 97, 211, 55, 133, 45, 245, 193, 171, 179, 195, 217, 73, 189, 30, 67, 109, 63, 0, 204, 155, 41, 64, 51, 186, 59, 1, 25, 107, 191, 242, 55, 39, 189, 240, 55, 39, 61, 202, 220, 154, 101, 27, 56, 70, 59, 1, 25, 107, 191, 242, 55, 39, 61, 240, 55, 39, 61, 202, 36, 133, 103, 41, 58, 135, 40, 1, 25, 107, 191, 242, 55, 39, 61, 246, 55, 39, 189, 166, 72, 79, 6, 77, 58, 90, 41, 1, 25, 107, 191, 242, 55, 39, 189, 246, 55, 39, 189, 166, 184, 196, 121, 54, 56, 43, 59, 31, 67, 109, 191, 0, 0, 0, 0, 192, 217, 73, 61, 182, 0, 155, 105, 33, 56, 89, 59, 31, 67, 109, 191, 0, 0, 0, 0, 192, 217, 73, 61, 182, 0, 137, 102, 39, 58, 137, 38, 64, 193, 116, 191, 0, 0, 0, 0, 46, 230, 13, 178, 129, 0, 190, 127, 59, 56, 76, 59, 64, 193, 116, 191, 0, 0, 0, 0, 46, 230, 13, 178, 129, 0, 161, 1, 68, 58, 172, 38, 30, 67, 109, 191, 205, 217, 73, 61, 124, 173, 63, 178, 182, 52, 155, 8, 59, 58, 248, 40, 30, 67, 109, 191, 0, 0, 0, 0, 199, 217, 73, 189, 129, 52, 48, 117, 73, 56, 50, 59, 30, 67, 109, 191, 0, 0, 0, 0, 199, 217, 73, 189, 129, 52, 78, 16, 92, 58, 107, 40, 30, 67, 109, 191, 205, 217, 73, 189, 124, 173, 63, 178, 182, 204, 172, 111, 40, 56, 56, 59, 243, 55, 39, 189, 1, 25, 107, 63, 242, 55, 39, 189, 184, 90, 180, 1, 140, 57, 188, 52, 242, 55, 39, 189, 1, 25, 107, 63, 243, 55, 39, 61, 220, 54, 140, 101, 105, 57, 157, 52, 242, 55, 39, 61, 1, 25, 107, 63, 244, 55, 39, 61, 36, 54, 180, 101, 78, 57, 209, 52, 242, 55, 39, 61, 1, 25, 107, 63, 242, 55, 39, 189, 72, 90, 165, 90, 91, 57, 24, 53, 195, 217, 73, 189, 30, 67, 109, 63, 153, 186, 72, 48, 204, 74, 149, 14, 122, 57, 172, 52, 0, 0, 0, 46, 64, 193, 116, 63, 129, 149, 40, 49, 0, 126, 130, 32, 110, 57, 223, 52, 205, 12, 189, 177, 30, 67, 109, 63, 196, 217, 73, 61, 0, 74, 159, 99, 91, 57, 183, 52, 194, 217, 73, 61, 30, 67, 109, 63, 233, 6, 164, 49, 52, 74, 171, 97, 84, 57, 244, 52, 0, 0, 0, 0, 30, 67, 109, 63, 195, 217, 73, 189, 204, 126, 138, 65, 112, 57, 28, 53, 0, 0, 0, 0, 30, 67, 109, 63, 195, 217, 73, 189, 204, 126, 74, 1, 140, 57, 229, 52, 242, 55, 39, 189, 1, 25, 107, 191, 243, 55, 39, 189, 184, 166, 180, 114, 123, 53, 161, 57, 243, 55, 39, 61, 1, 25, 107, 191, 242, 55, 39, 189, 72, 166, 165, 117, 96, 53, 125, 57, 242, 55, 39, 61, 1, 25, 107, 191, 243, 55, 39, 61, 36, 202, 180, 37, 254, 52, 171, 57, 243, 55, 39, 189, 1, 25, 107, 191, 242, 55, 39, 61, 220, 202, 140, 93, 68, 53, 187, 57, 0, 0, 0, 0, 30, 67, 109, 191, 195, 217, 73, 189, 204, 129, 171, 113, 110, 53, 143, 57, 0, 0, 192, 174, 64, 193, 116, 191, 172, 28, 102, 48, 0, 129, 129, 95, 57, 53, 154, 57, 195, 217, 73, 61, 30, 67, 109, 191, 234, 6, 164, 49, 52, 182, 183, 37, 253, 52, 151, 57, 195, 217, 73, 61, 30, 67, 109, 191, 234, 6, 164, 49, 52, 182, 123, 124, 54, 53, 123, 57, 164, 27, 16, 177, 30, 67, 109, 191, 195, 217, 73, 61, 0, 182, 149, 39, 33, 53, 179, 57, 195, 217, 73, 189, 30, 67, 109, 191, 149, 186, 72, 48, 204, 182, 159, 105, 96, 53, 174, 57 ), +"array_index_data": PoolByteArray( 38, 0, 2, 0, 48, 0, 15, 0, 60, 0, 24, 0, 27, 0, 61, 0, 36, 0, 39, 0, 58, 0, 1, 0, 3, 0, 13, 0, 51, 0, 26, 0, 37, 0, 49, 0, 14, 0, 25, 0, 50, 0, 0, 0, 5, 0, 4, 0, 0, 0, 11, 0, 5, 0, 1, 0, 5, 0, 7, 0, 1, 0, 4, 0, 5, 0, 2, 0, 6, 0, 10, 0, 2, 0, 8, 0, 6, 0, 3, 0, 5, 0, 11, 0, 3, 0, 9, 0, 5, 0, 12, 0, 18, 0, 16, 0, 12, 0, 23, 0, 18, 0, 13, 0, 18, 0, 19, 0, 13, 0, 16, 0, 18, 0, 14, 0, 18, 0, 21, 0, 14, 0, 19, 0, 18, 0, 15, 0, 17, 0, 22, 0, 15, 0, 20, 0, 17, 0, 24, 0, 30, 0, 28, 0, 24, 0, 35, 0, 30, 0, 25, 0, 31, 0, 32, 0, 25, 0, 29, 0, 31, 0, 26, 0, 31, 0, 34, 0, 26, 0, 32, 0, 31, 0, 27, 0, 30, 0, 35, 0, 27, 0, 33, 0, 30, 0, 36, 0, 42, 0, 40, 0, 36, 0, 47, 0, 42, 0, 37, 0, 43, 0, 44, 0, 37, 0, 41, 0, 43, 0, 38, 0, 43, 0, 46, 0, 38, 0, 44, 0, 43, 0, 39, 0, 42, 0, 47, 0, 39, 0, 45, 0, 42, 0, 48, 0, 53, 0, 52, 0, 48, 0, 57, 0, 53, 0, 49, 0, 53, 0, 54, 0, 49, 0, 52, 0, 53, 0, 50, 0, 53, 0, 55, 0, 50, 0, 54, 0, 53, 0, 51, 0, 53, 0, 56, 0, 51, 0, 55, 0, 53, 0, 58, 0, 63, 0, 62, 0, 58, 0, 67, 0, 63, 0, 59, 0, 63, 0, 65, 0, 59, 0, 62, 0, 63, 0, 60, 0, 63, 0, 66, 0, 60, 0, 64, 0, 63, 0, 61, 0, 63, 0, 67, 0, 61, 0, 66, 0, 63, 0, 3, 0, 16, 0, 13, 0, 3, 0, 11, 0, 16, 0, 11, 0, 12, 0, 16, 0, 11, 0, 0, 0, 12, 0, 2, 0, 57, 0, 48, 0, 2, 0, 10, 0, 57, 0, 9, 0, 51, 0, 56, 0, 9, 0, 3, 0, 51, 0, 50, 0, 19, 0, 14, 0, 50, 0, 55, 0, 19, 0, 55, 0, 13, 0, 19, 0, 55, 0, 51, 0, 13, 0, 14, 0, 29, 0, 25, 0, 14, 0, 21, 0, 29, 0, 20, 0, 24, 0, 28, 0, 20, 0, 15, 0, 24, 0, 49, 0, 32, 0, 26, 0, 49, 0, 54, 0, 32, 0, 54, 0, 25, 0, 32, 0, 54, 0, 50, 0, 25, 0, 26, 0, 41, 0, 37, 0, 26, 0, 34, 0, 41, 0, 33, 0, 36, 0, 40, 0, 33, 0, 27, 0, 36, 0, 48, 0, 44, 0, 38, 0, 48, 0, 52, 0, 44, 0, 52, 0, 37, 0, 44, 0, 52, 0, 49, 0, 37, 0, 38, 0, 8, 0, 2, 0, 38, 0, 46, 0, 8, 0, 45, 0, 1, 0, 7, 0, 45, 0, 39, 0, 1, 0, 0, 0, 62, 0, 59, 0, 0, 0, 4, 0, 62, 0, 4, 0, 58, 0, 62, 0, 4, 0, 1, 0, 58, 0, 59, 0, 23, 0, 12, 0, 59, 0, 65, 0, 23, 0, 64, 0, 15, 0, 22, 0, 64, 0, 60, 0, 15, 0, 60, 0, 35, 0, 24, 0, 60, 0, 66, 0, 35, 0, 66, 0, 27, 0, 35, 0, 66, 0, 61, 0, 27, 0, 61, 0, 47, 0, 36, 0, 61, 0, 67, 0, 47, 0, 67, 0, 39, 0, 47, 0, 67, 0, 58, 0, 39, 0, 0, 0, 59, 0, 12, 0 ), +"blend_shape_data": [ ], +"format": 2194711, +"index_count": 312, +"material": ExtResource( 2 ), +"primitive": 4, +"skeleton_aabb": [ ], +"vertex_count": 68 +} + +[sub_resource type="SphereShape" id=4] + +[sub_resource type="SphereMesh" id=5] + +[node name="Die" type="RigidBody"] +collision_mask = 3 +physics_material_override = SubResource( 3 ) +script = ExtResource( 1 ) + +[node name="CollisionShape" type="CollisionShape" parent="."] +shape = SubResource( 2 ) + +[node name="Cone" type="MeshInstance" parent="CollisionShape"] +mesh = SubResource( 1 ) +skeleton = NodePath("../../..") +material/0 = null + +[node name="BallShape" type="CollisionShape" parent="."] +visible = false +shape = SubResource( 4 ) +disabled = true + +[node name="Ball" type="MeshInstance" parent="BallShape"] +mesh = SubResource( 5 ) +skeleton = NodePath("../..") +material/0 = null + +[node name="CamRoot" type="Spatial" parent="."] + +[node name="Horizontal" type="Spatial" parent="CamRoot"] + +[node name="Vertical" type="Spatial" parent="CamRoot/Horizontal"] + +[node name="Camera" type="ClippedCamera" parent="CamRoot/Horizontal/Vertical"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10.1285 ) diff --git a/godot/scenes/Game.gd b/godot/scenes/Game.gd new file mode 100644 index 0000000..f24219e --- /dev/null +++ b/godot/scenes/Game.gd @@ -0,0 +1,87 @@ +extends Spatial + +const NUM_LEVELS = 9 +const PAR = [1,2,3,4,5,6,7,8,9] + +# level control +var current_level_id = 0 +var levels = [] +var post_game = false + +# stroke control +var current_strokes = 0 +var strokes_per_level = [0,0,0,0,0,0,0,0,0] + +# Called when the node enters the scene tree for the first time. +func _ready(): + for i in range(NUM_LEVELS): + levels.append(get_node("/root/Game/Level%d" % (i+1))) + + current_strokes = 0 + levels[0].show() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + if Input.is_action_just_pressed("ui_cancel"): + get_tree().paused = true + $PausePopup.show() + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + + + +func _on_QuitButton_pressed(): + get_tree().quit() + + +func _on_ResumeButton_pressed(): + $PausePopup.hide() + get_tree().paused = false + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + +func end_level(): + # save current strokes and reset + strokes_per_level[current_level_id] = current_strokes + current_strokes = 0 + + post_game = true + + open_scoreboard() + + +func add_stroke(): + current_strokes += 1 + + +func revoke_stroke(): + current_strokes -= 1 + + +func open_scoreboard(): + $Scoreboard.update_values(strokes_per_level, PAR) + $Scoreboard.show() + + +func close_scoreboard(): + $Scoreboard.hide() + + +func is_post_game(): + return post_game + + +func next_level(): + post_game = false + + levels[current_level_id].hide() + current_level_id = current_level_id + 1 + + if current_level_id >= NUM_LEVELS: + # TODO load main menu + return + + # load next level + levels[current_level_id].show() + + close_scoreboard() diff --git a/godot/scenes/Game.tscn b/godot/scenes/Game.tscn index f8b17cb..9891f4e 100644 --- a/godot/scenes/Game.tscn +++ b/godot/scenes/Game.tscn @@ -1,14 +1,74 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=7 format=2] -[ext_resource path="res://native/Game.gdns" type="Script" id=1] -[ext_resource path="res://scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn" type="PackedScene" id=2] +[ext_resource path="res://scenes/Game.gd" type="Script" id=1] +[ext_resource path="res://scenes/levels/test_scene_movement/TestSceneMovement.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/theme.tres" type="Theme" id=3] +[ext_resource path="res://assets/fonts/format.tres" type="DynamicFont" id=4] +[ext_resource path="res://scenes/objects/Scoreboard.tscn" type="PackedScene" id=5] +[ext_resource path="res://assets/sounds/bgm.mp3" type="AudioStream" id=6] [node name="Game" type="Spatial"] script = ExtResource( 1 ) -[node name="Camera" type="Camera" parent="."] -transform = Transform( -0.538224, 0.336461, -0.772728, 0, 0.916856, 0.399217, 0.842802, 0.214868, -0.493474, -6.58972, 3.31005, -7.31211 ) -current = true -fov = 64.6875 +[node name="TestScene" parent="." instance=ExtResource( 2 )] -[node name="TestSceneUuuhhh" parent="." instance=ExtResource( 2 )] +[node name="PausePopup" type="Control" parent="."] +pause_mode = 2 +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = 40.0 +margin_bottom = 40.0 + +[node name="Panel" type="Panel" parent="PausePopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 300.0 +margin_top = 200.0 +margin_right = -300.0 +margin_bottom = -200.0 +theme = ExtResource( 3 ) + +[node name="Label" type="Label" parent="PausePopup/Panel"] +anchor_right = 1.0 +anchor_bottom = 0.3 +theme = ExtResource( 3 ) +custom_fonts/font = ExtResource( 4 ) +text = "Game is Paused" +align = 1 +valign = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="PausePopup/Panel"] +anchor_top = 0.3 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 500.0 +margin_right = -500.0 +custom_constants/separation = 20 +alignment = 1 + +[node name="ResumeButton" type="Button" parent="PausePopup/Panel/VBoxContainer"] +margin_top = 161.0 +margin_right = 360.0 +margin_bottom = 242.0 +text = "Resume" + +[node name="QuitButton" type="Button" parent="PausePopup/Panel/VBoxContainer"] +margin_top = 262.0 +margin_right = 360.0 +margin_bottom = 343.0 +text = "Quit" + +[node name="Scoreboard" parent="." instance=ExtResource( 5 )] +visible = false +margin_right = -0.319946 +margin_bottom = 0.47998 + +[node name="Level1" type="Spatial" parent="."] + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 6 ) +autoplay = true + +[connection signal="pressed" from="PausePopup/Panel/VBoxContainer/ResumeButton" to="." method="_on_ResumeButton_pressed"] +[connection signal="pressed" from="PausePopup/Panel/VBoxContainer/QuitButton" to="." method="_on_QuitButton_pressed"] diff --git a/godot/scenes/Menu.gd b/godot/scenes/Menu.gd new file mode 100644 index 0000000..2634e37 --- /dev/null +++ b/godot/scenes/Menu.gd @@ -0,0 +1,25 @@ +extends Control + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_StartButton_pressed(): + get_tree().change_scene("res://scenes/Game.tscn") + + + +func _on_QuitButton_pressed(): + get_tree().quit() diff --git a/godot/scenes/Menu.tscn b/godot/scenes/Menu.tscn new file mode 100644 index 0000000..792bc28 --- /dev/null +++ b/godot/scenes/Menu.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://assets/theme.tres" type="Theme" id=1] +[ext_resource path="res://scenes/Menu.gd" type="Script" id=2] +[ext_resource path="res://assets/sounds/main_menu.mp3" type="AudioStream" id=3] + +[node name="Menu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +anchor_right = 0.25 +anchor_bottom = 1.0 +margin_left = 40.0 +margin_top = 789.0 +margin_bottom = -40.0 +theme = ExtResource( 1 ) +alignment = 2 + +[node name="StartButton" type="Button" parent="VBoxContainer"] +margin_top = 85.0 +margin_right = 440.0 +margin_bottom = 166.0 +focus_neighbour_top = NodePath("../QuitButton") +text = "Start" + +[node name="LevelButton" type="Button" parent="VBoxContainer"] +visible = false +margin_top = 85.0 +margin_right = 440.0 +margin_bottom = 166.0 +text = "Levels" + +[node name="QuitButton" type="Button" parent="VBoxContainer"] +margin_top = 170.0 +margin_right = 440.0 +margin_bottom = 251.0 +focus_neighbour_bottom = NodePath("../StartButton") +text = "Quit" + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 3 ) +autoplay = true + +[connection signal="pressed" from="VBoxContainer/StartButton" to="." method="_on_StartButton_pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="_on_QuitButton_pressed"] diff --git a/godot/scenes/levels/GoalTriggerZone.tscn b/godot/scenes/levels/GoalTriggerZone.tscn new file mode 100644 index 0000000..861db4d --- /dev/null +++ b/godot/scenes/levels/GoalTriggerZone.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://scripts/GoalTriggerBox.gd" type="Script" id=1] + +[sub_resource type="BoxShape" id=1] + +[node name="GoalTriggerZone" type="Area"] +transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 20, 0, 0 ) +script = ExtResource( 1 ) + +[node name="CollisionShape" type="CollisionShape" parent="."] +shape = SubResource( 1 ) + +[connection signal="body_entered" from="." to="." method="_on_Area2_body_entered"] diff --git a/godot/scenes/levels/test_scene/TestScene.tscn b/godot/scenes/levels/test_scene/TestScene.tscn deleted file mode 100644 index ed981f8..0000000 --- a/godot/scenes/levels/test_scene/TestScene.tscn +++ /dev/null @@ -1,11 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://scenes/levels/test_scene/Floor.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/W8.tscn" type="PackedScene" id=2] - -[node name="TestScene" type="Spatial"] - -[node name="Floor" parent="." instance=ExtResource( 1 )] - -[node name="RigidBody" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0339947, 2.91518, -1.40456 ) diff --git a/godot/scenes/levels/test_scene_movement/Floor.tscn b/godot/scenes/levels/test_scene_movement/Floor.tscn new file mode 100644 index 0000000..f8970a7 --- /dev/null +++ b/godot/scenes/levels/test_scene_movement/Floor.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://assets/textures/grass-texture-26.jpg" type="Texture" id=1] + +[sub_resource type="CubeMesh" id=1] + +[sub_resource type="SpatialMaterial" id=3] +albedo_texture = ExtResource( 1 ) + +[sub_resource type="BoxShape" id=2] + +[node name="StaticBody" type="StaticBody"] + +[node name="MeshInstance" type="MeshInstance" parent="."] +transform = Transform( 10, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0 ) +mesh = SubResource( 1 ) +skeleton = NodePath("../CollisionShape") +material/0 = SubResource( 3 ) + +[node name="CollisionShape" type="CollisionShape" parent="."] +transform = Transform( 10, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0 ) +shape = SubResource( 2 ) diff --git a/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn b/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn new file mode 100644 index 0000000..dc25498 --- /dev/null +++ b/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://scenes/levels/test_scene_uuuhhh/Wall.tscn" type="PackedScene" id=1] +[ext_resource path="res://scenes/levels/test_scene_uuuhhh/Floor.tscn" type="PackedScene" id=2] +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=3] + +[node name="TestScene" type="Spatial"] + +[node name="Floor" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0290833, -0.981747, 0.00208664 ) + +[node name="Floor2" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -20 ) + +[node name="Floor3" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20, -1, 0 ) + +[node name="Floor4" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20, -1, -20 ) + +[node name="Floor5" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 40, -1, 0 ) + +[node name="Floor6" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 40, -1, -20 ) + +[node name="Wall" parent="." instance=ExtResource( 1 )] +transform = Transform( 0.766044, 0, 0.642788, 0, 2, 0, -0.642788, 0, 0.766044, 19.47, 0, -14 ) + +[node name="Die" parent="." instance=ExtResource( 3 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.759363, 4.18965, -3.60846 ) diff --git a/godot/scenes/levels/test_scene_movement/Wall.tscn b/godot/scenes/levels/test_scene_movement/Wall.tscn new file mode 100644 index 0000000..e3afe23 --- /dev/null +++ b/godot/scenes/levels/test_scene_movement/Wall.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://assets/textures/sandstone-brick-wall-texture.jpg" type="Texture" id=1] + +[sub_resource type="CubeMesh" id=1] + +[sub_resource type="SpatialMaterial" id=2] +albedo_texture = ExtResource( 1 ) + +[sub_resource type="ConvexPolygonShape" id=3] +points = PoolVector3Array( 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1 ) + +[node name="StaticBody" type="StaticBody"] + +[node name="MeshInstance" type="MeshInstance" parent="."] +transform = Transform( 0.3, 0, 0, 0, 1, 0, 0, 0, 5, 0, 1, 0 ) +mesh = SubResource( 1 ) +skeleton = NodePath("") +material/0 = SubResource( 2 ) + +[node name="CollisionShape" type="CollisionShape" parent="."] +transform = Transform( 0.3, 0, 0, 0, 1, 0, 0, 0, 5, 0, 1, 0 ) +shape = SubResource( 3 ) diff --git a/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn b/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn index a8f9003..0820451 100644 --- a/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn +++ b/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn @@ -4,7 +4,7 @@ [ext_resource path="res://scenes/levels/test_scene_uuuhhh/Floor.tscn" type="PackedScene" id=2] [ext_resource path="res://scenes/scripts/roblox-cube.gd" type="Script" id=3] [ext_resource path="res://assets/sounds/Uuhhh.mp3" type="AudioStream" id=4] -[ext_resource path="res://scenes/objects/W8.tscn" type="PackedScene" id=5] +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=5] [node name="TestScene" type="Spatial"] diff --git a/godot/scenes/objects/Camera.tscn b/godot/scenes/objects/Camera.tscn new file mode 100644 index 0000000..1c13dd0 --- /dev/null +++ b/godot/scenes/objects/Camera.tscn @@ -0,0 +1,10 @@ +[gd_scene format=2] + +[node name="CameraRoot" type="Spatial"] + +[node name="CameraArmHorizontal" type="Spatial" parent="."] + +[node name="CameraArmVertical" type="Spatial" parent="CameraArmHorizontal"] + +[node name="Camera" type="Camera" parent="CameraArmHorizontal/CameraArmVertical"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10 ) diff --git a/godot/scenes/objects/Player.tscn b/godot/scenes/objects/Player.tscn new file mode 100644 index 0000000..cc3662e --- /dev/null +++ b/godot/scenes/objects/Player.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://scenes/objects/W8.tscn" type="PackedScene" id=1] +[ext_resource path="res://scenes/objects/Camera.tscn" type="PackedScene" id=2] +[ext_resource path="res://native/BasicDie.gdns" type="Script" id=3] + +[node name="PlayerRoot" type="Spatial"] +script = ExtResource( 3 ) +camera/camera_clamp = Vector2( 0, -1.3 ) +shooting/max_force = 30.0 +shooting/up_angle = 0.3 +shooting/stopping_velocity = 0.003 + +[node name="W8" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0 ) + +[node name="Camera" parent="." instance=ExtResource( 2 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0 ) diff --git a/godot/scenes/objects/Scoreboard.gd b/godot/scenes/objects/Scoreboard.gd new file mode 100644 index 0000000..0f6d32b --- /dev/null +++ b/godot/scenes/objects/Scoreboard.gd @@ -0,0 +1,22 @@ +extends Control + +func update_values(values, pars): + $Panel/GridContainer/Player0.text = "%d" % values[0] + $Panel/GridContainer/Player1.text = "%d" % values[1] + $Panel/GridContainer/Player2.text = "%d" % values[2] + $Panel/GridContainer/Player3.text = "%d" % values[3] + $Panel/GridContainer/Player4.text = "%d" % values[4] + $Panel/GridContainer/Player5.text = "%d" % values[5] + $Panel/GridContainer/Player6.text = "%d" % values[6] + $Panel/GridContainer/Player7.text = "%d" % values[7] + $Panel/GridContainer/Player8.text = "%d" % values[8] + + $Panel/GridContainer/Par0.text = "%d" % pars[0] + $Panel/GridContainer/Par1.text = "%d" % pars[1] + $Panel/GridContainer/Par2.text = "%d" % pars[2] + $Panel/GridContainer/Par3.text = "%d" % pars[3] + $Panel/GridContainer/Par4.text = "%d" % pars[4] + $Panel/GridContainer/Par5.text = "%d" % pars[5] + $Panel/GridContainer/Par6.text = "%d" % pars[6] + $Panel/GridContainer/Par7.text = "%d" % pars[7] + $Panel/GridContainer/Par8.text = "%d" % pars[8] diff --git a/godot/scenes/objects/Scoreboard.tscn b/godot/scenes/objects/Scoreboard.tscn new file mode 100644 index 0000000..ab9c887 --- /dev/null +++ b/godot/scenes/objects/Scoreboard.tscn @@ -0,0 +1,433 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://assets/theme.tres" type="Theme" id=1] +[ext_resource path="res://scenes/objects/Scoreboard.gd" type="Script" id=2] + +[node name="Scoreboard" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -0.320004 +margin_bottom = 0.48 +script = ExtResource( 2 ) + +[node name="Panel" type="Panel" parent="."] +anchor_right = 1.0 +anchor_bottom = 0.952 +margin_left = 120.0 +margin_top = 120.0 +margin_right = -119.68 +margin_bottom = -665.617 + +[node name="GridContainer" type="GridContainer" parent="Panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 50.0 +margin_top = 50.0 +columns = 10 + +[node name="LabelHeader" type="Label" parent="Panel/GridContainer"] +margin_right = 159.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "Hole" +align = 3 +valign = 3 +autowrap = true + +[node name="Label" type="Label" parent="Panel/GridContainer"] +margin_left = 163.0 +margin_right = 322.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "1" +align = 3 +valign = 3 +autowrap = true + +[node name="Label2" type="Label" parent="Panel/GridContainer"] +margin_left = 326.0 +margin_right = 485.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "2" +align = 3 +valign = 3 +autowrap = true + +[node name="Label3" type="Label" parent="Panel/GridContainer"] +margin_left = 489.0 +margin_right = 648.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "3" +align = 3 +valign = 3 +autowrap = true + +[node name="Label4" type="Label" parent="Panel/GridContainer"] +margin_left = 652.0 +margin_right = 811.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "4" +align = 3 +valign = 3 +autowrap = true + +[node name="Label5" type="Label" parent="Panel/GridContainer"] +margin_left = 815.0 +margin_right = 974.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "5" +align = 3 +valign = 3 +autowrap = true + +[node name="Label6" type="Label" parent="Panel/GridContainer"] +margin_left = 978.0 +margin_right = 1137.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "6" +align = 3 +valign = 3 +autowrap = true + +[node name="Label7" type="Label" parent="Panel/GridContainer"] +margin_left = 1141.0 +margin_right = 1300.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "7" +align = 3 +valign = 3 +autowrap = true + +[node name="Label8" type="Label" parent="Panel/GridContainer"] +margin_left = 1304.0 +margin_right = 1463.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "8" +align = 3 +valign = 3 +autowrap = true + +[node name="Label9" type="Label" parent="Panel/GridContainer"] +margin_left = 1467.0 +margin_right = 1626.0 +margin_bottom = 51.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "9" +align = 3 +valign = 3 +autowrap = true + +[node name="LabelHeader2" type="Label" parent="Panel/GridContainer"] +margin_top = 55.0 +margin_right = 159.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "Par" +align = 3 +valign = 3 +autowrap = true + +[node name="Par0" type="Label" parent="Panel/GridContainer"] +margin_left = 163.0 +margin_top = 55.0 +margin_right = 322.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par1" type="Label" parent="Panel/GridContainer"] +margin_left = 326.0 +margin_top = 55.0 +margin_right = 485.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par2" type="Label" parent="Panel/GridContainer"] +margin_left = 489.0 +margin_top = 55.0 +margin_right = 648.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par3" type="Label" parent="Panel/GridContainer"] +margin_left = 652.0 +margin_top = 55.0 +margin_right = 811.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par4" type="Label" parent="Panel/GridContainer"] +margin_left = 815.0 +margin_top = 55.0 +margin_right = 974.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par5" type="Label" parent="Panel/GridContainer"] +margin_left = 978.0 +margin_top = 55.0 +margin_right = 1137.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par6" type="Label" parent="Panel/GridContainer"] +margin_left = 1141.0 +margin_top = 55.0 +margin_right = 1300.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par7" type="Label" parent="Panel/GridContainer"] +margin_left = 1304.0 +margin_top = 55.0 +margin_right = 1463.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Par8" type="Label" parent="Panel/GridContainer"] +margin_left = 1467.0 +margin_top = 55.0 +margin_right = 1626.0 +margin_bottom = 106.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="LabelHeader3" type="Label" parent="Panel/GridContainer"] +margin_top = 110.0 +margin_right = 159.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "Player" +align = 3 +valign = 3 +autowrap = true + +[node name="Player0" type="Label" parent="Panel/GridContainer"] +margin_left = 163.0 +margin_top = 110.0 +margin_right = 322.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player1" type="Label" parent="Panel/GridContainer"] +margin_left = 326.0 +margin_top = 110.0 +margin_right = 485.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player2" type="Label" parent="Panel/GridContainer"] +margin_left = 489.0 +margin_top = 110.0 +margin_right = 648.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player3" type="Label" parent="Panel/GridContainer"] +margin_left = 652.0 +margin_top = 110.0 +margin_right = 811.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player4" type="Label" parent="Panel/GridContainer"] +margin_left = 815.0 +margin_top = 110.0 +margin_right = 974.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player5" type="Label" parent="Panel/GridContainer"] +margin_left = 978.0 +margin_top = 110.0 +margin_right = 1137.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player6" type="Label" parent="Panel/GridContainer"] +margin_left = 1141.0 +margin_top = 110.0 +margin_right = 1300.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player7" type="Label" parent="Panel/GridContainer"] +margin_left = 1304.0 +margin_top = 110.0 +margin_right = 1463.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true + +[node name="Player8" type="Label" parent="Panel/GridContainer"] +margin_left = 1467.0 +margin_top = 110.0 +margin_right = 1626.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +size_flags_stretch_ratio = 20.0 +theme = ExtResource( 1 ) +text = "0" +align = 3 +valign = 3 +autowrap = true diff --git a/godot/scenes/objects/W8.tscn b/godot/scenes/objects/W8.tscn index 91f58eb..8766011 100644 --- a/godot/scenes/objects/W8.tscn +++ b/godot/scenes/objects/W8.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://assets/game_objects/W8baseColor_Mat.material" type="Material" id=2] @@ -20,12 +20,27 @@ surfaces/0 = { [sub_resource type="ConvexPolygonShape" id=2] points = PoolVector3Array( -0.0850063, -0.879389, -0.0282584, 0.0288993, 0.929375, 0.0289349, 0.0288993, 0.929375, -0.0289349, 0.929367, -0.0289314, 0.0289314, -0.0289784, -0.0289338, 0.929338, -0.929369, 0.028929, 0.028929, 0.0288993, -0.0289349, -0.929375, 0.0288993, -0.929375, 0.0289349, -0.0850063, 0.0282584, -0.879389, 0.0282247, 0.084959, 0.87945, 0.857489, 0.056933, -0.0855785, -0.879454, -0.0849424, 0.0282549, 0.0570775, -0.885814, -0.0571088, 0.0570775, -0.0571088, 0.885814, -0.0571532, 0.885743, -0.0571043, -0.0571532, 0.885743, 0.0571043, 0.0570775, 0.0571088, -0.885814, -0.885806, -0.057097, -0.057097, 0.879446, 0.0849494, 0.0282572, 0.857335, -0.0571018, -0.0855632, -0.0571532, 0.0571043, 0.885743, -0.0571532, -0.885743, 0.0571043, -0.885806, 0.057097, -0.057097, -0.0571532, -0.0571043, -0.885743, 0.0570775, 0.0571088, 0.885814, -0.0571532, -0.885743, -0.0571043, -0.0571532, 0.0571043, -0.885743, 0.0570775, -0.885814, 0.0571088, 0.0570775, 0.885814, 0.0571088, -0.0571532, -0.0571043, 0.885743, -0.885806, 0.057097, 0.057097, 0.0570775, 0.885814, -0.0571088, 0.0570775, -0.0571088, -0.885814, 0.857335, -0.0571018, 0.0855632, -0.885806, -0.057097, 0.057097, 0.857489, 0.056933, 0.0855785, 0.929425, 0.0287513, -0.0289333, 0.929367, -0.0289314, -0.0289314, -0.0289784, 0.929338, -0.0289338, 0.0288993, 0.0289349, -0.929375, -0.929369, -0.028929, -0.028929, -0.0283039, -0.87942, -0.0849561, 0.084933, 0.0282608, 0.879461, -0.0289784, 0.929338, 0.0289338, -0.0289784, -0.0289338, -0.929338, -0.0289784, 0.0289338, 0.929338, 0.0288993, -0.0289349, 0.929375, 0.0288993, -0.929375, -0.0289349, -0.0289784, -0.929338, 0.0289338, -0.929369, 0.028929, -0.028929, -0.0283039, 0.0849561, -0.87942, -0.879454, -0.0282549, 0.0849424, 0.879512, 0.0280816, 0.0849558, 0.879446, -0.0849494, -0.0282572, -0.0282988, -0.822574, 0.141805, 0.17021, 0.0280745, -0.794261, -0.879454, 0.0849424, -0.0282549, -0.0283039, 0.87942, 0.0849561, 0.0282247, 0.87945, -0.084959, 0.0282247, -0.084959, -0.87945, -0.879454, -0.0282549, -0.0849424, -0.0850063, 0.0282584, 0.879389, -0.0850063, 0.879389, 0.0282584, 0.084933, -0.0282608, 0.879461 ) +[sub_resource type="SphereShape" id=3] + +[sub_resource type="SphereMesh" id=4] + [node name="RigidBody" type="RigidBody"] -[node name="Cone" type="MeshInstance" parent="."] +[node name="MeshDie" type="MeshInstance" parent="."] mesh = SubResource( 1 ) skeleton = NodePath("../..") material/0 = null -[node name="CollisionShape" type="CollisionShape" parent="."] +[node name="CollisionShapeDie" type="CollisionShape" parent="."] shape = SubResource( 2 ) + +[node name="CollisionShapeSphere" type="CollisionShape" parent="."] +transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0 ) +shape = SubResource( 3 ) +disabled = true + +[node name="MeshSphere" type="MeshInstance" parent="."] +transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0 ) +visible = false +mesh = SubResource( 4 ) +material/0 = ExtResource( 2 ) diff --git a/godot/scenes/objects/old/Die.tscn b/godot/scenes/objects/old/Die.tscn new file mode 100644 index 0000000..cab0d15 --- /dev/null +++ b/godot/scenes/objects/old/Die.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=1] + +[node name="Die" type="Spatial"] + +[node name="Die" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0 ) + +[node name="CamRoot" type="Spatial" parent="Die"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.1, 0 ) diff --git a/godot/scenes/scripts/roblox-cube.gd b/godot/scenes/scripts/roblox-cube.gd deleted file mode 100644 index 453067b..0000000 --- a/godot/scenes/scripts/roblox-cube.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends Spatial - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" -func on_collision(other): - var ap = get_parent().get_node("AudioStreamPlayer") - ap.play() - - -# Called when the node enters the scene tree for the first time. -func _ready(): - var rb = self - rb.apply_impulse(Vector3(), Vector3(40, 1, 10)) - rb.connect("body_entered", self, "on_collision") - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - |