Moin!
Kurzer Nachtrag: Mir ist eben aufgefallen, dass, wenn man dem Link folgt, ein Befehl gleich ganz oben (Client = Mod) angezeigt wird, der glaube ich, dem (Client = ClientMod) im Forum 'Neuerungen' (oder so ähnlich heißt) nicht entspricht. Vermutlich funzen beide, habs eben noch nicht ausprobiert.
Bei Client = xxx führen sowohl "mod", "ClientMod" als auch "de.brettspielwelt.client.mod.ClientModFactory"
als Werte für xxx zum ClientMod, wobei die ersten beiden Kürzel eingeführt wurden,
weil die dritte Möglichkeit für einen normalen Spieler etwas "sperrig" erschien...

Analog /client xxx...
"vamp" und "Vampire" stehen für "de.brettspielwelt.client.vampire.VampireFactory" (Vampire).
"base" für die übliche "de.brettspielwelt.client.BaseClientFactory"...
Wer basteln möchte, kann sich seine eigene Factory implementieren (Interface im Anhang).
Grüße, SLC
===============================================================================================
Beispiel für eine unveränderte MyClientFactory.java
===============================================================================================
package de.brettspielwelt.client; // oder besser de.brettspielwelt.client.mine
import de.brettspielwelt.client.BaseClientFactory;
public class MyClientModFactory extends BaseClientFactory
{
public String getName(boolean standAlone) { return (standAlone ? "MyClientMod" : "MyBrowserMod"); }
// Überladen für MyClient...
// TODO
}
===============================================================================================
Derzeitiges Interface ClientFactory.java mit den möglichen Überladungen in MyClientFactory.java
===============================================================================================
//-------------------------------------------------------------------
//
// ClientFactory - Interface für Factory der Komponenten des Clients
//
// @author SLC
//
// $Revision: 1.1 $
//
//-------------------------------------------------------------------
// Bugs:
//-------------------------------------------------------------------
// Ideen und fehlende Features:
//-------------------------------------------------------------------
package de.brettspielwelt.client;
import java.awt.Container;
import java.awt.LayoutManager;
import java.awt.MediaTracker;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.TextField;
import de.Vect;
import de.brettspielwelt.client.media.MediaAppender;
import de.brettspielwelt.client.media.MediaConsumer;
import de.brettspielwelt.client.media.MediaStreamReader;
import de.brettspielwelt.client.tools.Tools;
import de.brettspielwelt.client.util.CopyPasteProvider;
import de.brettspielwelt.client.util.tooltips.TooltipTimer;
public interface ClientFactory
{
public void construct(Client master);
public String getName(boolean standAlone);
// Generierende Methoden...
public AppLoader newAppLoader();
public ChatFenster newChatFenster();
public CityCanvas newCityCanvas();
public ClientLoader newClientLoader();
public CopyPasteProvider newCopyPasteProvider();
public EventDistributor newEventDistributor();
public IconBar newIconBar();
public LocalCommand newLocalCommand();
public MediaAppender newMediaAppender(MediaConsumer consumer);
public MediaStreamReader newMediaStreamReader(String myLang, String myDir, String myFile, String myTarget, boolean myTestUnicode, boolean myTestDefaultLang);
public MediaTracker newMediaTracker();
public MenuItem newMenuItem(String label);
public MenuShortcut newMenuShortcut(int key);
public LayoutManager newLayoutChat();
public LayoutManager newLayoutClient();
public LayoutManager newLayoutCollection();
public LayoutManager newLayoutSwing();
public LayoutManager newLayoutTabbed();
public LayoutManager newLayoutTop();
public Login newLogin();
public NetworkFrame newNetworkFrame();
public NewbieFrame newNewbieFrame();
public NewbieAskFrame newNewbieAskFrame();
public Panel newPanelChat();
public Panel newPanelCollection();
public Container newPanelSwing();
public Container newPanelTabbed();
public Panel newPanelTop();
public PopupMenu newPopupMenu(String label);
public PresentFrame newPresentFrame();
public ReconnectFrame newReconnectFrame();
public ReconnectThread newReconnectThread();
public RequestFrame newRequestFrame(Sound snd, String who);
public Sound newSound();
public BSWTextArea newBSWTextArea();
public TellFrame newTellFrame(String who);
public TellFrame newTellFrame(String who, boolean show);
public TellFrame newTellFrame(String who, boolean show, boolean create);
public TextField newTextField(String text);
public TextField newTextField(String text, int columns);
public Tools newTools();
public TooltipTimer newTooltipTimer();
public TranslationFrame newTranslationFrame(Vect v);
public UserSettingFrame newUserSettingFrame();
}
//-------------------------------------------------------------------
//
// $Log: ClientFactory.java,v $
// Revision 1.1 2008/03/04 01:56:23 slc
// Interface für Factory der Komponenten des Clients
//
//-------------------------------------------------------------------