
enum EventTypes {
	// Class Implemented
	gameUpdate = 1,
	scoreUpdate,
	matchEnd,
	assignId,
	matchmakingComplete,

	// Generic
	matchmakingInProgress,
	matchStart,
	matchNewRound, // unused
	matchPause, // unused
	matchResume, // unused

	// Client
	clientAnnounce,
	clientPlayerReady,
	clientInput,

}

enum InputEnum {
	noInput = 0,
	up = 1,
	down,
}

enum PlayerSide {
	left = 1,
	right
}

enum ClientRole {
	player = 1,
	spectator
}

enum MatchOptions {
	// binary flags, can be mixed
	noOption = 0b0,
	multiBalls = 1 << 0,
	movingWalls = 1 << 1
}

export {EventTypes, InputEnum, PlayerSide, ClientRole, MatchOptions}
