wheelextra = {}; function wheelextra.prerequisitesPresent(specializations) return true; end; function wheelextra:load(xmlFile) self.safeMode = true self.on = false; local numWheelAreas = Utils.getNoNil(getXMLInt(xmlFile, "vehicle.wheelAreas#count"), 0); self.wheelAreas = {} for i=1, numWheelAreas do self.wheelAreas[i] = {}; local areanamei = string.format("vehicle.wheelAreas.wheelArea%d", i); self.wheelAreas[i].point = Utils.indexToObject(self.components, getXMLString(xmlFile, areanamei .. "#pointIndex")); self.wheelAreas[i].width = Utils.getNoNil(getXMLFloat(xmlFile, areanamei .. "#width"), 0.5) self.wheelAreas[i].height = Utils.getNoNil(getXMLFloat(xmlFile, areanamei .. "#height"), 0.25) end; end; function wheelextra:delete() end; function wheelextra:mouseEvent(posX, posY, isDown, isUp, button) end; function wheelextra:keyEvent(unicode, sym, modifier, isDown) if sym == Input.KEY_t and isDown then self.on = not self.on; end; end; function wheelextra:update(dt) if self.on then for k, wheelArea in pairs(self.wheelAreas) do local x,y,z = getWorldTranslation(wheelArea.point); local w = wheelArea.width; local h = wheelArea.height; local x1 = x + h/2 local x2 = x - h/2 local z1 = z + w/2 local z2 = z - w/2 Utils.cutFruitArea( 1, x1, z2, x1, z1, x2, z2); Utils.cutFruitArea( 2, x1, z2, x1, z1, x2, z2); Utils.cutFruitArea( 3, x1, z2, x1, z1, x2, z2); Utils.cutFruitArea( 4, x1, z2, x1, z1, x2, z2); if self.safeMode then Cultivator.updateSafeArea(x, z, x1, z1, x2, z2) else Utils.updateCultivatorArea(x, z, x1, z1, x2, z2); end; if self.safeMode then Cultivator.updateSafeArea(x, z, x1, z1, x2, z2) else Utils.updateCultivatorArea(x, z, x1, z1, x2, z2); end; end; end; if self:getIsActiveForInput() then if InputBinding.hasEvent(InputBinding.IMPLEMENT_EXTRA3) then self.safeMode = not self.safeMode end; end; end; function wheelextra:draw() if self.safeMode then g_currentMission:addHelpButtonText("switch to normal Mode", InputBinding.IMPLEMENT_EXTRA3); else g_currentMission:addHelpButtonText("switch to safe Mode", InputBinding.IMPLEMENT_EXTRA3); end; if self.on then g_currentMission:addExtraPrintText("Taste T: Reifenspuren ausschalten"); else g_currentMission:addExtraPrintText("Taste T: Reifenspuren einschalten"); end; end;