NoiseAnimation = {}
class('NoiseAnimation').extends(NobleSprite)

function NoiseAnimation:init(x, y)
    NoiseAnimation.super.init(self, "assets/sprites/noise", true)
    self.animation:addState("run", 2, 11)
    self.animation:addState("idle", 1, 1)
    self.animation.run.frameDuration = 2.5
    self.animation:setState("idle")
    self:setZIndex(ZIndex.foreground)
    self:setSize(400, 240)
    self:add()
    self:moveTo(x, y)

    self.state = "idle"
    self.idleFrames = 0
end

function NoiseAnimation:update()
    if self.state == "idle" then
        self.idleFrames -= 1
        if self.idleFrames <= 0 then
            self.state = "run"
            self.animation:setState("run")
        end
    else
        local r = math.random(0)
        if r < 0.01 then
            self.state = "idle"
            self.idleFrames = math.random(30, 100)
            self.animation:setState("idle")
        else
            self.animation:setState("run")
        end
    end
end
