-
Notifications
You must be signed in to change notification settings - Fork 0
/
entitytree_event_code.go
102 lines (86 loc) · 3.87 KB
/
entitytree_event_code.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Code generated by eventcode gen_event; DO NOT EDIT.
package runtime
import (
"fmt"
event "git.golaxy.org/core/event"
iface "git.golaxy.org/core/util/iface"
"git.golaxy.org/core/ec"
)
type iAutoEventEntityTreeAddNode interface {
EventEntityTreeAddNode() event.IEvent
}
func BindEventEntityTreeAddNode(auto iAutoEventEntityTreeAddNode, subscriber EventEntityTreeAddNode, priority ...int32) event.Hook {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
return event.Bind[EventEntityTreeAddNode](auto.EventEntityTreeAddNode(), subscriber, priority...)
}
func _EmitEventEntityTreeAddNode(auto iAutoEventEntityTreeAddNode, entityTree EntityTree, parent, child ec.Entity) {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
event.UnsafeEvent(auto.EventEntityTreeAddNode()).Emit(func(subscriber iface.Cache) bool {
iface.Cache2Iface[EventEntityTreeAddNode](subscriber).OnEntityTreeAddNode(entityTree, parent, child)
return true
})
}
func _EmitEventEntityTreeAddNodeWithInterrupt(auto iAutoEventEntityTreeAddNode, interrupt func(entityTree EntityTree, parent, child ec.Entity) bool, entityTree EntityTree, parent, child ec.Entity) {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
event.UnsafeEvent(auto.EventEntityTreeAddNode()).Emit(func(subscriber iface.Cache) bool {
if interrupt != nil {
if interrupt(entityTree, parent, child) {
return false
}
}
iface.Cache2Iface[EventEntityTreeAddNode](subscriber).OnEntityTreeAddNode(entityTree, parent, child)
return true
})
}
func HandleEventEntityTreeAddNode(fun func(entityTree EntityTree, parent, child ec.Entity)) EventEntityTreeAddNodeHandler {
return EventEntityTreeAddNodeHandler(fun)
}
type EventEntityTreeAddNodeHandler func(entityTree EntityTree, parent, child ec.Entity)
func (h EventEntityTreeAddNodeHandler) OnEntityTreeAddNode(entityTree EntityTree, parent, child ec.Entity) {
h(entityTree, parent, child)
}
type iAutoEventEntityTreeRemoveNode interface {
EventEntityTreeRemoveNode() event.IEvent
}
func BindEventEntityTreeRemoveNode(auto iAutoEventEntityTreeRemoveNode, subscriber EventEntityTreeRemoveNode, priority ...int32) event.Hook {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
return event.Bind[EventEntityTreeRemoveNode](auto.EventEntityTreeRemoveNode(), subscriber, priority...)
}
func _EmitEventEntityTreeRemoveNode(auto iAutoEventEntityTreeRemoveNode, entityTree EntityTree, parent, child ec.Entity) {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
event.UnsafeEvent(auto.EventEntityTreeRemoveNode()).Emit(func(subscriber iface.Cache) bool {
iface.Cache2Iface[EventEntityTreeRemoveNode](subscriber).OnEntityTreeRemoveNode(entityTree, parent, child)
return true
})
}
func _EmitEventEntityTreeRemoveNodeWithInterrupt(auto iAutoEventEntityTreeRemoveNode, interrupt func(entityTree EntityTree, parent, child ec.Entity) bool, entityTree EntityTree, parent, child ec.Entity) {
if auto == nil {
panic(fmt.Errorf("%w: %w: auto is nil", event.ErrEvent, event.ErrArgs))
}
event.UnsafeEvent(auto.EventEntityTreeRemoveNode()).Emit(func(subscriber iface.Cache) bool {
if interrupt != nil {
if interrupt(entityTree, parent, child) {
return false
}
}
iface.Cache2Iface[EventEntityTreeRemoveNode](subscriber).OnEntityTreeRemoveNode(entityTree, parent, child)
return true
})
}
func HandleEventEntityTreeRemoveNode(fun func(entityTree EntityTree, parent, child ec.Entity)) EventEntityTreeRemoveNodeHandler {
return EventEntityTreeRemoveNodeHandler(fun)
}
type EventEntityTreeRemoveNodeHandler func(entityTree EntityTree, parent, child ec.Entity)
func (h EventEntityTreeRemoveNodeHandler) OnEntityTreeRemoveNode(entityTree EntityTree, parent, child ec.Entity) {
h(entityTree, parent, child)
}