require( "scripts/game/deftasks.lua" );
require( "scripts/game/deftime.lua" );
-- не настраивать
GameObject = {
-- основные параметры
    Params = {
        ID="portion";
        width=1;
        height=1;
        GridData = { 
            1
        }; 
        action_enabled = 0;
    };
    -- точки подхода персонажа
    ActivePoints = { 
        eating = { 
                        { {"sheep","cow"}, 1,-1,0,  0,  1,-1,0 };
                   }; 
    };
    Objects = { };
    -- перечисление всех задач для обьекта
    Tasks = { 
        take_eating = { FuncName="TakeEatingTaskExecute", sleeping={0}, not_need_action=1, skill_up = 0, restore_health=1000, time_tick=10; };
    };
    -- перечисление всех триггеров для обьекта
    Triggers = { };
    --задачи которые начинают выполнятся после создания обьекта
    InitActiveTasks = { };
    --задачи которые обьект ожидает после создания обьекта
    InitExpectedTasks = {};
    -- акция
    Action = {  
        Name = "eating";  
        IDs = {"sheep","cow"};
        CanMany = 0;
        Icon="seno_task_icon";
    }
};
function GameObject:Get()
    return self;
end
function GetParams()
    aObj = GameObject:Get();   
    return aObj.Params;
end

function OnInit()
    CPP_RunStringParent("CreatePortion();");
end

function TakeEatingTaskExecute()
    aObj = GameObject:Get();   
    --ScriptDump("TakeEatingTaskExecute");
    aObj.Params.action_enabled = 0;
    CPP_RunStringParent("TakePortion();");
    --eatmachine:TakePortion()
    --CPP_RecursiveRun("eatmachine_on",0);
    CPP_SetAnimState("normal");
    return 0;
end

function PortionOn()
    aObj = GameObject:Get();   
    aObj.Params.action_enabled = 1;
    CPP_SetAnimState("portion_enabled");
    CPP_WantSelect(1);
    --ScriptDump("PortionOn");
end
