annotate SuicideKings.lua @ 3:a55f4f2a4603 tip

intial (real) commit!
author Kyle@Kyle-PC
date Thu, 23 Feb 2012 00:34:43 -0500
parents
children
rev   line source
Kyle@3 1 --[[
Kyle@3 2 Title: Suicide Kings
Kyle@3 3 Author: Brom
Kyle@3 4 Version: 0.1
Kyle@3 5 ]]
Kyle@3 6
Kyle@3 7 local ADDON_NAME = ...
Kyle@3 8 local ADDON_VERSION = "0.1"
Kyle@3 9
Kyle@3 10 -- create addon
Kyle@3 11 SuicideKings = LibStub("AceAddon-3.0") : NewAddon("SuicideKings", "AceConsole-3.0")
Kyle@3 12
Kyle@3 13 -- library objects
Kyle@3 14 local libS = LibStub:GetLibrary("AceSerializer-3.0")
Kyle@3 15 local libC = LibStub:GetLibrary("LibCompress")
Kyle@3 16 local libCE = libC:GetAddonEncodeTable()
Kyle@3 17
Kyle@3 18 -- creating a database object
Kyle@3 19 local db;
Kyle@3 20
Kyle@3 21 --[[
Kyle@3 22 Ace3 Addon Object
Kyle@3 23 ]]
Kyle@3 24
Kyle@3 25 function SuicideKings:OnInitialize()
Kyle@3 26
Kyle@3 27 -- Greetings
Kyle@3 28 local loadingMessage = "version " .. ADDON_VERSION .. " loaded"
Kyle@3 29 local optionsMessage = "type /sk for options"
Kyle@3 30 SuicideKings:Print( loadingMessage )
Kyle@3 31 SuicideKings:Print( optionsMessage )
Kyle@3 32
Kyle@3 33 -- Slash commands
Kyle@3 34 SuicideKings:RegisterChatCommand( "sk", "SlashProcessor" )
Kyle@3 35
Kyle@3 36 -- Database defaults
Kyle@3 37 self.db = LibStub("AceDB-3.0"):New("SuicideKingsDB", { profile = {} }, 'Default')
Kyle@3 38
Kyle@3 39 -- Options
Kyle@3 40 LibStub("AceConfig-3.0"): RegisterOptionsTable("SuicideKingsOptions", {
Kyle@3 41 name = "Brohm's Suicide Kings Configuration",
Kyle@3 42 type = "group",
Kyle@3 43 args = {
Kyle@3 44 roster = {
Kyle@3 45 name = "View Roster",
Kyle@3 46 desc = "Prints the SK Roster",
Kyle@3 47 type = "execute",
Kyle@3 48 func = function() SuicideKings:PrintRoster() end,
Kyle@3 49 },
Kyle@3 50 list = {
Kyle@3 51 name = "View Lists",
Kyle@3 52 desc = "Prints the SK Lists",
Kyle@3 53 type = "execute",
Kyle@3 54 func = function() SuicideKings:PrintLists() end,
Kyle@3 55 },
Kyle@3 56
Kyle@3 57 utilities = {
Kyle@3 58 name = "utilities",
Kyle@3 59 desc = "Utility functions",
Kyle@3 60 type = "group",
Kyle@3 61 args = {
Kyle@3 62 import = {
Kyle@3 63 name = "Import from KSK",
Kyle@3 64 desc = "Import data from Konfer Suicide Kings",
Kyle@3 65 type = "execute",
Kyle@3 66 func = function() SuicideKings:ImportFromKSK() end,
Kyle@3 67 },
Kyle@3 68 reset = {
Kyle@3 69 name = "Reset Everything",
Kyle@3 70 desc = "Resets the database",
Kyle@3 71 type = "execute",
Kyle@3 72 func = function() self.db:ResetProfile() end,
Kyle@3 73 },
Kyle@3 74 }
Kyle@3 75 }
Kyle@3 76 }
Kyle@3 77 })
Kyle@3 78
Kyle@3 79 end
Kyle@3 80
Kyle@3 81 function SuicideKings:OnEnable()
Kyle@3 82 -- Do more initialization here, that really enables the use of your addon.
Kyle@3 83 -- Register Events, Hook functions, Create Frames, Get information from
Kyle@3 84 -- the game that wasn't available in OnInitialize
Kyle@3 85 end
Kyle@3 86
Kyle@3 87 function SuicideKings:OnDisable()
Kyle@3 88 -- Unhook, Unregister Events, Hide frames that you created.
Kyle@3 89 -- You would probably only use an OnDisable if you want to
Kyle@3 90 -- build a "standby" mode, or be able to toggle modules on/off.
Kyle@3 91 end
Kyle@3 92
Kyle@3 93 --[[
Kyle@3 94 Slash Handler
Kyle@3 95 ]]
Kyle@3 96
Kyle@3 97 function SuicideKings:SlashProcessor(input)
Kyle@3 98
Kyle@3 99 if not input or input:trim() == "" then
Kyle@3 100 LibStub("AceConfigDialog-3.0"):Open("SuicideKingsOptions")
Kyle@3 101 else
Kyle@3 102 LibStub("AceConfigCmd-3.0").HandleCommand(MyAddon, "sk", "SuicideKingsOptions", input)
Kyle@3 103 end
Kyle@3 104
Kyle@3 105 end
Kyle@3 106
Kyle@3 107 --[[
Kyle@3 108 Roster Functions
Kyle@3 109 ]]
Kyle@3 110
Kyle@3 111 function SuicideKings:PrintHelp()
Kyle@3 112
Kyle@3 113 SuicideKings:Print("usage: /sk")
Kyle@3 114
Kyle@3 115 end
Kyle@3 116
Kyle@3 117 function SuicideKings:PrintRoster()
Kyle@3 118
Kyle@3 119 local one = libS:Serialize( self.db.profile.roster )
Kyle@3 120 local two = LibSyncC:CompressHuffman(one)
Kyle@3 121 local final = LibSyncCE:Encode(two)
Kyle@3 122
Kyle@3 123 end
Kyle@3 124
Kyle@3 125 function SuicideKings:PrintLists()
Kyle@3 126
Kyle@3 127 end
Kyle@3 128