Hello, I’m writing an actor component that gives fighting abilities to a character. Currently the actor component I’m creating only works with an ACharacter since it uses it’s movement component to block movements, detect if the player tried to jump and stuff like that.
I’m not happy with this design however, I think an actor component should work for any type of actor and be independant of any other component (I might be wrong), so I though why not redesign my component so that it “requests” the actor that owns it to do these actions (block movements, detect jump, etc.). But again it raises another issue, my component looses it’s “plug and play” aspect and requires the developer to implement some features, which might be wrongly implemented which is even worse.
So I’m really scratching my head wondering if I should redesign the component to do this “request” thing, which would allow it to work with any type of actor and then create a ready-to-use character derived class that implements the required features to gain some time, or leave it as is and make it only work with characters.