project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerList.java
author Medo <smaxein@googlemail.com>
Tue, 24 Jul 2012 16:57:48 +0200
changeset 7355 5673e95ef647
parent 7352 641f11cdd319
child 7358 57a508884052
permissions -rw-r--r--
Hedgeroid: Misguided attempts at getting the connection lifecycle right. Committing this because it basically runs this way, so i might want to revert to it later :)

package org.hedgewars.hedgeroid.netplay;

import java.util.Collections;
import java.util.Map;
import java.util.TreeMap;

import android.database.DataSetObservable;

public class PlayerList extends DataSetObservable {
	private long nextId = 1;
	private Map<String, Player> players = new TreeMap<String, Player>();
	
	public void addPlayerWithNewId(String name) {
		Player p = new Player(name, nextId++);
		players.put(name, p);
		notifyChanged();
	}
	
	public void removePlayer(String name) {
		if(players.remove(name) != null) {
			notifyChanged();
		}
	}

	public void clear() {
		if(!players.isEmpty()) {
			players.clear();
			notifyChanged();
		}
	}

	public Map<String, Player> getMap() {
		return Collections.unmodifiableMap(players);
	}
}