Создаешь класс Gun, создаешь наследника - Pistol, создаешь нового наследника - Desert Eagle. По иерархии прописываешь общие параметры - размер магазина там, скорость стрельбы, масса/скорость пули и урон и т.п. Ну и реализуешь стрельбу на Update по команде в Pistol чтобы вызвался метод Fire, а уже у наследников он каждый по своему реализуется.