-- --Specialization LED Tankanzeige - fuelIndicators --8 LEDs zeigen den Füllstand an --Tank voll 8 LEDs leuchten -- fueldisplay = {}; function fueldisplay.prerequisitesPresent(specializations) return SpecializationUtil.hasSpecialization(Motorized, specializations); end; function fueldisplay:load(xmlFile) self.fuelIndicatorsGroup = {}; --fuelIndicators self.fuelIndicatorsGroup = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.fuelIndicators#index")); self.numFuelIndicators = Utils.getNoNil(getXMLInt(xmlFile, "vehicle.fuelIndicators#count"), 0); self.fuelIndicators = {}; for i=1, self.numFuelIndicators do local objname = string.format("vehicle.fuelIndicators.fuelIndicator" .. "%d", i); self.fuelIndicators[i] = {}; self.fuelIndicators[i].rotNode = Utils.indexToObject(self.components, getXMLString(xmlFile, objname .. "#rotNode")); setVisibility(self.fuelIndicators[i].rotNode,true); end; --fuelwarningSound fuelwarningSoundFile = Utils.getFilename("Sounds/fuelwarning.wav", self.baseDirectory); self.fuelwarningSoundId = createSample("fuelwarningSound"); loadSample(self.fuelwarningSoundId, fuelwarningSoundFile, false); self.fuelwarningPlaying = false; self.playedSound = false; function fueldisplay:delete() end; function fueldisplay:readStream(streamId, connection) end; function fueldisplay:writeStream(streamId, connection) end; function fueldisplay:readUpdateStream(streamId, timestamp, connection) end; function fueldisplay:writeUpdateStream(streamId, connection, dirtyMask) end; function fueldisplay:mouseEvent(posX, posY, isDown, isUp, button) end; function fueldisplay:keyEvent(unicode, sym, modifier, isDown) end; --update?? function fueldisplay:updateFuelIndicators() local amountOfFuelPerIndicator = self.fuelCapacity/8; --Anzahl der "Led" Einträge in der Vehicle.xml! local timesToIterate = self.fuelFillLevel/amountOfFuelPerIndicator; timesToIterate = math.floor(timesToIterate); if self.oldTimesToIterate ~= timesToIterate then for i=1, self.numFuelIndicators do setVisibility(self.fuelIndicators[i].rotNode, false); end; for i=1, timesToIterate do setVisibility(self.fuelIndicators[i].rotNode, true); end; end; self.oldTimesToIterate = timesToIterate; end; end; function fueldisplay:updateTick(dt) if self:getIsActive() then if self.isMotorStarted then setVisibility(self.fuelIndicatorsGroup, true); else setVisibility(self.fuelIndicatorsGroup, false); end; --draw?? function fueldisplay:draw() end; end; end;