SummerDay/addons/summer_day/tools/tool_system/tool_pool.gd

27 lines
713 B
GDScript3
Raw Normal View History

2021-11-21 11:46:04 +01:00
extends Reference
class_name SummerDayToolPool
var persistent_tool_pool = []
var modifiable_tool_pool = []
func pass_global_input(event):
for list in [persistent_tool_pool, modifiable_tool_pool]:
for i in list:
i._handle_global_input(event)
2021-11-21 11:46:04 +01:00
func run_most_prior(
2022-01-02 16:42:55 +01:00
event: InputEvent):
2021-11-21 11:46:04 +01:00
var priority_high_score = 0
var currently_most_prior: SummerDayTool = null
for list in [persistent_tool_pool, modifiable_tool_pool]:
for i in list:
2022-01-02 16:42:55 +01:00
if i._check_for_use(event):
2021-11-21 11:46:04 +01:00
var priority_score = i.get_priority_score()
if priority_score > priority_high_score:
priority_high_score = priority_score
currently_most_prior = i
if currently_most_prior != null:
2022-01-02 16:42:55 +01:00
currently_most_prior._run(event)