44 lines
896 B
GDScript
44 lines
896 B
GDScript
@tool
|
|
class_name NPC extends CharacterBody3D
|
|
|
|
@export var _movement:NPCMovement
|
|
@export var _interact:NPCInteract
|
|
|
|
# NPC Movement Accessors
|
|
@export var walkSpeed:float:
|
|
set(value):
|
|
if _movement:
|
|
_movement.walkSpeed = value
|
|
get:
|
|
if _movement:
|
|
return _movement.walkSpeed
|
|
return 0
|
|
|
|
@export var runSpeed:float:
|
|
set(value):
|
|
if _movement:
|
|
_movement.runSpeed = value
|
|
get:
|
|
if _movement:
|
|
return _movement.runSpeed
|
|
return 0
|
|
|
|
# NPC Interact Accessors
|
|
@export var interactType:NPCInteract.InteractType:
|
|
set(value):
|
|
if _interact:
|
|
_interact.interactType = value
|
|
get:
|
|
if _interact:
|
|
return _interact.interactType
|
|
return NPCInteract.InteractType.NONE
|
|
|
|
@export var interactText:String:
|
|
set(value):
|
|
if _interact:
|
|
_interact.interactText = value
|
|
get:
|
|
if _interact:
|
|
return _interact.interactText
|
|
return ""
|