diff options
Diffstat (limited to 'internal/world/trigger_store.go')
| -rw-r--r-- | internal/world/trigger_store.go | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/internal/world/trigger_store.go b/internal/world/trigger_store.go index b5fac5b..e18ae80 100644 --- a/internal/world/trigger_store.go +++ b/internal/world/trigger_store.go @@ -14,12 +14,12 @@ type TriggerStore struct { mu sync.Mutex globalByPlayerFlag map[string][]*TriggerDef - globalByWorldFlag map[string][]*TriggerDef + globalByGlobalFlag map[string][]*TriggerDef roomByPlayerFlag map[int]map[string][]*TriggerDef - roomByWorldFlag map[int]map[string][]*TriggerDef + roomByGlobalFlag map[int]map[string][]*TriggerDef playerSeqs map[string]*PlayerTriggerSeq - worldSeqs map[string]*WorldTriggerSeq + globalSeqs map[string]*GlobalTriggerSeq } type PlayerTriggerSeq struct { @@ -32,7 +32,7 @@ type PlayerTriggerSeq struct { FlagValue any } -type WorldTriggerSeq struct { +type GlobalTriggerSeq struct { TriggerID string RoomID int Steps []TriggerStep @@ -43,11 +43,11 @@ type WorldTriggerSeq struct { func NewTriggerStore() *TriggerStore { return &TriggerStore{ globalByPlayerFlag: make(map[string][]*TriggerDef), - globalByWorldFlag: make(map[string][]*TriggerDef), + globalByGlobalFlag: make(map[string][]*TriggerDef), roomByPlayerFlag: make(map[int]map[string][]*TriggerDef), - roomByWorldFlag: make(map[int]map[string][]*TriggerDef), + roomByGlobalFlag: make(map[int]map[string][]*TriggerDef), playerSeqs: make(map[string]*PlayerTriggerSeq), - worldSeqs: make(map[string]*WorldTriggerSeq), + globalSeqs: make(map[string]*GlobalTriggerSeq), } } @@ -55,9 +55,9 @@ func (ts *TriggerStore) ClearTriggers() { ts.mu.Lock() defer ts.mu.Unlock() ts.globalByPlayerFlag = make(map[string][]*TriggerDef) - ts.globalByWorldFlag = make(map[string][]*TriggerDef) + ts.globalByGlobalFlag = make(map[string][]*TriggerDef) ts.roomByPlayerFlag = make(map[int]map[string][]*TriggerDef) - ts.roomByWorldFlag = make(map[int]map[string][]*TriggerDef) + ts.roomByGlobalFlag = make(map[int]map[string][]*TriggerDef) } func (ts *TriggerStore) LoadGlobal(dataDir string) error { @@ -110,13 +110,13 @@ func (ts *TriggerStore) SeedRoomTriggers(roomID int, triggers []TriggerDef) { ts.roomByPlayerFlag[roomID][t.OnPlayerFlag] = append( ts.roomByPlayerFlag[roomID][t.OnPlayerFlag], t) } - if t.IsWorldFlagTrigger() { - if ts.roomByWorldFlag[roomID] == nil { - ts.roomByWorldFlag[roomID] = make(map[string][]*TriggerDef) + if t.IsGlobalFlagTrigger() { + if ts.roomByGlobalFlag[roomID] == nil { + ts.roomByGlobalFlag[roomID] = make(map[string][]*TriggerDef) } t.Room = roomID - ts.roomByWorldFlag[roomID][t.OnFlag] = append( - ts.roomByWorldFlag[roomID][t.OnFlag], t) + ts.roomByGlobalFlag[roomID][t.OnGlobalFlag] = append( + ts.roomByGlobalFlag[roomID][t.OnGlobalFlag], t) } } } @@ -128,9 +128,9 @@ func (ts *TriggerStore) addGlobal(t *TriggerDef) { ts.globalByPlayerFlag[t.OnPlayerFlag] = append( ts.globalByPlayerFlag[t.OnPlayerFlag], t) } - if t.IsWorldFlagTrigger() { - ts.globalByWorldFlag[t.OnFlag] = append( - ts.globalByWorldFlag[t.OnFlag], t) + if t.IsGlobalFlagTrigger() { + ts.globalByGlobalFlag[t.OnGlobalFlag] = append( + ts.globalByGlobalFlag[t.OnGlobalFlag], t) } } @@ -184,23 +184,23 @@ func (ts *TriggerStore) FirePlayerInRoom(playerName string, roomID int, flagName return started } -func (ts *TriggerStore) FireWorld(flagName string, flagValue any) []*WorldTriggerSeq { +func (ts *TriggerStore) FireGlobal(flagName string, flagValue any) []*GlobalTriggerSeq { ts.mu.Lock() defer ts.mu.Unlock() - var started []*WorldTriggerSeq + var started []*GlobalTriggerSeq - for _, t := range ts.globalByWorldFlag[flagName] { + for _, t := range ts.globalByGlobalFlag[flagName] { if !ts.valueMatches(t.Value, flagValue) { continue } - seq := ts.startWorldSeqLocked(t, flagValue) + seq := ts.startGlobalSeqLocked(t, flagValue) if seq != nil { started = append(started, seq) } } - for roomID, roomFlags := range ts.roomByWorldFlag { + for roomID, roomFlags := range ts.roomByGlobalFlag { for _, t := range roomFlags[flagName] { if !ts.valueMatches(t.Value, flagValue) { continue @@ -208,7 +208,7 @@ func (ts *TriggerStore) FireWorld(flagName string, flagValue any) []*WorldTrigge if t.Room == 0 { t.Room = roomID } - seq := ts.startWorldSeqLocked(t, flagValue) + seq := ts.startGlobalSeqLocked(t, flagValue) if seq != nil { started = append(started, seq) } @@ -238,12 +238,12 @@ func (ts *TriggerStore) startPlayerSeqLocked(playerName string, t *TriggerDef, r return seq } -func (ts *TriggerStore) startWorldSeqLocked(t *TriggerDef, flagValue any) *WorldTriggerSeq { +func (ts *TriggerStore) startGlobalSeqLocked(t *TriggerDef, flagValue any) *GlobalTriggerSeq { key := t.ID - if _, exists := ts.worldSeqs[key]; exists { + if _, exists := ts.globalSeqs[key]; exists { return nil } - seq := &WorldTriggerSeq{ + seq := &GlobalTriggerSeq{ TriggerID: t.ID, RoomID: t.Room, Steps: make([]TriggerStep, len(t.Steps)), @@ -253,7 +253,7 @@ func (ts *TriggerStore) startWorldSeqLocked(t *TriggerDef, flagValue any) *World if len(seq.Steps) > 0 { seq.Wait = seq.Steps[0].Delay } - ts.worldSeqs[key] = seq + ts.globalSeqs[key] = seq return seq } @@ -274,11 +274,11 @@ func (ts *TriggerStore) SnapshotPlayerSeqs() []*PlayerTriggerSeq { return out } -func (ts *TriggerStore) SnapshotWorldSeqs() []*WorldTriggerSeq { +func (ts *TriggerStore) SnapshotGlobalSeqs() []*GlobalTriggerSeq { ts.mu.Lock() defer ts.mu.Unlock() - out := make([]*WorldTriggerSeq, 0, len(ts.worldSeqs)) - for _, s := range ts.worldSeqs { + out := make([]*GlobalTriggerSeq, 0, len(ts.globalSeqs)) + for _, s := range ts.globalSeqs { out = append(out, s) } return out @@ -291,10 +291,10 @@ func (ts *TriggerStore) RemovePlayerSeq(playerName, triggerID string) { delete(ts.playerSeqs, key) } -func (ts *TriggerStore) RemoveWorldSeq(triggerID string) { +func (ts *TriggerStore) RemoveGlobalSeq(triggerID string) { ts.mu.Lock() defer ts.mu.Unlock() - delete(ts.worldSeqs, triggerID) + delete(ts.globalSeqs, triggerID) } func (ts *TriggerStore) AllGlobalTriggers() []*TriggerDef { @@ -304,7 +304,7 @@ func (ts *TriggerStore) AllGlobalTriggers() []*TriggerDef { for _, triggers := range ts.globalByPlayerFlag { out = append(out, triggers...) } - for _, triggers := range ts.globalByWorldFlag { + for _, triggers := range ts.globalByGlobalFlag { out = append(out, triggers...) } return out @@ -340,7 +340,7 @@ func (ts *TriggerStore) AllRoomTriggers() map[int][]*TriggerDef { out[roomID] = append(out[roomID], triggers...) } } - for roomID, byFlag := range ts.roomByWorldFlag { + for roomID, byFlag := range ts.roomByGlobalFlag { for _, triggers := range byFlag { out[roomID] = append(out[roomID], triggers...) } |
