Add addons
This commit is contained in:
parent
2c862b2235
commit
3367bad24f
527 changed files with 36197 additions and 0 deletions
48
Sprout/addons/dialogic/Events/Character/default_portrait.gd
Normal file
48
Sprout/addons/dialogic/Events/Character/default_portrait.gd
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
@tool
|
||||
class_name DialogicDefaultPortrait # TODO: Question should this have a class_name? To be extended or what?
|
||||
extends Node
|
||||
|
||||
## Default portrait scene.
|
||||
|
||||
## Stores the character that this scene displays.
|
||||
var character: DialogicCharacter
|
||||
## Stores the name of the current portrait.
|
||||
var portrait: String
|
||||
|
||||
|
||||
## Function to accept and use the extra data, if the custom portrait wants to accept it
|
||||
func _set_extra_data(data: String) -> void:
|
||||
pass
|
||||
|
||||
|
||||
## This function can be overridden. Defaults to true, if not overridden!
|
||||
func _should_do_portrait_update(character:DialogicCharacter, portrait:String) -> bool:
|
||||
return true
|
||||
|
||||
|
||||
## If the custom portrait accepts a change, then accept it here
|
||||
func _update_portrait(passed_character:DialogicCharacter, passed_portrait:String) -> void:
|
||||
if passed_portrait == "" or not passed_portrait in passed_character.portraits.keys():
|
||||
passed_portrait = passed_character['default_portrait']
|
||||
portrait = passed_portrait
|
||||
if passed_character != null:
|
||||
if character == null or character != passed_character:
|
||||
character = passed_character
|
||||
|
||||
var path :String = character.portraits[portrait].get('image', '')
|
||||
$Portrait.texture = null
|
||||
if !path.is_empty(): $Portrait.texture = load(path)
|
||||
$Portrait.centered = false
|
||||
$Portrait.position = $Portrait.get_rect().size * Vector2(-0.5, -1)
|
||||
|
||||
|
||||
## If implemented, this is called when the mirror changes
|
||||
func _set_mirror(mirror:bool) -> void:
|
||||
$Portrait.flip_h = mirror
|
||||
|
||||
|
||||
## If implemented, this is used by the editor for the "full view" mode
|
||||
func _get_covered_rect() -> Rect2:
|
||||
if $Portrait.texture == null:
|
||||
return Rect2()
|
||||
return Rect2($Portrait.position, $Portrait.get_rect().size)
|
||||
Loading…
Add table
Add a link
Reference in a new issue