예제 #1
0
 public void outboxMessage(ClientPlugin Sender, Event ev)
 {
     ev._Source_FullyQualifiedName = Sender.Name();
     if (!object.Equals(null, this.onOutboxMessage))
     {
         onOutboxMessage(Sender, ev);
     }
 }
예제 #2
0
 public void outboxMessage(ClientPlugin Sender, Event ev)
 {
     ev._Source_FullyQualifiedName = Sender.Name();
     if (!object.Equals(null, this.onOutboxMessage))
     {
         onOutboxMessage(Sender, ev);
     }
 }
예제 #3
0
 private void RegisterPlugin(ClientPlugin plugin)
 {
     plugins.Add(plugin);
     // Load plugin content
     Client.Content.LoadTextures(Path.Combine(plugin.Path, Path.Combine("Content", "Textures")), Client);
     // Load plugin
     plugin.Load();
     Console.WriteLine($"Plugin: Loaded {plugin.GetInfoString()}");
 }
예제 #4
0
 private void shutdownPlugin(ClientPlugin plugin)
 {
     OgreWindow.Instance.pause();
     try
     {
         plugin.shutdown();
     }
     catch (Exception ex)
     {
         log(ex.ToString());
     }
     OgreWindow.Instance.unpause();
 }
        public void addPlugin(string pathRel)
        {
            string       pathAbs = path_cache + pathRel;
            ClientPlugin plugin  = ClientPluginCompiler.CompileCode(pathAbs);

            if (!object.Equals(null, plugin))
            {
                pluginNameLookup[pathRel] = plugin.Name();
                if (addClientPlugin(plugin))
                {
                    //pendingPluginSpheres.Add(plugin.Name());
                }

                listChanged(this.allPlugins);
            }
        }
예제 #6
0
        public ClientPluginPanel(ClientPlugin plugin) : this()
        {
            mPlugin = plugin;
            mConfig = plugin.Config as DistributedConfig;

            portUpDown.Value = mConfig.Port;
            addressBox.Text  = mConfig.Address;
            nameBox.Text     = mConfig.ClientName;
            if (mPlugin.Connected)
            {
                connectButton.Enabled = false;
            }
            else
            {
                disconnectButton.Enabled = false;
            }
        }
        internal bool addClientPlugin(ClientPlugin ClientPlugin)
        {
            ClientPlugin.onQuit += new LogDelegate(ClientPlugin_onQuit);
            LogDelegate testDelB = delegate(string s) { log("[" + ClientPlugin.Name() + "] " + s); };

            ClientPlugin.onLog           += new LogDelegate(testDelB);
            ClientPlugin.onChat          += new LogDelegate(ClientPlugin_onChat);
            ClientPlugin.onOutboxMessage += new ExtraMegaBlob.References.ClientPlugin.outboxDelegate(ClientPlugin_onOutboxMessage);
            try { ClientPlugin.init2(); }
            catch (Exception ex)
            {
                log("[" + ClientPlugin.Name() + "] " + ex.ToString());
                return(false);
            }
            ClientClasses.Add(ClientPlugin);
            return(true);
        }
 private void ClientPlugin_onOutboxMessage(ClientPlugin Sender, Event ev)
 {
     sourceHub(ev, ev._IntendedRecipients);
 }
 public ClientPluginViewModel(ClientPlugin clientPlugin) : base(clientPlugin, clientPlugin.Plugin, false)
 {
     ClientPlugin = clientPlugin;
     Size         = ClientPlugin.Size;
 }