lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [trunk/] [KragenPlugs/] [KragenBars/] [Main.lua] - Blame information for rev 6

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "KragenPlugs.Utils";
4 Kragenwar-3044
import "KragenPlugs.KragenBars";
5 Kragenwar-3044
 
6 Kragenwar-3044
-- load settings file
7 Kragenwar-3044
function LoadSettings()
8 Kragenwar-3044
        settings = Turbine.PluginData.Load( Turbine.DataScope.Character, "KragenBarsSettings" );
9 Kragenwar-3044
 
10 Kragenwar-3044
        -- Set main version number
11 Kragenwar-3044
        vars = { };
12 Kragenwar-3044
        vars.vers = 3.00;
13 Kragenwar-3044
        vars.player = Turbine.Gameplay.LocalPlayer.GetInstance();
14 Kragenwar-3044
        vars.playerlevel = vars.player:GetLevel();
15 Kragenwar-3044
        vars.effects = vars.player:GetEffects();
16 Kragenwar-3044
        vars.classid = vars.player:GetClass();
17 Kragenwar-3044
        vars.classattr = vars.player:GetClassAttributes();
18 Kragenwar-3044
 
19 Kragenwar-3044
        -- declare settings as a table and set default opacity
20 Kragenwar-3044
        if ( type( settings ) ~= "table" ) then
21 Kragenwar-3044
                settings = { };
22 Kragenwar-3044
                settings.opacity = 1;
23 Kragenwar-3044
                settings.lockslots = false;
24 Kragenwar-3044
                settings.snaptogrid = true;
25 Kragenwar-3044
        end
26 Kragenwar-3044
 
27 Kragenwar-3044
        -- if version is not declared then wipe settings file and set version number
28 Kragenwar-3044
                -- if version <3.00 (prior versions had string version number) then add required settings
29 Kragenwar-3044
        if (settings.vers == nil or type(settings.vers)=="string") then
30 Kragenwar-3044
                        settings = nil;
31 Kragenwar-3044
            settings = { };
32 Kragenwar-3044
            settings.vers = vars.vers;
33 Kragenwar-3044
            settings.opacity = 1;
34 Kragenwar-3044
            settings.lockslots = false;
35 Kragenwar-3044
            settings.snaptogrid = true;
36 Kragenwar-3044
            SaveSettings();
37 Kragenwar-3044
                end
38 Kragenwar-3044
 
39 Kragenwar-3044
 
40 Kragenwar-3044
        if (vars.classid == 40) then
41 Kragenwar-3044
            vars.playerclass = "Burglar";
42 Kragenwar-3044
            KragenBars = BurglarBars();
43 Kragenwar-3044
        elseif (vars.classid == 24) then
44 Kragenwar-3044
            vars.playerclass = "Captain";
45 Kragenwar-3044
            KragenBars = CaptainBars();
46 Kragenwar-3044
        elseif (vars.classid == 172) then
47 Kragenwar-3044
            vars.playerclass = "Champion";
48 Kragenwar-3044
            KragenBars = ChampionBars();
49 Kragenwar-3044
        elseif (vars.classid == 23) then
50 Kragenwar-3044
            vars.playerclass = "Guardian";
51 Kragenwar-3044
            KragenBars = GuardianBars();
52 Kragenwar-3044
        elseif (vars.classid == 162) then
53 Kragenwar-3044
            vars.playerclass = "Hunter";
54 Kragenwar-3044
            KragenBars = HunterBars();
55 Kragenwar-3044
        elseif (vars.classid == 185) then
56 Kragenwar-3044
            vars.playerclass = "Loremaster";
57 Kragenwar-3044
            KragenBars = LoreBars();
58 Kragenwar-3044
        elseif (vars.classid == 31) then
59 Kragenwar-3044
            vars.playerclass = "Minstrel";
60 Kragenwar-3044
            KragenBars = MiniBars();
61 Kragenwar-3044
        elseif (vars.classid == 193) then
62 Kragenwar-3044
            vars.playerclass = "Runekeeper";
63 Kragenwar-3044
            KragenBars = RuneBars();
64 Kragenwar-3044
        elseif (vars.classid == 194) then
65 Kragenwar-3044
            vars.playerclass = "Warden";
66 Kragenwar-3044
                        Turbine.Shell.WriteLine("KragenBars: Warden is not currently implemented in KragenBars.  Look for this feature in a future version.");
67 Kragenwar-3044
            -- KragenBars = WardenBars();
68 Kragenwar-3044
        end
69 Kragenwar-3044
 
70 Kragenwar-3044
end
71 Kragenwar-3044
 
72 Kragenwar-3044
-- save to settings file
73 Kragenwar-3044
function SaveSettings()
74 Kragenwar-3044
 
