
-- Animacja pasow
-- Animacja ktora wprawia w ruch pasy, gdy jest aktywna komenda isTurnedOn
-- Autor - Grzegorz056
-- 17.05.2011 r edit: 29.04.2014r
 
animacja_pasy = {};

function animacja_pasy.prerequisitesPresent(specializations)
    return true
end;

function animacja_pasy:load(xmlFile)
	
	self.animacjapasy = {};
       	     local i = 0;
       		while true do
            	local key = string.format("vehicle.animacjapasy.animacjapasow(%d)", i);

          if not hasXMLProperty(xmlFile, key) then
               break;
           end;

         	local node = Utils.indexToObject(self.components, getXMLString(xmlFile, key.."#index"));
            	local speed = Utils.getVectorNFromString(getXMLString(xmlFile, key.."#speed"), 2);
          	if node ~= nil and speed then
                table.insert(self.animacjapasy, {node=node, speed=speed});
           end;
	i = i +1;
      end;

end;

function animacja_pasy:delete()
end;

function animacja_pasy:mouseEvent(posX, posY, isDown, isUp, button)
end;

function animacja_pasy:keyEvent(unicode, sym, modifier, isDown)
end;

function animacja_pasy:update(dt)

if self:getIsActive() then
	if self.isThreshing then
		for _, part in pairs(self.animacjapasy) do
          	setShaderParameter(part.node, "uvScrollSpeed", part.speed[1], part.speed[2], 0, 0, false);
      end;
	elseif not self.isThreshing then
		for _, part in pairs(self.animacjapasy) do
          	setShaderParameter(part.node, "uvScrollSpeed", 0, 0, 0, 0, false);
	end;
    end;
end;

			
			if self.targetPipeState == 2 then
				self:setAnimationTime(2, self.animationParts[2].animDuration);
			elseif self.targetPipeState == 1 and self.pipeSoundEnabled then
				self:setAnimationTime(2, self.animationParts[2].offSet);
			end;


		if self.attacherVehicle then	
			self:setAnimationTime(1, self.animationParts[1].animDuration);
		else
			self:setAnimationTime(1, self.animationParts[1].offSet);
		end;

		if self.isThreshing then
			self:setAnimationTime(4, self.animationParts[4].animDuration);
		else
			self:setAnimationTime(4, self.animationParts[4].offSet);
		end;

		if self.isThreshing and self.combineIsFilling then
       			 self:setAnimationTime(5, 1);
    		else
       			 self:setAnimationTime(5, 0);
    		end;

		if self.pipeIsUnloading == true then	
			self:setAnimationTime(3, self.animationParts[3].animDuration);
		elseif self.pipeIsUnloading == false then
			self:setAnimationTime(3, self.animationParts[3].offSet);
		end;

end;
function animacja_pasy:onLeave()
end;

function animacja_pasy:onEnter()
end;

function animacja_pasy:draw()
end;
function animacja_pasy:validateAttacherJoint(implement, jointDesc, dt)
    return true;
end;