Documentation ¶
Index ¶
- type Dispatcher
- func (dispatcher *Dispatcher[T]) AddListener(listener Listener[T]) int
- func (dispatcher *Dispatcher[T]) Fire(event Event[T], arguments ...any) bool
- func (dispatcher *Dispatcher[T]) HasListener(id int) bool
- func (dispatcher *Dispatcher[T]) Ordered() bool
- func (dispatcher *Dispatcher[T]) RemoveListener(id int) bool
- func (dispatcher *Dispatcher[T]) SetOrdered(ordered bool)
- type Event
- type Listener
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dispatcher ¶ added in v0.1.0
type Dispatcher[T comparable] struct { // contains filtered or unexported fields }
Dispatcher manages event listeners
func (*Dispatcher[T]) AddListener ¶ added in v0.3.1
func (dispatcher *Dispatcher[T]) AddListener(listener Listener[T]) int
AddListener registers a Listener
func (*Dispatcher[T]) Fire ¶ added in v0.3.1
func (dispatcher *Dispatcher[T]) Fire(event Event[T], arguments ...any) bool
Fire fires event
func (*Dispatcher[T]) HasListener ¶ added in v0.3.1
func (dispatcher *Dispatcher[T]) HasListener(id int) bool
HasListener reports whether dispatcher has specified listener
func (*Dispatcher[T]) Ordered ¶ added in v0.2.2
func (dispatcher *Dispatcher[T]) Ordered() bool
Ordered reports whether the listeners fired by added order
func (*Dispatcher[T]) RemoveListener ¶ added in v0.3.1
func (dispatcher *Dispatcher[T]) RemoveListener(id int) bool
RemoveListener removes specified listener
func (*Dispatcher[T]) SetOrdered ¶ added in v0.2.2
func (dispatcher *Dispatcher[T]) SetOrdered(ordered bool)
SetOrdered sets whether the listeners fired by added order
type Event ¶
type Event[T comparable] interface { Typeof() T // Type gets type of event }
Event is the interface that wraps the basic Type method.
type Listener ¶ added in v0.1.0
type Listener[T comparable] interface { EventType() T // EventType gets type of listening event Handle(Event[T], ...any) // Handle handles fired event }
A Listener handles fired event
Click to show internal directories.
Click to hide internal directories.