75 Kragenwar-3044
        Turbine.PluginData.Save( Turbine.DataScope.Character, "KragenBarsSettings", settings );
76 Kragenwar-3044
 
77 Kragenwar-3044
end
78 Kragenwar-3044
 
79 Kragenwar-3044
-- on unload call each instances unload function to save settings
80 Kragenwar-3044
function UnloadPlugin()
81 Kragenwar-3044
        KragenBars:SaveSettings();
82 Kragenwar-3044
 
83 Kragenwar-3044
end
84 Kragenwar-3044
 
85 Kragenwar-3044
 
86 Kragenwar-3044
function ValidatePosition(x, y, width, height)
87 Kragenwar-3044
    x = math.min(math.max(x, 0), Turbine.UI.Display:GetWidth() - width);
88 Kragenwar-3044
    y = math.min(math.max(y, 0), Turbine.UI.Display:GetHeight() - height);
89 Kragenwar-3044
    return x, y;
90 Kragenwar-3044
 
91 Kragenwar-3044
end
92 Kragenwar-3044
 
93 Kragenwar-3044
 
94 Kragenwar-3044
-- setup user chat commands
95 Kragenwar-3044
KragenBarsCommand = Turbine.ShellCommand();
96 Kragenwar-3044
 
97 Kragenwar-3044
function KragenBarsCommand:Execute( command, arguments )
98 Kragenwar-3044
        if (arguments == "setup") then
99 Kragenwar-3044
                KragenBars:ShowSetup();
100 Kragenwar-3044
        elseif (arguments == "refresh") then
101 Kragenwar-3044
                KragenBars:Refresh();
102 Kragenwar-3044
        elseif (arguments == "save") then
103 Kragenwar-3044
                KragenBars:SaveSettings();
104 Kragenwar-3044
                elseif (arguments == "reset") then
105 Kragenwar-3044
                        KragenBars:DefaultPosition();
106 Kragenwar-3044
                        KragenBars:DefaultSettings();
107 Kragenwar-3044
                        KragenBars:Refresh();
108 Kragenwar-3044
        elseif (arguments == "defaultpos") then
109 Kragenwar-3044
                        KragenBars:DefaultPosition();
110 Kragenwar-3044
        else
111 Kragenwar-3044
        Turbine.Shell.WriteLine("KragenBars Help:\n - /Kragenbars setup - Opens Kragens setup window\n - /Kragenbars refresh - Refreshes Kragens bar settings (ie. after level up)\n - /Kragenbars reset - Resets settings to default\n - /Kragenbars defaultpos - Sets window positions to default");
112 Kragenwar-3044
        end
113 Kragenwar-3044
 
114 Kragenwar-3044
end
115 Kragenwar-3044
 
116 Kragenwar-3044
 
117 Kragenwar-3044
function AddCallback(object, event, callback)
118 Kragenwar-3044
        if (object[event] == nil) then
119 Kragenwar-3044
                object[event] = callback;
120 Kragenwar-3044
        else
121 Kragenwar-3044
                if (type(object[event]) == "table") then
122 Kragenwar-3044
                        table.insert(object[event], callback);
123 Kragenwar-3044
                else
124 Kragenwar-3044
                        object[event] = {object[event], callback};
125 Kragenwar-3044
                end
126 Kragenwar-3044
        end
127 Kragenwar-3044
end
128 Kragenwar-3044
 
129 Kragenwar-3044
 
130 Kragenwar-3044
-- inialize plugin
131 Kragenwar-3044
function init()
132 Kragenwar-3044
    settings = { };
133 Kragenwar-3044
 
134 Kragenwar-3044
        -- setup plugin unload function to save setting on unload.
135 Kragenwar-3044
                pluginName="KragenBars";
136 Kragenwar-3044
                window = Turbine.UI.Window();
137 Kragenwar-3044
                window:SetWantsUpdates(true);
138 Kragenwar-3044
                window.Update = function(sender,args)
139 Kragenwar-3044
                        if (Plugins[pluginName] ~= nil) then
140 Kragenwar-3044
                                Plugins[pluginName].Unload = function(self,sender,args)
141 Kragenwar-3044
                                        UnloadPlugin();
142 Kragenwar-3044
                                end
143 Kragenwar-3044
                                window:SetWantsUpdates(false);
144 Kragenwar-3044
                        end
145 Kragenwar-3044
                end
146 Kragenwar-3044
 
147 Kragenwar-3044
        Turbine.Shell.AddCommand( "Kragenbars", KragenBarsCommand );
148 Kragenwar-3044
 
149 Kragenwar-3044
        LoadSettings();
150 Kragenwar-3044
end
151 Kragenwar-3044
 
152 Kragenwar-3044
 
153 Kragenwar-3044
-- codeblock
154 Kragenwar-3044
init();

All times are GMT -5. The time now is 11:46 PM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui