Basic dialogue components
This commit is contained in:
parent
441b8e1ea2
commit
3cbdc58a72
8 changed files with 60 additions and 0 deletions
7
scripts/resources/dialogue/branching_resource.gd
Normal file
7
scripts/resources/dialogue/branching_resource.gd
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
@tool
|
||||||
|
extends Resource
|
||||||
|
|
||||||
|
class_name BranchingResource
|
||||||
|
|
||||||
|
func get_next() -> Variant:
|
||||||
|
return null
|
1
scripts/resources/dialogue/branching_resource.gd.uid
Normal file
1
scripts/resources/dialogue/branching_resource.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://bit3qw47h3q5c
|
32
scripts/resources/dialogue/dialogue.gd
Normal file
32
scripts/resources/dialogue/dialogue.gd
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
@tool
|
||||||
|
extends BranchingResource
|
||||||
|
|
||||||
|
## Ресурс для диалога.
|
||||||
|
|
||||||
|
class_name Dialogue
|
||||||
|
|
||||||
|
## Энум триггера для сюжета. Пример: опция "я ненавижу тебя", очевидно, должна
|
||||||
|
## заставить отношение персонажа ухудшится.
|
||||||
|
## TODO: Дополнять по возможности
|
||||||
|
enum TriggerType
|
||||||
|
{
|
||||||
|
NONE = 0,
|
||||||
|
CHAT_END = 1,
|
||||||
|
REPUTATION = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
## Уникальный идентификатор диалоговой опции
|
||||||
|
@export var id : StringName
|
||||||
|
## TODO: Заменить инт на класс/энум персонажа
|
||||||
|
@export var person : int
|
||||||
|
## Ключ в таблице локализаций
|
||||||
|
@export var text_key : StringName
|
||||||
|
## Следующий BranchingResource
|
||||||
|
@export var next_branch : BranchingResource
|
||||||
|
## Тип триггера, если есть
|
||||||
|
@export var trigger_type : TriggerType = TriggerType.NONE
|
||||||
|
## Опционально: данные для триггера. Чтобы узнать, какие ключи требуются, см. TriggerType
|
||||||
|
@export var trigger_data : Dictionary
|
||||||
|
|
||||||
|
func get_next() -> Variant:
|
||||||
|
return next_branch
|
1
scripts/resources/dialogue/dialogue.gd.uid
Normal file
1
scripts/resources/dialogue/dialogue.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://bijvyonpnv4mp
|
9
scripts/resources/dialogue/multi_option.gd
Normal file
9
scripts/resources/dialogue/multi_option.gd
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
@tool
|
||||||
|
extends BranchingResource
|
||||||
|
|
||||||
|
class_name MultiOption
|
||||||
|
|
||||||
|
@export var options : Array[BranchingResource]
|
||||||
|
|
||||||
|
func get_next() -> Variant:
|
||||||
|
return options
|
1
scripts/resources/dialogue/multi_option.gd.uid
Normal file
1
scripts/resources/dialogue/multi_option.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://dwr4x3a1gnkt1
|
8
scripts/resources/dialogue/multi_trigger.gd
Normal file
8
scripts/resources/dialogue/multi_trigger.gd
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
@tool
|
||||||
|
|
||||||
|
extends BranchingResource
|
||||||
|
|
||||||
|
class_name MultiTrigger
|
||||||
|
|
||||||
|
@export var triggers : Array[Dialogue.TriggerType]
|
||||||
|
@export var trigger_data : Array[Dictionary]
|
1
scripts/resources/dialogue/multi_trigger.gd.uid
Normal file
1
scripts/resources/dialogue/multi_trigger.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://i84xirdqv5e1
|
Loading…
Add table
Add a link
Reference in a new issue