LINUX.ORG.RU

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

Исправление LightDiver, (текущая версия) :

Если отвлечься от офтопика и вернутья к ИИ, смотрите чем они полезны на практике мне, как полному нубу:

local set = true

function fBtnClick(id, obj)
    if not set then
        return
    end
    set = false
    if arg1 == "LeftButton" then
        if arg2 then
            print(arg1,arg2,arg3)
            SendAddonMessage("NSQC3_clcl " .. id, obj, "guild")
        end

        if not arg2 then

        end
    end

    if arg1 == "RightButton" then
        if arg2 then
            print(arg1,arg2,arg3)
            SendAddonMessage("NSQC3_clcr " .. id, obj, "guild")
        end

        if not arg2 then

        end
    end

    C_Timer(.3, function()
        set = true
    end)
end

Вот я сделал функцию клика с задержкой. Попросил оптимизировать для дальнейшей поддержки и расширения:

function fBtnClick(id, obj)
    if not set then return end
    set = false

    local actionPrefix = ({
        LeftButton = "NSQC3_clcl ",
        RightButton = "NSQC3_clcr "
    })[arg1]

    if actionPrefix and arg2 then
        print(arg1, arg2, arg3)
        SendAddonMessage(actionPrefix .. id, obj, "guild")
    end

    C_Timer(0.3, function()
        set = true
    end)
end

Ну гениально же. Просто, удобно. Разве он не прекрасен?

Исходная версия LightDiver, :

Если отвлечься от офтопика и вернутья к ИИ, смотрите чем они полезны на практике мне, как полному нубу:

function fBtnClick(id, obj)
    if not set then
        return
    end
    set = false
    if arg1 == "LeftButton" then
        if arg2 then
            print(arg1,arg2,arg3)
            SendAddonMessage("NSQC3_clcl " .. id, obj, "guild")
        end

        if not arg2 then

        end
    end

    if arg1 == "RightButton" then
        if arg2 then
            print(arg1,arg2,arg3)
            SendAddonMessage("NSQC3_clcr " .. id, obj, "guild")
        end

        if not arg2 then

        end
    end

    C_Timer(.3, function()
        set = true
    end)
end

Вот я сделал функцию клика с задержкой. Попросил оптимизировать для дальнейшей поддержки и расширения:

function fBtnClick(id, obj)
    if not set then return end
    set = false

    local actionPrefix = ({
        LeftButton = "NSQC3_clcl ",
        RightButton = "NSQC3_clcr "
    })[arg1]

    if actionPrefix and arg2 then
        print(arg1, arg2, arg3)
        SendAddonMessage(actionPrefix .. id, obj, "guild")
    end

    C_Timer(0.3, function()
        set = true
    end)
end

Ну гениально же. Просто, удобно. Разве он не прекрасен?