PYTHON: Brain Freeze .... Help ....

After an hour or so coding my game, my brain has frozen up regarding a feature I’m implementing.
I think that trying to communicate it will help me understand the problem (and you may be able to help)

The Scenario:
DEEP Space, my game. Time to re-do the weapon management system.
The player space ship has a maximum armament of 5 primary weapons. There is a selection of some primaries to chose from. These weapons can each be assigned to a slot, in any order.

What’s done:
By editing some game properties it is possible to change which weapons are selected, and which slot they are in. All fire-rates and such are also set correctly for each weapon, thanks to a dictionary containing lists.

The Problem:
The display of the weapons used to be managed by a rotating pentagonal prism, with one side for each of the five weapons. It was then rotated, so the visible side was the selected weapon. That was easy, as I had an animation of it in each of the five locations, and this could be linked to the one selected simply because the order of the weapons could not change.
Now though, the order can change, and the weapon shown must still be presented accurately.

Possible Solutions:

  1. Establish a link between the available weapons and objects rotation using a dictionary. This to me seems rather clumsy, as each time I want to add a weapon I have to update the animation, the dictionary, the keyframe etc.
  2. Assign each weapon a number that represents it’s vertical position on the image-chart of weapon choices. Then when time comes to change weapon I move the UV co-ordinates to the required positioning.

Well, I guess I don’t have a question at the end of that. I think I’ll go with solution 2…

I’ll post this anyway just because someone might be interested, or have a better idea.

If the weapons are physical objects, why not model them and make them invisible? Also, if you can only have one of each kind of weapon (i.e. you can’t have two machine guns) then you can model them all and move them to be where they should be in the slots. Then, you can make them visible or invisible when necessary.