Add ESCLocation node (#323)

Fixes #306
This commit is contained in:
Julian Murgia
2021-07-15 09:42:22 +02:00
committed by GitHub
parent 958c8b441b
commit 43dc217359
15 changed files with 142 additions and 16 deletions

View File

@@ -0,0 +1,37 @@
# A simple node extending Position2D with a global ID so that it can be
# referenced in ESC Scripts.
extends Position2D
class_name ESCLocation
# The global ID of this item
export(String) var global_id
# If true, player orients towards 'interaction_direction' as
# player character arrives.
export(bool) var player_orients_on_arrival = true
# Let the player turn to this direction when the player arrives
# at the item
export(int) var interaction_direction
# Used by "is" keyword to check whether a node's class_name
# is the same as p_classname.
#
# ## Parameters
#
# p_classname: String class to compare against
func is_class(p_classname: String) -> bool:
return p_classname == "ESCLocation"
# Ready function
func _ready():
if not self.global_id.empty():
escoria.object_manager.register_object(
ESCObject.new(
self.global_id,
self
),
true
)