// Copyright (c) 2023 Alex Diener. All rights reserved. #ifndef __EntityComponent_attack_H__ #define __EntityComponent_attack_H__ typedef struct EntityComponent_attack EntityComponent_attack; #define EntityComponent_attack_superclass GameEntityComponent #include "PROJECT_NAME/GameEntityComponent.h" #include "PROJECT_NAME/SharedDefinitions.h" #define EntityComponent_attack_ivars \ GameEntityComponent_ivars \ \ AttackType type; #define EntityComponent_attack_vtable(self_type) \ GameEntityComponent_vtable(self_type) stemobject_declare(EntityComponent_attack) EntityComponent_attack * EntityComponent_attack_create(AttackType type); bool EntityComponent_attack_init(EntityComponent_attack * self, AttackType type); void EntityComponent_attack_dispose(EntityComponent_attack * self); void EntityComponent_attack_initCopy(EntityComponent_attack * self, compat_type(GameEntityComponent *) original); #endif