-- не настраивать
function OnInit()
-- вся инициализация должна проводится только в этой функции
end


function isMayByTask(aTask)
    return 1;
end

function OnNextTask(aPrevTask, aNextTask)
end

function GetRandomValue(aValues)
    local count = table.getn(aValues);
    if(count==0)then return 0 end;
    local res  = Random(1, count);
    return aValues[res];
end
-- получить время одного тика для задачи, aTask - LuaTable описывающая задачу
function defGetTimerTaskValue(aTask)
    aObj = GameObject:Get();
    local ret = 1000;
    if (aObj.Tasks[aTask] ~= nil) then
        local res = aObj.Tasks[aTask].time_tick;
        if (res == nil) then return ret; end
        if (res <= 0) then return ret; end
        local koof=1;
        if( aObj.Params.WorkKoof )then koof = aObj.Params.WorkKoof; end     
        return res*koof;
    end
    return ret;
end
-- получить время одного тика для задачи, aTask - LuaTable описывающая задачу
-- можно дополнительно привязать обработку переопределив эту функцию в скрипте
function GetTimerTaskValue(aTask)
    return defGetTimerTaskValue(aTask);
end

-- получение параметров idle
function GetIdleParams(aNewCycle)
    aObj = GameObject:Get();
    if (aObj.Params.idle_timer == nil or aObj.Params.idle_animation == nil) then return -1; end
    local val = Random(aObj.Params.idle_timer[1],aObj.Params.idle_timer[2]);
    if (aNewCycle == 0) then 
        val = val + aObj.Params.idle_timer[3];
    end
    local tt = 0;
    local sizeTableIdle = table.getn(aObj.Params.idle_animation);
    for i = 1, sizeTableIdle, 1 do
        tt = tt + aObj.Params.idle_animation[i];
    end
    local valRand = Random(1,tt-1);
    tt = 0;
    local index = 1;
    for i = 1, sizeTableIdle, 1 do
        tt = tt + aObj.Params.idle_animation[i];
        if (valRand <= tt) then
            index = i;
            break;
        end
    end
    if (index < 1) then index = 1; end
    if (index > sizeTableIdle) then index = sizeTableIdle; end
    return (val * 10 + index);
end

--заглушка для открывания двери
function OpenDoor()
end
--заглушка для закрывания двери
function CloseDoor()
end
