summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-25 16:32:35 +0200
committertpart <tpart120@proton.me>2024-09-25 16:32:35 +0200
commit21821eac5fe382b124f96d5a1a3ce7cef877e12e (patch)
treeea76b4dc5e70f37f6ba93793af076fb9a43ddb63
parentc05c39a5818811518494c69f1c2909185e9719c7 (diff)
downloadhurrycurry-21821eac5fe382b124f96d5a1a3ce7cef877e12e.tar
hurrycurry-21821eac5fe382b124f96d5a1a3ce7cef877e12e.tar.bz2
hurrycurry-21821eac5fe382b124f96d5a1a3ce7cef877e12e.tar.zst
Make pinned orders grayscale
-rw-r--r--client/menu/communicate/item/item_message.gd11
-rw-r--r--client/menu/communicate/item/item_render.gd7
-rw-r--r--client/menu/communicate/popup_message/pinned_item_messages.gd2
-rw-r--r--client/menu/grayscale_material.tres6
4 files changed, 23 insertions, 3 deletions
diff --git a/client/menu/communicate/item/item_message.gd b/client/menu/communicate/item/item_message.gd
index b99e8552..bd517d1d 100644
--- a/client/menu/communicate/item/item_message.gd
+++ b/client/menu/communicate/item/item_message.gd
@@ -17,16 +17,25 @@
class_name ItemMessage
extends Control
+const GRAYSCALE_MAT := preload("res://menu/grayscale_material.tres")
+
+@export var enable_rotation := true
+@export var enable_grayscale := false
+
var timeout_remaining := 0.
var timeout_initial := 0.
@onready var item_render: ItemRender = $VBoxContainer/SubViewportContainer/SubViewport/ItemRender
@onready var progress: ProgressBar = $VBoxContainer/ProgressBar
@onready var sub_viewport: SubViewport = $VBoxContainer/SubViewportContainer/SubViewport
+@onready var sub_viewport_container: SubViewportContainer = $VBoxContainer/SubViewportContainer
@onready var v_box_container: VBoxContainer = $VBoxContainer
func _ready() -> void:
Global.configure_viewport_aa(sub_viewport, Global.get_setting("graphics.aa"))
+
+ if enable_grayscale:
+ sub_viewport_container.material = GRAYSCALE_MAT
func set_subviewport_size(sub_viewport_size: Vector2):
sub_viewport.size = sub_viewport_size
@@ -43,7 +52,7 @@ func set_round_corner_radius_progress(radius: int):
style_fill.corner_radius_bottom_right = radius
func set_item(item_name: String, timeout_initial_: float, timeout_remaining_: float):
- item_render.set_item(item_name)
+ item_render.set_item(item_name, enable_rotation)
timeout_remaining = timeout_remaining_
timeout_initial = timeout_initial_
diff --git a/client/menu/communicate/item/item_render.gd b/client/menu/communicate/item/item_render.gd
index cd7d726a..d0a9c49b 100644
--- a/client/menu/communicate/item/item_render.gd
+++ b/client/menu/communicate/item/item_render.gd
@@ -17,14 +17,16 @@ extends Node3D
class_name ItemRender
var item: Item
+var rotate: bool
@onready var base = $ItemBase
-func set_item(item_name: String):
+func set_item(item_name: String, enable_rotation := true):
if item != null:
remove_item()
item = ItemFactory.produce(item_name, base)
+ rotate = enable_rotation
base.add_child(item)
func remove_item():
@@ -32,4 +34,5 @@ func remove_item():
item.queue_free()
func _process(delta: float):
- base.rotation.y += delta * TAU * .025
+ if rotate:
+ base.rotation.y += delta * TAU * .025
diff --git a/client/menu/communicate/popup_message/pinned_item_messages.gd b/client/menu/communicate/popup_message/pinned_item_messages.gd
index 3d7df81e..0d032a0d 100644
--- a/client/menu/communicate/popup_message/pinned_item_messages.gd
+++ b/client/menu/communicate/popup_message/pinned_item_messages.gd
@@ -26,6 +26,8 @@ var pinned_items := {}
func pin_item(item_name: String, timeout_initial_: float, timeout_remaining_: float, player_id: float):
var item_message: ItemMessage = ITEM_MESSAGE_SCENE.instantiate()
item_message.remove_theme_stylebox_override("panel")
+ item_message.enable_rotation = false
+ item_message.enable_grayscale = true
item_message.add_theme_stylebox_override("panel", PAPER_PANEL_STYLE)
pinned_items_container.add_child(item_message)
item_message.set_subviewport_size(Vector2(96, 84))
diff --git a/client/menu/grayscale_material.tres b/client/menu/grayscale_material.tres
new file mode 100644
index 00000000..06d5e698
--- /dev/null
+++ b/client/menu/grayscale_material.tres
@@ -0,0 +1,6 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bplhkekj6rebp"]
+
+[ext_resource type="Shader" path="res://menu/grayscale.gdshader" id="1_u0c2c"]
+
+[resource]
+shader = ExtResource("1_u0c2c")