refreshcylindered = {}; function refreshcylindered .prerequisitesPresent(specializations) return SpecializationUtil.hasSpecialization(Foldable, specializations); end; function refreshcylindered:load(xmlFile) end; function refreshcylindered:keyEvent(unicode, sym, modifier, isDown) end; function refreshcylindered:mouseEvent(posX, posY, isDown, isUp, button) end; function refreshcylindered:update(dt) end; function refreshcylindered:updateTick(dt) if self:getIsActive() then if self.foldAnimTime > 0 and self.foldAnimTime < 1 then for _, part in pairs(self.movingParts) do part.isDirty = true; Cylindered.updateMovingPart(self, part); end; end; end; end; function refreshcylindered:draw() end; function refreshcylindered:onEnter() end; function refreshcylindered:onLeave() end; function refreshcylindered:delete() end;