// Copyright (c) 2023 Alex Diener. All rights reserved.

#ifndef __EntityComponent_facing_H__
#define __EntityComponent_facing_H__

typedef struct EntityComponent_facing EntityComponent_facing;
#define EntityComponent_facing_superclass GameEntityComponent

#include "PROJECT_NAME/GameEntityComponent.h"
#include "PROJECT_NAME/SharedDefinitions.h"

#define EntityComponent_facing_ivars \
	GameEntityComponent_ivars \
	\
	FacingDirection facing;

#define EntityComponent_facing_vtable(self_type) \
	GameEntityComponent_vtable(self_type)

stemobject_declare(EntityComponent_facing)

bool EntityComponent_facing_init(EntityComponent_facing * self, FacingDirection facing);
void EntityComponent_facing_dispose(EntityComponent_facing * self);
void EntityComponent_facing_initCopy(EntityComponent_facing * self, compat_type(GameEntityComponent *) original);

#endif
