--unisound
--by ? / Blackdragon223 / Hummel


unisound = {};

function unisound.prerequisitesPresent(specializations)
    return SpecializationUtil.hasSpecialization(Motorized, specializations);
end;

function unisound:load(savegame)

    self.pipeLight = nil
    if self.pipeLight ~= nil then
    setVisibility(self.pipeLight, false);
    end;
    self.pipeLightActive = false;
    self.balcamera = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.balcamera#index"));
    self.jobbcamera = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.jobbcamera#index"));
    end;    

function unisound:delete()

end;

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

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

function unisound:update(dt)

    if self.isEntered then

        if self.camIndex == 2 then

                if self.motorSound ~= nil then
                setSampleVolume(self.motorSound, self.motorSoundVolume/2.9);
               end;
                if self.motorSoundRun ~= nil then
                setSampleVolume(self.motorSoundRun, self.motorSoundRunVolume/2.9);
                end;
                if self.motorStartSound ~= nil then
                setSampleVolume(self.motorStartSound, self.motorStartSoundVolume/2.5);
                end;
                if self.motorStopSound ~= nil then
                setSampleVolume(self.motorStopSound, self.motorStopSoundVolume/2.5);
                end;
                if self.reverseDriveSound ~= nil then
                setSampleVolume(self.reverseDriveSound, self.reverseDriveSoundVolume/2.5);
                end;
                if self.compressedAirSound ~= nil then
                setSampleVolume(self.compressedAirSound, self.compressedAirSoundVolume/2.5);
                end;
                if self.compressionSound ~= nil then
                setSampleVolume(self.compressionSound, self.compressionSoundVolume/2.5);
                end;
                if self.aiMotorSound ~= nil then
                setSampleVolume(self.aiMotorSound, self.aiMotorSoundVolume/2.5);
                end;
                if self.aiThreshingSound ~= nil then
                setSampleVolume(self.aiThreshingSound, self.aiThreshingSoundVolume/2.5);
                end;
                if self.pipeSound ~= nil then
                setSampleVolume(self.pipeSound, 0.5);
                end;
                if self.threshingStartSound ~= nil then
                setSampleVolume(self.threshingStartSound, 0.5);
                end;
                if self.threshingSound ~= nil then
                setSampleVolume(self.threshingSound, 0.5);
                end;
                if self.cutterthreshingSound ~= nil then
                setSampleVolume(self.cutterthreshingSound, self.cutterthreshingSoundVolume/2);
                end;
                if self.threshingStopSound ~= nil then
                setSampleVolume(self.threshingStopSound, 0.5);
                end;
                if self.attachSound ~= nil then
                setSampleVolume(self.attachSound, 0.5);
                end;
                if self.honkSound ~= nil then
                setSampleVolume(self.honkSound, self.honkSoundVolume/2.5);
               end;
        else
                if self.motorSound ~= nil then
                setSampleVolume(self.motorSound, self.motorSoundVolume);
               end;
                if self.motorSoundRun ~= nil then
                setSampleVolume(self.motorSoundRun, self.motorSoundRunVolume);
                end;
                if self.motorStartSound ~= nil then
                setSampleVolume(self.motorStartSound, self.motorStartSoundVolume);
                end;
                if self.motorStopSound ~= nil then
                setSampleVolume(self.motorStopSound, self.motorStopSoundVolume);
                end;
                if self.reverseDriveSound ~= nil then
                setSampleVolume(self.reverseDriveSound, self.reverseDriveSoundVolume);
                end;
                if self.compressedAirSound ~= nil then
                setSampleVolume(self.compressedAirSound, self.compressedAirSoundVolume);
                end;
                if self.compressionSound ~= nil then
                setSampleVolume(self.compressionSound, self.compressionSoundVolume);
                end;
                if self.aiMotorSound ~= nil then
                setSampleVolume(self.aiMotorSound, self.aiMotorSoundVolume);
                end;
                if self.aiThreshingSound ~= nil then
                setSampleVolume(self.aiThreshingSound, self.aiThreshingSoundVolume);
                end;
                if self.pipeSound ~= nil then
                setSampleVolume(self.pipeSound, 1);
                end;
                if self.threshingStartSound ~= nil then
                setSampleVolume(self.threshingStartSound, 1);
                end;
                if self.threshingSound ~= nil then
                setSampleVolume(self.threshingSound, 1);
                end;
                if self.cutterthreshingSound ~= nil then
                setSampleVolume(self.cutterthreshingSound, self.cutterthreshingSoundVolume);
                end;
                if self.threshingStopSound ~= nil then
                setSampleVolume(self.threshingStopSound, 1);
                end;
                if self.attachSound ~= nil then
                setSampleVolume(self.attachSound, 1);
                end;
                if self.honkSound ~= nil then
                setSampleVolume(self.honkSound, self.honkSoundVolume);
               end;
        end;
    
            if Input.isKeyPressed(Input.KEY_shift) and self.camIndex == 2 then
                    setCamera(self.balcamera);
               end;
            if Input.isKeyPressed(60) and self.camIndex == 2 then
                    setCamera(self.jobbcamera);
               end;
            if self.pipeLight ~= nil then
                    if self.pipeLightActive then
                        setVisibility(self.pipeLight, self.pipeLightActive);
                else
                        setVisibility(self.pipeLight, self.pipeLightActive);
                end;
            end;
        if self.numAttachedCutters == 0 then
            self.lepcsoMax = true;
        else
                self.lepcsoMax = false;
        end;

    end;    

end;

function unisound:draw()  
end;

function unisound:onEnter()

    self.lepcsoMax = true;

end;

function unisound:onLeave()

    if self.pipeLight ~= nil then
        setVisibility(self.pipeLight, false);
    end;
    
end;
