From 36f1a2024be66d89b6adfb07965193dce4e4c9da Mon Sep 17 00:00:00 2001
From: Henrique Alves <henrique.alves@itsjungle.xyz>
Date: Sun, 28 Jan 2024 16:01:09 +0200
Subject: Fixed flowers delivery

---
 game/main.gd                                       |  6 +--
 .../flowers_delivery/flowers_delivery.gd           |  6 ++-
 .../flowers_delivery/flowers_delivery.tscn         | 56 +++++++++++++++++++++-
 game/microgames/flowers_delivery/player.gd         | 24 ++++++----
 game/transition/transition.tscn                    |  8 ++--
 5 files changed, 81 insertions(+), 19 deletions(-)

(limited to 'game')

diff --git a/game/main.gd b/game/main.gd
index 7e32d1e..5254527 100644
--- a/game/main.gd
+++ b/game/main.gd
@@ -2,9 +2,9 @@ extends Node2D
 
 var MICROGAMES = [
 	preload("res://game/microgames/flowers_delivery/flowers_delivery.tscn"),
-	preload("res://game/microgames/heart_break/heart_break.tscn"),
-	preload("res://game/microgames/find_window/find_window.tscn"),
-	preload("res://game/microgames/baseball_kiss/baseball_kiss.tscn")
+	#preload("res://game/microgames/heart_break/heart_break.tscn"),
+	#preload("res://game/microgames/find_window/find_window.tscn"),
+	#preload("res://game/microgames/baseball_kiss/baseball_kiss.tscn")
 	]
 
 @onready var transition: Transition = %Transition
diff --git a/game/microgames/flowers_delivery/flowers_delivery.gd b/game/microgames/flowers_delivery/flowers_delivery.gd
index d7f8772..648b77f 100644
--- a/game/microgames/flowers_delivery/flowers_delivery.gd
+++ b/game/microgames/flowers_delivery/flowers_delivery.gd
@@ -3,4 +3,8 @@ extends Microgame
 
 # Called when the node enters the scene tree for the first time.
 func _microgame_ready() -> void:
-	pass
+	$Player.died.connect(_on_died)
+
+
+func _on_died():
+	finished.emit(false)
diff --git a/game/microgames/flowers_delivery/flowers_delivery.tscn b/game/microgames/flowers_delivery/flowers_delivery.tscn
index ce24711..5b6d052 100644
--- a/game/microgames/flowers_delivery/flowers_delivery.tscn
+++ b/game/microgames/flowers_delivery/flowers_delivery.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=9 format=3 uid="uid://cxxawcp2cuijl"]
+[gd_scene load_steps=16 format=3 uid="uid://cxxawcp2cuijl"]
 
 [ext_resource type="Texture2D" uid="uid://dbohkvl4ryqbk" path="res://game/microgames/flowers_delivery/assets/girlfriend.png" id="1_isthg"]
 [ext_resource type="Script" path="res://game/microgames/flowers_delivery/flowers_delivery.gd" id="1_jhoh1"]
@@ -30,6 +30,33 @@ animations = [{
 "speed": 5.0
 }]
 
+[sub_resource type="SphereShape3D" id="SphereShape3D_14drw"]
+radius = 0.592209
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_k71dv"]
+size = Vector3(1, 1, 0.189453)
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kdus0"]
+albedo_color = Color(0.360784, 0.388235, 0.121569, 1)
+
+[sub_resource type="BoxMesh" id="BoxMesh_xy5s1"]
+size = Vector3(100, 1, 100)
+
+[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_qo3aw"]
+sky_top_color = Color(0.317647, 0.333333, 0.976471, 1)
+sky_horizon_color = Color(0.556863, 0.639216, 0.929412, 1)
+sky_curve = 0.0803831
+ground_bottom_color = Color(0.478431, 0.54902, 0.992157, 1)
+ground_horizon_color = Color(0.556863, 0.639216, 0.929412, 1)
+ground_curve = 0.970057
+
+[sub_resource type="Sky" id="Sky_4ims1"]
+sky_material = SubResource("ProceduralSkyMaterial_qo3aw")
+
+[sub_resource type="Environment" id="Environment_lochx"]
+background_mode = 2
+sky = SubResource("Sky_4ims1")
+
 [node name="FlowersDelivery" type="Node3D"]
 script = ExtResource("1_jhoh1")
 instructions = "Meet your girlfriend!"
@@ -39,6 +66,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.45863, 1.42701, 0)
 billboard = 1
 texture = ExtResource("1_isthg")
 
