In a game project there is a CS file with character interface and derived classes, all about different characters and their properties. I assume there should be other classes for other game stuff.
1) Is it correct that I create separate file for another game object type, for example Weapon?
2) Is it correct to also include related interfaces in this file?
3) What is the role of interfaces here rather than just using a common base class?
4) Can you name a short example why I need interfaces in games?