Moves modifier logic to utilize a central StatsComponent for managing and applying stat modifications. This change centralizes stat management and simplifies the application of modifiers, enhancing code maintainability and reducing redundancy. It also moves modifier files to the correct directory.
17 lines
No EOL
470 B
GDScript
17 lines
No EOL
470 B
GDScript
@icon("res://assets/editor/64x64/fc1515.png")
|
|
extends Node2D
|
|
class_name RangedWeaponComponent
|
|
|
|
@export var stats: StatsComponent
|
|
|
|
@onready var modifier_manager = $ModifierManager
|
|
|
|
func _ready() -> void:
|
|
Log.pr("RangedWeaponComponent initialized")
|
|
modifier_manager.set_stats(stats)
|
|
|
|
func add_modifier(modifier: Modifier) -> void:
|
|
modifier_manager.add_modifier(modifier)
|
|
|
|
func remove_modifier(modifier_id: String) -> void:
|
|
modifier_manager.remove_modifier(modifier_id) |