Пример #1
0
 void NotifyPlugins(PluginEvent @event, object obj)
 {
     foreach (var m in mefPlugins)
     {
         m.Value.OnEvent(@event, obj);
     }
 }
        public bool RemovePlugin(Plugin plugin)
        {
            if (!this.loadedPlugins.ContainsKey(plugin.Name))
            {
                return(false);
            }
            this.loadedPlugins.Remove(plugin.Name);
            foreach (IList <Plugin> value in this.hookSubscriptions.Values)
            {
                if (!value.Contains(plugin))
                {
                    continue;
                }
                value.Remove(plugin);
            }
            plugin.HandleRemovedFromManager(this);
            PluginEvent pluginEvent = this.OnPluginRemoved;

            if (pluginEvent != null)
            {
                pluginEvent(plugin);
            }
            else
            {
            }
            return(true);
        }
Пример #3
0
        public void RaiseFinish(params object[] list)
        {
            PluginEvent messageSent = Event;

            if (messageSent != null)
            {
                messageSent(this, list);
            }
        }
Пример #4
0
 public PluginWindow()
 {
     InitializeComponent();
     cancel       = new PluginEvent();
     cancel.value = CANCEL;
     info         = new PluginEvent();
     info.value   = INFO;
     apply        = new PluginEvent();
     apply.value  = APPLY;
     Closing     += OnWindowClosing;
 }
 public PluginWindow()
 {
     InitializeComponent();
     cancel = new PluginEvent();
     cancel.value = CANCEL;
     info = new PluginEvent();
     info.value = INFO;
     apply = new PluginEvent();
     apply.value = APPLY;
     Closing += OnWindowClosing;
 }
Пример #6
0
        public void Execute(params object[] list)
        {
            try {
                var tmpEncoding = Encoding.UTF8;
                System.Console.OutputEncoding = Encoding.Default;
                System.Console.InputEncoding  = Encoding.Default;

                wa = new WhatsAppApi.WhatsApp(WAConfig["Sender"], WAConfig["Password"], WAConfig["NickName"], false);
                wa.OnLoginSuccess   += wa_OnLoginSuccess;
                wa.OnConnectSuccess += wa_OnConnectSuccess;
                wa.OnError          += wa_OnError;
                wa.OnConnectFailed  += wa_ConnectFailed;
                wa.OnLoginFailed    += wa_LoginFailed;
                wa.Connect();
                wa.Login();
                string MType = ((string)list [0]);
                switch (MType)
                {
                case "location":
                    wa.SendMessageLocation(WAConfig["Target"], double.Parse((string)list [1], System.Globalization.CultureInfo.InvariantCulture.NumberFormat), double.Parse((string)list [2], System.Globalization.CultureInfo.InvariantCulture.NumberFormat), (string)(list [3]), "");
                    break;

                case "text":
                    wa.SendMessage(WAConfig["Target"], ((string)list [1]));
                    break;

                case "picture":
                    wa.SendMessageImage(WAConfig["Target"], System.IO.File.ReadAllBytes(((string)list [1])), WhatsAppApi.ApiBase.ImageType.PNG);
                    break;

                case "audio":
                    wa.SendMessageAudio(WAConfig["Target"], System.IO.File.ReadAllBytes(((string)list [1])), ApiBase.AudioType.MP3);
                    break;

                case "video":
                    wa.SendMessageVideo(WAConfig["Target"], System.IO.File.ReadAllBytes(((string)list [1])), ApiBase.VideoType.MP4);
                    break;
                }
                de.SYStemiya.Helper.Logger.WriteLine("|  > [WhatsApp] *** Message(" + ((string)(list [0])).ToUpper() + ") sent: " + list[1]);
                PluginEvent messageSent = Event;
                if (messageSent != null)
                {
                    messageSent(this, 2, 2, 2, 2, 2, 2);
                }
            } catch (Exception ex) {
                de.SYStemiya.Helper.Logger.WriteLine(ex.Message);
                de.SYStemiya.Helper.Logger.WriteLine(ex.StackTrace);
                if (ex.InnerException != null)
                {
                    de.SYStemiya.Helper.Logger.WriteLine(ex.InnerException.Message);
                    de.SYStemiya.Helper.Logger.WriteLine(ex.InnerException.StackTrace);
                }
            }
        }
Пример #7
0
        //////////////////////////////////////////////////////////////////
        // Public API
        //////////////////////////////////////////////////////////////////

        public static void IssuePluginEvent(PluginEvent pluginEvent)
        {
        #if (UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5_1)
            GL.IssuePluginEvent((int)pluginEvent);
        #else
            IntPtr renderEventFunc = zcuGetRenderEventFunc();
            if (renderEventFunc != IntPtr.Zero)
            {
                GL.IssuePluginEvent(renderEventFunc, (int)pluginEvent);
            }
        #endif
        }
Пример #8
0
 public static void RenderThreadEvent(PluginEvent renderEvent, int handle)
 {
     if (renderEvent == PluginEvent.CaptureFrameBuffer)
     {
         GL.IssuePluginEvent(RenderCaptureEventFunction, PluginID | (int)renderEvent | handle);
     }
     else if (renderEvent == PluginEvent.FreeResources)
     {
         int eventId = PluginID | (int)renderEvent;
         GL.IssuePluginEvent(RenderFreeEventFunction, eventId);
     }
 }
