LINUX.ORG.RU

История изменений

Исправление 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 тысяч строк кода, представь. И если это все переделать.. уфф..