-- не настраивать
require( "scripts/game/deftasks.lua" );
require( "scripts/game/deftime.lua" );
GameObject = {
    Params = {
        ID="cowshed";
        width=8;
        height=8;
        RandomTasks=0;
        GridData = { 
            1,1,0,1,0,1,0,1,
            1,1,0,1,0,1,0,1,
            1,1,0,1,0,1,0,1,
            1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,0,
            1,1,1,1,1,1,1,0,
            1,1,1,1,1,1,1,0,
            1,1,1,1,1,1,1,0
        };
        no_click=1;
    };
    -- точки подхода персонажа
    ActivePoints = { 
        take =   { 
                        { {"cow"}, 1,0,0, 0,  0,0,0 };
                        { {"cow"}, 3,0,0, 0,  0,0,0 };
                        { {"cow"}, 5,0,0, 0,  0,0,0 };
                     }; 
        plank = {
            { {}, 0,-1,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={ 10 }, 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("cow","");
end

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