Пример #9
0
 private static void smethod_3(IPlugin iplugin_0, PluginEvent pluginEvent_8)
 {
     if (pluginEvent_8 != null)
     {
         try
         {
             pluginEvent_8(iplugin_0);
         }
         catch (Exception exception)
         {
             ilog_0.Error("[Invoke] Error during execution:", exception);
         }
     }
 }
Пример #10
0
        public void Update()
        {
            try
            {
                PluginTool.Singleton.Update();
                PluginEvent pluginEvent = null;
                if (PluginTool.Singleton.PopEvent(out pluginEvent))
                {
                    this.m_log.Debug(string.Format("PluginTool.Singleton.PopEvent:{0}", pluginEvent.Type.ToString()));
                    switch (pluginEvent.Type)
                    {
                    case EnumPluginEventType.ePluginEventType_Install_Success:
                        Debug.Log("Install Success!");
                        //预初始化ClientMain,实际上就是为了进入登陆状态
                        Singleton <ClientMain> .singleton.PreInit();

                        //如果是手机平台的话,不用播放视频直接更新
                        if (CommonDefine.IsMobilePlatform)
                        {
                            Singleton <ClientMain> .singleton.ChangeGameState(EnumGameState.eState_Update);
                        }
                        else
                        {
                            //播放开场动画
                            DlgBase <DlgBeginAnimation, DlgBeginAnimationBehaviour> .singleton.SetVisible(true);

                            // DlgBase<DlgTest, DlgTestBehaviour>.singleton.SetVisible(true);
                            //DlgBase<DlgLogin, DlgLoginBehaviour>.singleton.SetVisible(true);
                        }
                        break;

                    case EnumPluginEventType.ePluginEventType_Login_Success:
                        //如果登陆成功,开始登陆
                        Singleton <Client.Logic.Login> .singleton.StartLogin(PluginTool.Singleton.GetUserId(), string.Empty);

                        break;

                    case EnumPluginEventType.ePluginEventType_Login_Fail:
                        // Singleton<Client.Logic.Login>.singleton.OnLoginFailed();
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.m_log.Fatal(ex.ToString());
            }
        }
Пример #11
0
        private void registerEventHandler(PluginEvent eventType, object callback)
        {
            List <object> callbacks;

            if (!_pluginCallbackInstances.ContainsKey(eventType))
            {
                _pluginCallbackInstances.TryAdd(eventType, callbacks = new List <object>());
            }
            else
            {
                callbacks = _pluginCallbackInstances[eventType];
            }


            callbacks.Add(callback);
        }
        public bool AddPlugin(Plugin plugin)
        {
            if (this.loadedPlugins.ContainsKey(plugin.Name))
            {
                return(false);
            }
            this.loadedPlugins.Add(plugin.Name, plugin);
            plugin.HandleAddedToManager(this);
            PluginEvent pluginEvent = this.OnPluginAdded;

            if (pluginEvent != null)
            {
                pluginEvent(plugin);
            }
            else
            {
            }
            return(true);
        }
Пример #13
0
        public void OnEvent(PluginEvent eventType, object data)
        {
            if (!_pluginCallbackInstances.ContainsKey(eventType))
            {
                return;
            }

            foreach (var callbacks in _pluginCallbackInstances[eventType])
            {
                try
                {
                    _engine.Operations.Invoke(callbacks, eventType, data);
                }
                catch (Exception e)
                {
                    Logger.Error($"PLUGIN OnEvent Exception. {callbacks}({eventType}, {data})");
                    Logger.Error(_engine.GetService <ExceptionOperations>().FormatException(e));
                }
            }
        }
Пример #14
0
 public CoreOpFunc(PluginEvent eventdelegate)
 {
     mPluginEvents = new List <PluginEvent>();
     mPluginEvents.Add(eventdelegate);
 }
Пример #15
0
 void NotifyPlugins(PluginEvent @event, object obj)
 {
     foreach (var m in mefPlugins)
         m.Value.OnEvent(@event, obj);
 }
Пример #16
0
 public void OnEvent(PluginEvent @event, object obj)
 {
     // We don't care about any events
 }
Пример #17
0
 private void Skype_PluginEventClicked(PluginEvent pluginevent)
 {
     this.Logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name);
 }
Пример #18
0
		public void OnEvent(PluginEvent @event, object obj) {
		}
Пример #19
0
 public cFunctionHandler(PluginEvent eventdelegate, CParser withparser)
 {
     mParser        = withparser;
     EventDelegates = new List <PluginEvent>();
     EventDelegates.Add(eventdelegate);
 }
Пример #20
0
        public void OurPluginEventClicked(PluginEvent pluginevent)
        {
            // Always use try/catch with ANY Skype calls.
            try
            {
                // Write Plugin Event Clicked to Window.
                AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " +
                 "Plugin Event Clicked - Id: " + pluginevent.Id +
                 "\r\n");
            }
            catch (Exception e)
            {
                // Possibly old Skype4COM version, log an error, drop into debug if wanted.
                AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " +
                 "Plugin Event Clicked Event Fired - Bad Text" +
                 " - Exception Source: " + e.Source + " - Exception Message: " + e.Message +
                 "\r\n");

                // If the "Use Auto Debug" check box is checked and we are in debug, drop into debug here when retry, otherwise, prompt for action.
                Debug.Assert(!this.UseAutoDebug.Checked);
            }
        }
Пример #21
0
		public void OnEvent(PluginEvent @event, object obj) {
			// We don't care about any events
		}
 public PluginExecutionContextBuilder WithPluginEvent(PluginEvent @event)
 {
     return(WithRegisteredEvent((int)@event.Stage, @event.MessageName, @event.EntityName));
 }