aboutsummaryrefslogtreecommitdiff
path: root/go/game/trigger.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/trigger.go')
-rw-r--r--go/game/trigger.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/go/game/trigger.go b/go/game/trigger.go
index b8eb28c0..34caf9b1 100644
--- a/go/game/trigger.go
+++ b/go/game/trigger.go
@@ -56,8 +56,8 @@ func (e eventType) String() string {
type Event struct {
eventType eventType
- sources []interface{}
- affected []interface{}
+ sources []any
+ affected []any
}
func (e Event) String() string {
@@ -72,31 +72,31 @@ func newEotEvent() Event {
return Event{eventType: eot}
}
-func newTargetEvent(source interface{}, targets *Targets) Event {
- affected := make([]interface{}, 0, len(targets.ts))
+func newTargetEvent(source any, targets *Targets) Event {
+ affected := make([]any, 0, len(targets.ts))
for _, t := range targets.ts {
affected = append(affected, t.sel...)
}
- return Event{eventType: target, sources: []interface{}{source}, affected: affected}
+ return Event{eventType: target, sources: []any{source}, affected: affected}
}
type Trigger interface {
- Source() interface{}
+ Source() any
String() string
Card() *Card
trigger(*LocalState, Event) ([]*TriggeredAction, bool)
}
type triggerBase struct {
- source interface{}
+ source any
condition func(*LocalState, Event) (bool, bool)
resolveFunc ActionResolveFunc
costFunc ActionCostFunc
desc string
}
-func (t *triggerBase) Source() interface{} { return t.source }
-func (t *triggerBase) String() string { return t.desc }
+func (t *triggerBase) Source() any { return t.source }
+func (t *triggerBase) String() string { return t.desc }
func (t *triggerBase) Card() *Card {
switch t := t.source.(type) {
case *Card:
@@ -122,7 +122,7 @@ func newTargetedTrigger(p Permanent, singleshot bool, resolveFunc ActionResolveF
t := triggerBase{source: p, resolveFunc: resolveFunc, desc: desc}
t.condition = func(_ *LocalState, event Event) (bool, bool) {
c := event.eventType == EventTypes.Target &&
- slices.Contains(event.affected, p.(interface{}))
+ slices.Contains(event.affected, p.(any))
remove := singleshot && c
return c, remove
}