From 9fa3c1c6c9ab8e8c2db0b6573e04ff2192e82681 Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Mon, 9 Nov 2015 20:10:37 -0600 Subject: [PATCH] Doing Acheivement Dev --- processor_general.go | 1 + processor_levelup.go | 1 + processor_levelupachieve.go | 28 +++++++++++++++++++++------- statbot.go | 2 ++ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/processor_general.go b/processor_general.go index 316d877..f3f6172 100644 --- a/processor_general.go +++ b/processor_general.go @@ -18,6 +18,7 @@ func (p *generalProcessor) GetName() string { func (p *generalProcessor) GetHelp() string { return "" } +func (p *generalProcessor) Initialize() {} func (p *generalProcessor) ProcessMessage(slack *Slack, m *Message) {} func (p *generalProcessor) ProcessBotMessage(slack *Slack, m *Message) {} diff --git a/processor_levelup.go b/processor_levelup.go index 1c93d15..828f56c 100644 --- a/processor_levelup.go +++ b/processor_levelup.go @@ -18,6 +18,7 @@ func (p *levelUpStatProcessor) GetStatKeys() []string { "levelup-*", } } +func (p *levelUpStatProcessor) Initialize() {} func (p *levelUpStatProcessor) ProcessMessage(m *Message) {} func (p *levelUpStatProcessor) ProcessAdminMessage(m *Message) {} diff --git a/processor_levelupachieve.go b/processor_levelupachieve.go index 4718209..8adee02 100644 --- a/processor_levelupachieve.go +++ b/processor_levelupachieve.go @@ -16,13 +16,28 @@ func (p *levelUpAchieveStatProcessor) GetStatKeys() []string { } } -type levelUpAchievement interface { - GetName() string - GetText() string +func (p *levelUpAcheiveStatProcessor) Initialize() { + // TODO: Set up achievements + p.Achievements = append(p.Achievements, levelUpAchievement{ + GetName: func() string { + }, + GetText: func() string { + }, + DoesUserHave: func(uID string) bool { + }, + ProcessMessage: func(m *Message) bool { + }, + }) + +} + +type levelUpAchievement struct { + GetName func() string + GetText func() string // Returns whether the user already has this achievement - DoesUserHave(uID string) bool + DoesUserHave func(uID string) bool // Processes the message, returns true if the achievement was triggered - ProcessMessage(m *Message) bool + ProcessMessage func(m *Message) bool } func (p *levelUpAchieveStatProcessor) ProcessMessage(m *Message) { @@ -42,7 +57,6 @@ func (p *levelUpAchieveStatProcessor) ProcessMessage(m *Message) { userStat.Xp, _ = getUserStat(u.ID, "levelup-xp") userStat.ChannelStats = getAllLevelUpChannelXp(u.ID) userStat.OtherStats = getAllNonLevelUpStats(u.ID) - } func (p *levelUpAchieveStatProcessor) ProcessAdminMessage(m *Message) {} func (p *levelUpAchieveStatProcessor) ProcessBotMessage(m *Message) {} @@ -76,7 +90,7 @@ func (wm *levelUpAchieveWebModule) Register() { } func (wm *levelUpAchieveWebModule) GetMenuEntries() []menuItem { var ret []menuItem - ret = append(ret, menuItem{Text: "Achieve GET!", Link: "/levelup/achieve"}) + //ret = append(ret, menuItem{Text: "Achieve GET!", Link: "/levelup/achieve"}) return ret } func (wm *levelUpAchieveWebModule) GetBottomMenuEntries() []menuItem { diff --git a/statbot.go b/statbot.go index 724def9..7e2a749 100644 --- a/statbot.go +++ b/statbot.go @@ -28,6 +28,7 @@ var messageProcessors []messageProcessor type statProcessor interface { GetName() string GetStatKeys() []string + Initialize() []string ProcessMessage(m *Message) ProcessBotMessage(m *Message) ProcessUserMessage(m *Message) @@ -191,6 +192,7 @@ func registerStatProcessor(b statProcessor) { } } } + b.Initialize() statProcessors = append(statProcessors, b) }