2026-05-10 10:01:03 +08:00
|
|
|
class_name SublimateOption
|
|
|
|
|
|
2026-05-10 11:49:17 +08:00
|
|
|
signal applied()
|
|
|
|
|
|
2026-05-10 10:01:03 +08:00
|
|
|
var displayName: String = "升华"
|
|
|
|
|
var description: String = "描述"
|
|
|
|
|
var executor: Callable = func(_weapon: Weapon, _entity: EntityBase): return
|
2026-05-10 11:49:17 +08:00
|
|
|
var cost: int = 1
|
|
|
|
|
var quality: CategoryStore.Quality = CategoryStore.Quality.COMMON
|
2026-05-10 10:01:03 +08:00
|
|
|
|
2026-05-10 11:49:17 +08:00
|
|
|
func _init(displayNames: String, descriptions: String, executors: Callable, costs: int, qualities: CategoryStore.Quality):
|
2026-05-10 10:01:03 +08:00
|
|
|
displayName = displayNames
|
|
|
|
|
description = descriptions
|
|
|
|
|
executor = executors
|
2026-05-10 11:49:17 +08:00
|
|
|
cost = costs
|
|
|
|
|
quality = qualities
|
2026-05-10 10:01:03 +08:00
|
|
|
|
2026-05-10 11:49:17 +08:00
|
|
|
func apply(entity: EntityBase, weapon: Weapon):
|
|
|
|
|
cost += 1
|
|
|
|
|
executor.call(weapon, entity)
|
|
|
|
|
applied.emit()
|