require( "scripts/game/deftime.lua" );
-- не настраивать
GameObject = {
    Params = {
        ID="redbarn";
        width=3;
        height=3;
        GridData = { 
            1,1,1,
            1,1,1,
            1,1,1
        };
    };
    Objects = {};
    ActivePoints = { 
        keeping = { 
                   { {}, 1,-1,0,  0,  1,-1,0 };
                   }; 
    };
    -- перечисление всех задач для обьекта
    Tasks = {
        keeping = { FuncName="KeepTaskExecute", sleeping={0}, not_need_action=0, skill_up = 0, restore_health=1000 };
    };
    -- перечисление всех триггеров для обьекта
    Triggers = {};
    --задачи которые начинают выполнятся после создания обьекта
    InitActiveTasks = {};
    --задачи которые обьект ожидает после создания обьекта
    InitExpectedTasks = {};
    incount = 0;
};
function GameObject:Get()
    return self;
end
function GetParams()
    aObj = GameObject:Get();   
    return aObj.Params;
end

function KeepTaskExecute()
    aObj = GameObject:Get();   
    return 0;
end
-- вся инициализация должа проходить только в этой функции
function OnInit()
    GameObject.incount = 0;
end
--для открывания двери
function OpenDoor()
    if (GameObject.incount <= 0) then
        CPP_SetAnimState("open");
        CPP_PlaySound("door_open",0);
    end
    GameObject.incount = GameObject.incount + 1;
end
--для закрывания двери
function CloseDoor()
    GameObject.incount = GameObject.incount - 1;
    if (GameObject.incount <= 0) then 
        GameObject.incount = 0; 
        CPP_SetAnimState("normal");
    end
end
