История изменений
Исправление LightDiver, (текущая версия) :
Я полтора года пользовался вот этим твоим конфигуром. Создавал новые типа «объекты». Прописывал все внутри. На каждый новый тип кнопок делал отдельный код.
А 20 минут назад у меня что то перещелкнуло в голове и я будтопознал дзен. Я осознал как применять ООП!!! Это же гениально! Это просто чит. Магия. Смотри!
nBtn = {}
function nBtn:new(id,posex,posey,sizex,sizey,message)
local obj = {}
self[id] = CreateFrame("Button", nil, iYaBtn[i], "UIPanelButtonTemplate");
self[id]:SetPoint("CENTER", UIParent,"CENTER",posex, posey)
self[id]:SetSize(sizex, sizey)
self[id]:SetText(message)
function obj:setXY(x,y)
self[id]:SetPoint("CENTER", UIParent,"CENTER",x, y)
end
function obj:getID()
print(id)
end
self[id]:SetScript("OnClick",function(self, button)
print(id)
end)
setmetatable(obj, self)
self.__index = self; return obj
end
А теперь мы просто присваиваем переменной объект и работаем с ним!!! Мы назначаем новому классу предком этот объект, переназначаем ему функции и вот у нас без лишнего кода новый тип кнопок. С нужными параметрами, функциями. Другими.
Это вообще законно?!
А еще я все эти полтора года прописывал все в функции внутри. Берем айди и пишем там железно параметры прямо в кода. Как можно было так криво работать?! Можно же функции подсунуть таблицу. В таблицу аккуратненько по шаблонам все параметры прописать и все.
Я сейчас читаю старый код в ужасе. Надо все переделывать. У меня уже 36 тысяч строк кода, представь. И если это все переделать.. уфф..
Исправление LightDiver, :
Я полтора года пользовался вот этим твоим конфигуром. Создавал новые типа «объекты». Прописывал все внутри. На каждый новый тип кнопок делал отдельный код.
А 20 минут назад у меня что то перещелкнуло в голове и я будтопознал дзен. Я осознал как применять ООП!!! Это же гениально! Это просто чит. Магия. Смотри!
nBtn = {}
function nBtn:new(id,posex,posey,sizex,sizey,message)
local obj= {}
self[id] = CreateFrame("Button", nil, iYaBtn[i], "UIPanelButtonTemplate");
self[id]:SetPoint("CENTER", UIParent,"CENTER",posex, posey)
self[id]:SetSize(sizex, sizey)
self[id]:SetText(message)
function obj:setXY(x,y)
self[id]:SetPoint("CENTER", UIParent,"CENTER",x, y)
end
function obj:getID()
print(id)
end
self[id]:SetScript("OnClick",function(self, button)
print(id)
end)
setmetatable(obj, self)
self.__index = self; return obj
end
А теперь мы просто присваиваем переменной объект и работаем с ним!!! Мы назначаем новому классу предком этот объект, переназначаем ему функции и вот у нас без лишнего кода новый тип кнопок. С нужными параметрами, функциями. Другими.
Это вообще законно?!
А еще я все эти полтора года прописывал все в функции внутри. Берем айди и пишем там железно параметры прямо в кода. Как можно было так криво работать?! Можно же функции подсунуть таблицу. В таблицу аккуратненько по шаблонам все параметры прописать и все.
Я сейчас читаю старый код в ужасе. Надо все переделывать. У меня уже 36 тысяч строк кода, представь. И если это все переделать.. уфф..
Исходная версия LightDiver, :
Я полтора года пользовался вот этим твоим конфигуром. Создавал новые типа «объекты». Прописывал все внутри. На каждый новый тип кнопок делал отдельный код.
А 20 минут назад у меня что то перещелкнуло в голове и я будтопознал дзен. Я осознал как применять ООП!!! Это же гениально! Это просто чит. Магия. Смотри!
nBtn = {}
function nBtn:new(id,posex,posey,sizex,sizey,message)
local obj= {}
self[id] = CreateFrame("Button", nil, iYaBtn[i], "UIPanelButtonTemplate");
self[id]:SetPoint("CENTER", UIParent,"CENTER",posex, posey)
self[id]:SetSize(sizex, sizey)
self[id]:SetText(message)
function obj:setXY(x,y)
self[id]:SetPoint("CENTER", UIParent,"CENTER",x, y)
end
function obj:getID()
print(id)
end
self[id]:SetScript("OnClick",function(self, button)
print(id)
end)
setmetatable(obj, self)
self.__index = self; return obj
end
А теперь мы просто присваиваем переменной объект и работаем с ним!!! Мы назначаем новому классу предком этот объект, переназначаем ему функции и вот у нас без лишнего кода новый тип кнопок. С нужными параметрами, функциями. Другими.
Это вообще законно?!
А еще я все эти полтора года прописывал все в функции внутри. Берем айди и пишем там железно параметры прямо в кода. Как можно было так криво работать?! Можно же функции подсунуть таблицу. В таблицу аккуратненько по шаблонам все параметры прописать и все.
Я сейчас читаю старый код в ужасе. Надо все переделывать. У меня уже 36 тысяч строк кода, представь. И если это все переделать.. уфф..