Skip to content

Why doesn't TriggerRegisterFilterUnitEvent accept EVENT_UNIT_DEATH? #193

Description

@Luashine

Duplicating the hive thread here to track it: https://www.hiveworkshop.com/threads/whats-the-difference-between-triggerregister-filterunitevent-and-unitevent.364349/

What's the difference between TriggerRegister-FilterUnitEvent and -UnitEvent?

Hi there. See title. Jass/Lua, doesn't matter. The examples will be in Lua, but I would like to know what's the difference or an explanation for this behavior?

sameTrigger = CreateTrigger()

sheep = CreateUnit(Player(0), FourCC"nshe", -256, 0, 270.0)

TriggerRegisterUnitEvent(sameTrigger, sheep, EVENT_UNIT_DEATH) -- returns a new event

TriggerRegisterPlayerUnitEvent(sameTrigger, Player(0), EVENT_PLAYER_UNIT_DEATH, nil) -- returns a new event

TriggerRegisterFilterUnitEvent(sameTrigger, sheep, EVENT_UNIT_DEATH, nil) -- returns nil

Why does UnitEvent work with "EVENT_UNIT_DEATH", but FilterUnitEvent does not and returns null? Both register "EVENT_UNIT_LOADED" just fine.

For reference, the native declarations are:

native TriggerRegisterUnitEvent       takes trigger whichTrigger, unit whichUnit,           unitevent whichEvent                            returns event

native TriggerRegisterPlayerUnitEvent takes trigger whichTrigger, player whichPlayer, playerunitevent whichPlayerUnitEvent, boolexpr filter returns event

native TriggerRegisterFilterUnitEvent takes trigger whichTrigger, unit whichUnit,           unitevent whichEvent,           boolexpr filter returns event

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions