35 lines
718 B
GDScript
35 lines
718 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
|