/**
 * Copyright (c) 2021 Dominic Masters
 * 
 * This software is released under the MIT License.
 * https://opensource.org/licenses/MIT
 */

#pragma once
#include <dawn/dawn.h>

#include "round/match.h"
#include "render/frame.h"
#include "render/world.h"
#include "render/card.h"
#include "render/player.h"
#include "render/look.h"

#include "../file/asset.h"
#include "../display/shader.h"
#include "../display/camera.h"
#include "../display/gui/font.h"

/**
 * Initializes the poker context for the first time.
 * @param poker Poker context to initialize.
 * @param render Rendering context.
 */
void pokerInit(poker_t *poker, render_t *render);

/**
 * Updates the poker context.
 * @param poker Poker game to update.
 * @param render Render manager to use.
 */
void pokerUpdate(poker_t *poker, render_t *render);

/**
 * Cleans an existing poker game instance.
 * @param poker Poker instance to cleanup
 */
void pokerDispose(poker_t *poker);