/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" #include "../display/animation/queue.h" #include "vncharacter.h" #include "vntextbox.h" typedef struct _vnconversation_t vnconversation_t; typedef struct { /** Pointer to the original conversation */ vnconversation_t *conversation; /** Storage for pointer to text for text conversation elements */ char *text; /** Character this conversation piece belongs to */ vncharacter_t *character; /** Character's emotion */ uint8_t emotion; } vnconversationitemdata_t; /** Representation of a conversation, laid out similarly to a timeline. */ typedef struct _vnconversation_t { /** Internal Textbox for text elements */ vntextbox_t textbox; /** Data Storage for items' data */ vnconversationitemdata_t itemData[ANIMATION_QUEUE_ITEM_MAX]; /** Internal Queue for queueing the conversation */ queue_t actionQueue; } vnconversation_t;