-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
callbacks.go
35 lines (30 loc) · 891 Bytes
/
callbacks.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
package game
import "log"
const (
CallbackOnDamage = "OnDamage"
CallbackOnDamageCalc = "OnDamageCalc"
CallbackOnHealCalc = "OnHealCalc"
CallbackOnCast = "OnCast"
CallbackOnInit = "OnInit"
CallbackOnPickUp = "OnPickUp"
CallbackOnTurn = "OnTurn"
CallbackOnPlayerTurn = "OnPlayerTurn"
CallbackOnStatusAdd = "OnStatusAdd"
CallbackOnStatusStack = "OnStatusStack"
CallbackOnStatusRemove = "OnStatusRemove"
CallbackOnRemove = "OnRemove"
CallbackOnActorDie = "OnActorDie"
CallbackOnMerchantEnter = "OnMerchantEnter"
)
type Context map[string]any
func CreateContext(args ...any) Context {
if len(args)%2 != 0 {
log.Printf("CreateContext: %v\n", args)
panic("Please fix create context!")
}
val := map[string]any{}
for i := 0; i < len(args); i += 2 {
val[args[i].(string)] = args[i+1]
}
return val
}