Mask setup
This commit is contained in:
@@ -1,7 +1,21 @@
|
||||
@tool
|
||||
extends Node2D
|
||||
class_name Mask
|
||||
|
||||
@export var mask_resource: MaskResource:
|
||||
set(new_resource):
|
||||
mask_resource = new_resource
|
||||
_on_mask_resource_changed()
|
||||
if mask_resource == null:
|
||||
return
|
||||
mask_resource.changed.connect(_on_mask_resource_changed)
|
||||
|
||||
@onready var mask_sprite: Sprite2D = $MaskSprite
|
||||
|
||||
|
||||
func _on_mask_resource_changed() -> void:
|
||||
mask_sprite.texture = mask_resource.mask_sprite
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
@@ -9,4 +23,17 @@ func _ready() -> void:
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
if Engine.is_editor_hint():
|
||||
_engine_process(delta)
|
||||
else:
|
||||
_game_process(delta)
|
||||
|
||||
|
||||
func _game_process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _engine_process(delta: float) -> void:
|
||||
if mask_resource == null:
|
||||
return
|
||||
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
|
||||
[ext_resource type="Script" uid="uid://cfo3mk5f2q3ej" path="res://scenes/mask/mask.gd" id="1_61b51"]
|
||||
[ext_resource type="Texture2D" uid="uid://cftllq6l7xclt" path="res://icon.svg" id="1_jlvus"]
|
||||
[ext_resource type="Resource" uid="uid://pdiaprcknftw" path="res://resources/masks/mute.tres" id="2_0pm64"]
|
||||
|
||||
[node name="Mask" type="Node2D" unique_id=428968220]
|
||||
script = ExtResource("1_61b51")
|
||||
mask_resource = ExtResource("2_0pm64")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1997645103]
|
||||
[node name="MaskSprite" type="Sprite2D" parent="." unique_id=1997645103]
|
||||
texture = ExtResource("1_jlvus")
|
||||
|
||||
45
scenes/mask/mask_resource.gd
Normal file
45
scenes/mask/mask_resource.gd
Normal file
@@ -0,0 +1,45 @@
|
||||
@tool
|
||||
extends Resource
|
||||
class_name MaskResource
|
||||
|
||||
enum Region {
|
||||
EYES,
|
||||
MOUTH,
|
||||
}
|
||||
|
||||
@export_category("General")
|
||||
@export var mask_sprite: Texture2D:
|
||||
set(value):
|
||||
mask_sprite = value
|
||||
changed.emit()
|
||||
|
||||
@export var region: Region:
|
||||
set(value):
|
||||
region = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Stimuli")
|
||||
@export var stimuli: Trait.Stimuli:
|
||||
set(value):
|
||||
stimuli = value
|
||||
changed.emit()
|
||||
@export var stimuli_multiplier: float = 1.0:
|
||||
set(value):
|
||||
stimuli_multiplier = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Category")
|
||||
@export var category: Trait.Category:
|
||||
set(value):
|
||||
category = value
|
||||
changed.emit()
|
||||
@export var category_multiplier: float = 1.0:
|
||||
set(value):
|
||||
category_multiplier = value
|
||||
changed.emit()
|
||||
|
||||
@export_category("Tags")
|
||||
@export var tags_multipliers: Dictionary[Trait.Tag, CharacterResource.Preference]:
|
||||
set(value):
|
||||
tags_multipliers = value
|
||||
changed.emit()
|
||||
1
scenes/mask/mask_resource.gd.uid
Normal file
1
scenes/mask/mask_resource.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d26mv2xtvmpqt
|
||||
Reference in New Issue
Block a user