+[node name="Label3D" type="Label3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.55688, 3.35267, 7.68148)
+text = "Get Down!"
+font_size = 200
+outline_size = 48
+
 [node name="Player" type="AnimatedSprite3D" parent="."]
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 13.663)
 billboard = 1
@@ -50,8 +83,27 @@ script = ExtResource("3_kgimw")
 [node name="Camera3D" type="Camera3D" parent="Player"]
 transform = Transform3D(0.568531, 0.293446, -0.768545, 0, 0.934218, 0.356704, 0.822662, -0.202797, 0.531132, -3.65287, 1.74709, 2.17253)
 
-[node name="Sprite3D" type="Sprite3D" parent="."]
+[node name="Area3D" type="Area3D" parent="Player"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.933393, 0)
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Player/Area3D"]
+shape = SubResource("SphereShape3D_14drw")
+
+[node name="Obstacle" type="Sprite3D" parent="."]
 transform = Transform3D(10, 0, 0, 0, 0.4, 0, 0, 0, 1, 1.5768, 2.47888, 7.67072)
 modulate = Color(1, 0.301961, 0.231373, 1)
 pixel_size = 1.0
 texture = ExtResource("6_omk1m")
+
+[node name="Area3D" type="Area3D" parent="Obstacle"]
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Obstacle/Area3D"]
+shape = SubResource("BoxShape3D_k71dv")
+
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.900292, 0)
+material_override = SubResource("StandardMaterial3D_kdus0")
+mesh = SubResource("BoxMesh_xy5s1")
+
+[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
+environment = SubResource("Environment_lochx")
diff --git a/game/microgames/flowers_delivery/player.gd b/game/microgames/flowers_delivery/player.gd
index 9f22d08..e0ea06f 100644
--- a/game/microgames/flowers_delivery/player.gd
+++ b/game/microgames/flowers_delivery/player.gd
@@ -1,15 +1,21 @@
 extends AnimatedSprite3D
 
-func _ready() -> void:
-	pass
+signal died
+var _died = false
 
 
 func _process(delta: float) -> void:
-	position.z -= delta * 3
+	if not _died:
+		position.z -= delta * 3
+		
+		if Input.is_anything_pressed():
+			animation = "dodge"
+			offset.y = -100.0
+		else:
+			animation = "default"
+			offset.y = 0.0
 	
-	if Input.is_anything_pressed():
-		animation = "dodge"
-		offset.y = -100.0
-	else:
-		animation = "default"
-		offset.y = 0.0
+		if ($Area3D as Area3D).has_overlapping_areas():
+			if animation == "default":
+				_died = true
+				died.emit()
diff --git a/game/transition/transition.tscn b/game/transition/transition.tscn
index a1145fb..6f26535 100644
--- a/game/transition/transition.tscn
+++ b/game/transition/transition.tscn
@@ -379,10 +379,10 @@ anchor_left = 0.5
 anchor_top = 0.5
 anchor_right = 0.5
 anchor_bottom = 0.5
-offset_left = 7999.0
-offset_top = 4096.0
-offset_right = 8235.0
-offset_bottom = 4206.0
+offset_left = 8575.0
+offset_top = 4420.0
+offset_right = 8811.0
+offset_bottom = 4530.0
 grow_horizontal = 2
 grow_vertical = 2
 text = "blabla"
-- 
cgit v1.2.3