Player positions in a lobby system

Hey guys,
I’ve been beating my head against a wall all day trying to think of a way of assigning my network players a position in my lobby (adapted from Leepo’s awesome tutorials). Let me wind back a second though and explain my game a little bit. It’s an RTS game I have been working on for about 7 months. As with any RTS, players in the lobby are free to choose their army and their colour. All this works fine but I want their choices visible to the other players connected to the network (think Company of Hereos). Also if they choose the red army they should visibly move to the bottom below the “Red army” banner etc.

I’m doing all this with RPC calls of course. No point sharing my code as I’ve tried several things and deleted them in frustration. There is always that little voice that says “Robert this is easier than you are making it”. How would you attack this problem. Any advice would be good, I’m not lazy I solve most things myself, sure I’ll solve this eventually but just thought I’d ask. Thanks in advance.

Just an idea… never played company of heroes…

Create an array for keeping track of information to display.

class PlayerLobbyInfo {

 int armyId;
 int armyColor;  // is army id and color one in the same? maybe you don't need this
 string playerName;
}

IList <PlayerLobbyInfo> playerLobbyInfo = new List<PlayerLobbyInfo>;

When players makes their selection, RPC gets sent from server to all clients with pertiment info. As info get added to the array, sort by army id. In your Update loop, display the banner of the first position player based on armyId, then list all the players until the armyId changes, then display that banner based on armyId, list all the players until the armyId changes again, etc. etc.