コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public void addPlugin(EzyPlugin plugin)
 {
     this.pluginList.Add(plugin);
     this.pluginsById[plugin.getId()]     = plugin;
     this.pluginsByName[plugin.getName()] = plugin;
 }