I'm having some conceptual difficulties understanding an efficient and clean way to implement multiple object selection behaviour in game. Think of an RTS in which you can select different kinds of units and do different things with them. My preliminary thoughts are that maybe I should create an interface ISelectable and implement it on each of my units and buildings. Basically, I'm pretty sure I should avoid creating a bunch of bools like marineIsSelected, medicIsSelected, yetAnotherUnitIsSelected, etc., and setting them to true when I click on the appropriate colliders. But, I've also never used interfaces and don't really know what that would look like or if it would be any simpler.
Suppose I just have a blank project with 3 different kinds of objects which I want to be selectable in it. When I select Object A, I want to be able to then click somewhere and have that object move to that location. When I select Object B, I want similar behaviour to occur. When I select object C, I don't want to be able to move it, but build other objects from it (for example). Are interfaces what I'm looking for? Is there another way that's simpler and that I'm overlooking? I want to avoid using a bunch of conditional logic where I can since there will be lots of different kinds of objects.