use crate::lc_entity_type::{LcEntityType, LcEntityTypeId};

/// An entity for logic constructor to operate on.
#[derive(Clone)]
pub struct LcEntity<T: LcEntityType> {
    pub game_entity: T,
}

impl<T: LcEntityType> LcEntity<T> {
    pub fn new(entity_type_instance: T) -> Self {
        Self {
            game_entity: entity_type_instance,
        }
    }

    pub fn type_id(&self) -> LcEntityTypeId {
        self.game_entity.type_id()
    }
}
