mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-23 19:22:00 +00:00
Expose [fire_event][data] values to WML variable $data
This commit is contained in:
parent
84a05d2269
commit
870951248f
2
changelog_entries/fire_event.md
Normal file
2
changelog_entries/fire_event.md
Normal file
@ -0,0 +1,2 @@
|
||||
### WML Engine
|
||||
* [fire_event][data] content is available in the fired event as $data
|
@ -147,6 +147,9 @@ function wml_actions.fire_event(cfg)
|
||||
if w1 then table.insert(data, wml.tag.first(w1)) end
|
||||
if w2 then table.insert(data, wml.tag.second(w2)) end
|
||||
|
||||
local scoped_data <close> = utils.scoped_var("data")
|
||||
scoped_data:set({wml.parsed(data)})
|
||||
|
||||
if cfg.id and cfg.id ~= "" then wesnoth.game_events.fire_by_id(cfg.id, x1, y1, x2, y2, data)
|
||||
elseif cfg.name and cfg.name ~= "" then wesnoth.game_events.fire(cfg.name, x1, y1, x2, y2, data)
|
||||
end
|
||||
|
@ -331,6 +331,32 @@
|
||||
[/event]
|
||||
)}
|
||||
|
||||
#####
|
||||
# API(s) being tested: [event][fire_event][data]
|
||||
##
|
||||
# Actions:
|
||||
# Define a custom event
|
||||
# Fire the custom event from within another event with [fire_event] using its name and passing [data]test_value=1
|
||||
##
|
||||
# Expected end state:
|
||||
# The custom event has executed and $data.test_value is 1
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "event_handlers_in_events__data" (
|
||||
[event]
|
||||
name=test
|
||||
{RETURN ({VARIABLE_CONDITIONAL data.test_value equals 1})}
|
||||
[/event]
|
||||
[event]
|
||||
name=start
|
||||
[fire_event]
|
||||
name=test
|
||||
[data]
|
||||
test_value=1
|
||||
[/data]
|
||||
[/fire_event]
|
||||
[/event]
|
||||
)}
|
||||
|
||||
#####
|
||||
# API(s) being tested: [event]delayed_variable_substitution=yes
|
||||
##
|
||||
|
@ -122,13 +122,15 @@
|
||||
0 effect_type_variation_full_heal
|
||||
0 effect_type_variation_no_heal
|
||||
0 event_handlers_in_events_1
|
||||
0 event_handlers_in_events_3
|
||||
0 event_handlers_in_events_2
|
||||
0 event_handlers_in_events_3
|
||||
0 event_handlers_in_events_4
|
||||
0 event_handlers_in_events_5
|
||||
0 event_handlers_in_events_6
|
||||
0 event_handlers_in_events_7
|
||||
0 event_handlers_in_events_8
|
||||
0 event_handlers_in_events_9
|
||||
0 event_handlers_in_events__data
|
||||
0 event_handlers_in_events__delayed
|
||||
0 event_handlers_in_events__delayed__dynamic_name
|
||||
0 event_handlers_in_events__delayed__dynamic_filter
|
||||
|
Loading…
x
Reference in New Issue
Block a user