I apologize if the question is a little vague, It was hard to explain it in a short sentence.
I'm currently writing a component based game, it's getting along great but I'm starting to wonder how tightly I should stick to "the rules". Actually, I'm not even sure what the rules are!
It's clear that every interactive gameobject should be an entity. But what about the level elements? I'm using a tile based system, should every tile be an entity? I do have a GraphicsComponent ready with all it's displaying goodness that I need to display them. But coming from inherritance, it just feels strange threating a "gameobject" the same as a level element.
It also feels like I'm dumping everything in a big empty space right now, there is no dedicated environment for different game elements. Where a tile normally is part of a map, and an object normally is part of a world. The tiles and objects are now thrown in the same place.
Same goes for interface components, I was in need of animated button, and that GraphicsComponent looked very tempting again.
How is this usually handled in component based games? Most articles online only mention the use of components for gameobjects, and looking into other component engine source code gives me a headache.