public override void handle(EzyArray data) { int pluginId = data.get <int>(0); EzyArray commandData = data.get <EzyArray>(1); String cmd = commandData.get <String>(0); EzyData responseData = commandData.get <EzyData>(1, null); EzyPlugin plugin = client.getPluginById(pluginId); if (plugin == null) { logger.info("receive message when has not joined plugin yet"); return; } EzyPluginDataHandler dataHandler = plugin.getDataHandler(cmd); if (dataHandler != null) { dataHandler.handle(plugin, responseData); } else { logger.warn("plugin: " + plugin.getName() + " has no handler for command: " + cmd); } }
public override void handle(EzyArray data) { EzyZone zone = client.getZone(); EzyPluginManager pluginManager = zone.getPluginManager(); EzyPlugin plugin = newPlugin(zone, data); pluginManager.addPlugin(plugin); postHandle(plugin, data); logger.info("access plugin: " + plugin.getName() + " successfully"); }
public EzyPlugin removePlugin(int pluginId) { EzyPlugin plugin = null; if (pluginsById.ContainsKey(pluginId)) { plugin = pluginsById[pluginId]; pluginsById.Remove(pluginId); pluginsByName.Remove(plugin.getName()); pluginList.Remove(plugin); } return(plugin); }
public void addPlugin(EzyPlugin plugin) { this.pluginList.Add(plugin); this.pluginsById[plugin.getId()] = plugin; this.pluginsByName[plugin.getName()] = plugin; }