Thema: [Module] ModuleInit
-
30.05.2020, 12:37 #1
- Registriert seit
- 28.10.2011
- Beiträge
- 625
Thanked 279 Times in 168 Posts[Module] ModuleInit
Das initialisieren eines Modules geschieht über den Opcode ?.
Das Paket enthält folgende Daten:
[0] ? Opcode
[1] int eindeutige ModuleID
[2] Class Klassenname des Modules
[3] String Channelname
Beispiel-Paket:
?\012345\0BillardManager\0/Billard 123
/* Module Init */
} else if(nextToken.equals("?")) {
final String module_id = tokens.nextToken();
final String module_class = tokens.nextToken();
final String channel = this.getChannelName(tokens);
final ChannelFrame frame = this.channelFrames.get(channel);
if(frame == null) {
System.out.println("Channel does not exist. (" + channel + ")");
return;
}
final Class<?> clazz = Class.forName(module_class);
if(clazz != null) {
try {
final IModule instance = (IModule) clazz.newInstance();
System.out.println("Init Module (" + module_class + ", ID: " + module_id + ") on Channel " + channel);
this.getModule.put(module_id, instance);
instance.init(this, frame, module_id);
} catch(Exception ex) {
System.out.println("Exception while instanciation. " + ex);
}
} else {
System.out.println("Class does not exist. (" + module_class + ")");
}
} [...]
Die Modul-Klasse implementiert ein Interface (hier genannt "IModule"), was insgesamt drei Methoden anbietet:
package client;
import java.util.StringTokenizer;
public interface IModule {
void init(GroupChat groupChat, ChannelFrame frame, String channel);
void onReceive(StringTokenizer tokens);
void destroy();
}
Die init-Methode muss nicht zwingend einen ChannelFrame-arrangement besitzten (Also Methoden, die das Channelfenster so umändern, dass Platz für das Modul/Spiel ist - Bei Billard wäre dies die BillardTable, die über der Chatausgabe/Nickliste dargestellt wird). Oftmals wird das arrangement über ein Sub-Protokoll (über onReceive) geregelt, was ein zusätzliches Initialisierungspaket benötigt.
Ähnliche Themen
-
Prozess Module laden mit JNA
Von DANP im Forum JavaAntworten: 6Letzter Beitrag: 25.11.2013, 15:20 -
Module Tree Viewer Tool - Wer war des? oÔ
Von Bubble Gum im Forum RessourcenAntworten: 8Letzter Beitrag: 20.05.2013, 15:41 -
Module: Coconut
Von Plaxo im Forum ProtokollAntworten: 0Letzter Beitrag: 13.09.2012, 15:25 -
[Java] Module Protocol
Von Flav im Forum SourcecodeAntworten: 0Letzter Beitrag: 09.04.2012, 03:38 -
[input] : - Module Paket
Von v3n3 im Forum ProtokollAntworten: 2Letzter Beitrag: 16.11.2011, 13:33
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.