-- не настраивать
require( "scripts/game/deftime.lua" );
require( "scripts/game/deftasks.lua" );
GameObject = {
    Params = {
        ID="sheephouse";
        width=4;
        height=4;
        image="sheephouse2",
        --health=5000;
        hungry=5000;
        RandomTasks=0;
        thirst=5000;
        GridData = { 
            1,1,1,1,
            1,1,1,1,
            1,1,1,0,
            1,1,1,0,
        };
        no_click=1;
    };

    -- точки подхода персонажа
    ActivePoints = { 
        take =   { 
                        { {"sheep2","sheep2pink"}, 1,-3,0, 0,  0,0,0 };
                        { {"sheep2","sheep2pink"}, -1,-3,0, 0,  0,0,0 };                                
                        { {"sheep2","sheep2pink"}, 3,-3,0, 0,  0,0,0 };
                     }; 
        plank = {
                 { {}, 4,2,0, 0,  0,0,0 };
                };                                             
    };
    Objects = { };
    Tasks = { 
        plank = { FuncName="PlankingTaskExecute", timer=1, time_tick=100, restore_health=1000 };
    };
    -- перечисление всех триггеров для обьекта
    Triggers = { 
        need_repair = {FuncName="NeedRepairTriger", NotRunWhen={}, timer={ 55 }, first_timer={ 10000 }, amount=1, cur_value=0, koef=0.5 }
    };
    --задачи которые начинают выполнятся после создания обьекта
    InitActiveTasks = { };
    --задачи которые обьект ожидает после создания обьекта
    InitExpectedTasks = {};
    -- точки прихода
};
function GameObject:Get()
    return self;
end
function GetParams()
    aObj = GameObject:Get();   
    return aObj.Params;
end

function PlankingTaskExecute()
    DefPlankingTaskExecute("sheep2","");
end

function NeedRepairTriger()
    DefNeedRepairTriger("sheep2","");
end


