Ajout de l'amélioration du modèle du robot au cours de l'histoire, d'une annonce sur cette amélioration ainsi qu'un succès à l'utilisation de toutes les incubateurs d'orchid dans une base

This commit is contained in:
2026-07-10 16:25:33 +02:00
parent be33225d4d
commit cb5a2421ae
32 changed files with 254 additions and 51 deletions
+29 -7
View File
@@ -4,11 +4,11 @@ class_name Announce
const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
@export var announce_object : AnnouceObject = null : set = set_announce_object
@export var announce_object : AnnounceObject = null : set = set_announce_object
@export_tool_button("Update", "Callable") var update_action = set_announce_object
var announce_objects : Array[AnnouceObject] = []
var announce_objects : Array[AnnounceObject] = []
var object_acceleration := Vector2(0,0)
@@ -33,6 +33,26 @@ func _ready():
GameInfo.game_data.item_announced.append(i.name)
)
if (
GameInfo.game_data.max_energy_announced != GameInfo.game_data.player_data.max_energy
):
announce_objects.append(AnnounceModel.new(
tr("UPGRADED_MAX_ENERGY_TO_%d") % GameInfo.game_data.player_data.max_energy
))
GameInfo.game_data.max_energy_announced = GameInfo.game_data.player_data.max_energy
if (
GameInfo.game_data.max_inventory_announced != GameInfo.game_data.player_data.inventory.seeds_size
):
announce_objects.append(AnnounceModel.new(
tr("UPGRADED_INVENTORY_SIZE_TO_%d") % GameInfo.game_data.player_data.inventory.seeds_size
))
GameInfo.game_data.max_inventory_announced = GameInfo.game_data.player_data.inventory.seeds_size
func _process(delta):
if announce_object == null and not visible and len(announce_objects) > 0:
announce_object = announce_objects.pop_front()
@@ -71,18 +91,20 @@ func update_rotation(delta):
else :
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
%AnnounceObject.rotate(Vector3.UP, object_rotation.x * delta)
%AnnounceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
func set_announce_object(object := announce_object):
Pointer.action_disabled = not object
if is_node_ready() and object:
for children in %AnnouceObject.get_children():
for children in %AnnounceObject.get_children():
children.queue_free()
%AnnouceObject.add_child(object.get_3d_object())
%AnnouceObject.rotation = Vector3.ZERO
%Camera3D.position.z = object.get_camera_z_pos()
%AnnounceObject.add_child(object.get_3d_object())
%AnnounceObject.rotation = Vector3.ZERO
%AnnounceTitle.text = object.get_title()
%AnnounceText.text = object.get_text()
%AnnounceDesc.text = object.get_desc()
@@ -0,0 +1,32 @@
@tool
extends AnnounceObject
class_name AnnounceModel
const ORCHID_3D_SCENE = preload("res://entities/player_3d/resources/3d_orchid.blend")
@export var text : String
func _init(
_text := text
):
text = _text
func get_3d_object() -> Node3D:
return ORCHID_3D_SCENE.instantiate()
func get_title() -> String:
return "MODEL_HAS_BEEN_UPGRADED"
func get_text() -> String:
return text
func get_camera_z_pos() -> float:
return 5.
func get_card_info() -> CardInfo:
return null
func _on_dismiss():
pass
# GameInfo.game_data.player_data.tool_discovered.append(tool_item.get_item_name())
@@ -0,0 +1 @@
uid://dnemq1wa14s8g
@@ -1,6 +1,6 @@
@abstract
extends Resource
class_name AnnouceObject
class_name AnnounceObject
var desc := ""
var image : Texture = null
@@ -17,6 +17,9 @@ func get_desc() -> String:
func get_image() -> Texture:
return image
func get_camera_z_pos() -> float:
return 1.0
@abstract func get_card_info() -> CardInfo
@abstract func _on_dismiss()
@@ -1,5 +1,5 @@
@tool
extends AnnouceObject
extends AnnounceObject
class_name AnnounceTool
const ITEM_3D_SCENE = preload("res://gui/game/inventory_gui/inventory_item/inventory_item_3d.tscn")