public void UseItem(GearItem item) { switch (item) { case FishingRod rod: { CurrentRod = rod; RaiseMessage(string.Format("Your current rod is {0}", rod.Name)); break; } case Reel reel: { InstallReel(reel); break; } case FishingLine line: { InstallLine(line); break; } case Lure lure: { CurrentLure = lure; RaiseMessage(string.Format("Current lure is {0} ({1} portions left)", lure.OriginalName, lure.PortionsLeft)); break; } case HooksSet hooksSet: { CurrentRod.InstallHook(hooksSet.TakeOneHook()); RaiseMessage(string.Format("You install {0} on {1}", hooksSet.Hook.Name, CurrentRod.Name)); break; } } RaiseBackpackChanged(); }