project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerList.java
changeset 7352 641f11cdd319
parent 7342 0e29eec2df5c
child 7355 5673e95ef647
equal deleted inserted replaced
7349:12fdfd2038d4 7352:641f11cdd319
     1 package org.hedgewars.hedgeroid.netplay;
     1 package org.hedgewars.hedgeroid.netplay;
     2 
     2 
     3 public class PlayerList extends ObservableLinkedHashMap<String, Player> {
     3 import java.util.Collections;
       
     4 import java.util.Map;
       
     5 import java.util.TreeMap;
       
     6 
       
     7 import android.database.DataSetObservable;
       
     8 
       
     9 public class PlayerList extends DataSetObservable {
     4 	private long nextId = 1;
    10 	private long nextId = 1;
       
    11 	private Map<String, Player> players = new TreeMap<String, Player>();
     5 	
    12 	
     6 	public void addPlayerWithNewId(String name) {
    13 	public void addPlayerWithNewId(String name) {
     7 		Player p = new Player(name, nextId++);
    14 		Player p = new Player(name, nextId++);
     8 		put(name, p);
    15 		players.put(name, p);
       
    16 		notifyChanged();
     9 	}
    17 	}
    10 	
    18 	
    11 	public interface Observer extends ObservableLinkedHashMap.Observer<String, Player> {}
    19 	public void removePlayer(String name) {
       
    20 		if(players.remove(name) != null) {
       
    21 			notifyChanged();
       
    22 		}
       
    23 	}
       
    24 
       
    25 	public Map<String, Player> getMap() {
       
    26 		return Collections.unmodifiableMap(players);
       
    27 	}
    12 }
    28 }