#ifndef INTERRUPT_H
#define INTERRUPT_H

#include <cpctelera.h>
#include "Difficulty.h"
#include "GameState.h"
#include "GameTypes.h"
#include "Sound.h"

// The current count of the collision timer when the player is invincible due to an enemy collision.
extern u16 collisionTimerCount;

// Indicates that the collision timer is active.
extern u8 collisionActive;

// The current count of the oxygen timer when the player is underwater.
extern u16 oxygenTimerCount;

// Indicates that the player oxygen is currently being depleted.
extern u8 oxygenDepleting;

// Indicates whether the water logic should be run because an iteration of the water time has been reached. 
extern u8 runWaterLogic;

// The current count of the water timer for the chasing\gesture water.
extern u16 waterTimerCount;

// The current count of how long since the most recent projectile was destroyed.
extern u8 projectileDestroyedTimerCount;

// Actions to run when an interrupts occur.
void interruptHandler();

// Activate the player invincibility collision timer.
void activateCollisionTimer();

#endif