35 lines
660 B
GDScript
35 lines
660 B
GDScript
extends Node3D
|
|
class_name Item
|
|
|
|
|
|
|
|
var item_name
|
|
var shelf_owner
|
|
var is_being_used: bool
|
|
|
|
var outline_material: ShaderMaterial
|
|
var static_body: StaticBody3D
|
|
|
|
func _ready() -> void:
|
|
set_outline_shader()
|
|
|
|
func use():
|
|
print(str(self) + "is used")
|
|
|
|
|
|
func set_outline_shader():
|
|
static_body = $StaticBody3D
|
|
static_body.mouse_entered.connect(_on_mouse_enter)
|
|
static_body.mouse_exited.connect(_on_mouse_exit)
|
|
|
|
func _on_mouse_enter():
|
|
enable_outline()
|
|
func _on_mouse_exit():
|
|
disable_outline()
|
|
|
|
|
|
func enable_outline():
|
|
outline_material.set_shader_parameter("is_active", true)
|
|
func disable_outline():
|
|
outline_material.set_shader_parameter("is_active", false)
|