示例#1
0
        public void WriteDatabase(EventObjectHandler objModel, string _path = "")
        {
            try {
                TextWriter    writer;
                XmlSerializer serializer = new XmlSerializer(typeof(EventObjectHandler));

                if (!string.IsNullOrEmpty(_path))
                {
                    writer = new StreamWriter(@_path);
                }
                else
                {
                    writer = new StreamWriter(@Path.Combine(appDataPath, databaseFileName));
                }

                //writer.WriteStartDocument();
                //writer.WriteStartElement("Manifest");
                //writer.WriteAttributeString("version", string.Format("{0}.{1}.{2}",Version.Major,Version.Minor,Version.Build));
                //writer = new StreamWriter(@Path.Combine(appDataPath,databaseFileName));

                serializer.Serialize(writer, objModel);

                writer.Close();
            }
            catch (XmlException e) {
                LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));
                Environment.Exit(0);
            }
        }
        protected virtual void Awake()
        {
            m_bSavedIsEnabled = m_bIsEnabled;

            if (m_tm_ObjectPivot == null)
            {
                m_tm_ObjectPivot = transform;
            }

            if (detectionArea == null)
            {
                detectionArea = GetComponent <Collider>();
                if (detectionArea == null)
                {
                    detectionArea = GetComponentInChildren <Collider>();
                }
            }

            if (detectionArea != null)
            {
                ExtentsSize = detectionArea.bounds.extents.magnitude;
            }

            RecordTransform();

            EventObjectHandler.Add_EventAbleObject(this);
            GameState.onChangeGameState += GameState_onChangeGameState;
        }
示例#3
0
        public static bool Bind(string eventName, EventObjectHandler handler)
        {
            if (!events.ContainsKey(eventName))
            {
                events.Add(eventName, ArrayList.Synchronized(new ArrayList()));
            }

            bindList = events[eventName] as ArrayList;
            if (!bindList.Contains(handler))
            {
                bindList.Add(handler);
                bindList = null;
                return(true);
            }
            bindList = null;
            return(false);
        }
示例#4
0
        public virtual bool Unbind(string eventName, EventObjectHandler handler)
        {
            if (events == null)
            {
                return(true);
            }

            if (events.ContainsKey(eventName))
            {
                ArrayList list  = events[eventName] as ArrayList;
                int       index = list.IndexOf(handler);
                if (index > -1)
                {
                    list.RemoveAt(index);
                    return(true);
                }
            }
            return(false);
        }
示例#5
0
        public static bool Fire(BaseEvent evt)
        {
            string eventName = evt.EventName;

            if (!events.ContainsKey(eventName))
            {
                return(false);
            }

            ArrayList fireList = ((events[eventName]) as ArrayList).Clone() as ArrayList;

            for (int i = 0; i < fireList.Count; ++i)
            {
                handler = fireList[i] as EventObjectHandler;
                handler(evt);
            }
            handler  = null;
            fireList = null;
            return(true);
        }
示例#6
0
 public static bool UnBind(string eventName, EventObjectHandler handler)
 {
     if (events.ContainsKey(eventName))
     {
         unbindList = events[eventName] as ArrayList;
         int index = unbindList.IndexOf(handler);
         if (index > -1)
         {
             unbindList.RemoveAt(index);
             if (unbindList.Count == 0)
             {
                 events.Remove(eventName);
             }
             unbindList = null;
             return(true);
         }
     }
     unbindList = null;
     return(false);
 }
示例#7
0
        public virtual bool Bind(string eventName, EventObjectHandler handler)
        {
            if (events == null)
            {
                this.events = new Hashtable();
            }

            if (!events.ContainsKey(eventName))
            {
                events.Add(eventName, ArrayList.Synchronized(new ArrayList()));
            }

            ArrayList list = events[eventName] as ArrayList;

            if (!list.Contains(handler))
            {
                list.Add(handler);
                return(true);
            }
            return(false);
        }
示例#8
0
        /// <summary>
        /// init main
        /// </summary>
        public MainWindowViewModel()
        {
            RunMutex(this, null);

            try{
                dialogs = new ObservableCollection <IDialogViewModel>();
                updater = new Updater();

                updater.isUserNotified = Environment.GetCommandLineArgs().Contains <string>("IAmNotified_DoUpdate");

                runSilent = Environment.GetCommandLineArgs().Contains <string>("runSilent");
            }

            catch (Exception e) {
                LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));
                return;
            }

            if (!updater.isUserNotified)
            {
                settingsReaderWriter = new SettingsReaderWriter();
                dbReaderWriter       = new DatabaseReaderWriter();
            }
            else
            {
                updater.allowUpdate = true;
                firstRun            = false;

                updater.StartMonitoring();
            }

            try{
                resLoader          = new ResourceLoader();
                pipeServer         = new PipeServer();
                eventObjectHandler = new EventObjectHandler();

                tb = (TaskbarIcon)Application.Current.FindResource("TrayNotifyIcon");
            }
            catch (Exception e) {
                LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));
            }

            mainWindowIcon = new BitmapImage();
            mainWindowIcon.BeginInit();
            mainWindowIcon.UriSource = new Uri("pack://application:,,,/EventMessenger;component/Resources/logo.ico");

            mainWindowIcon.EndInit();

            tb.IconSource = mainWindowIcon;

            //logReader = new LogFileReaderWriter(10000, true); // just for testing purposes

            _cmdDeleteEntry    = new RelayCommand(DeleteRow);
            _cmdAddNewEvent    = new RelayCommand(AddNewEvent);
            _cmdAddNewResponse = new RelayCommand(AddNewResponse);

            rowContextMenuItems        = new ObservableCollection <MenuItem>();
            emptySpaceContextMenuItems = new ObservableCollection <MenuItem>();

            emptySpaceContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemAddNewEvent"),
                Command = _cmdAddNewEvent
            });

            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemAddOrEditResponse"),
                Command = _cmdAddNewResponse
            });
            rowContextMenuItems.Add(new MenuItem()
            {
                Header = resLoader.getResource("contextMenuItemEditEvent"),
                //ToolTip = "this will be the helptext",
                Command = _cmdAddNewEvent
            });

            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemDeleteSelectedItem"),
                Command = _cmdDeleteEntry
            });

            //dataGridSource = new ObservableCollection<EventObjectModel>();

            Application.Current.MainWindow.Closing   += new CancelEventHandler(CloseThreads);
            Application.Current.MainWindow.Activated += new EventHandler(LoadCompleted);
            updater.newVersionAvailable += new EventHandler(AskForUpdateNow);
            tb.TrayLeftMouseDown        += new RoutedEventHandler(RestoreMainWindow);
            tb.MouseDown += new MouseButtonEventHandler(RestoreMainWindow);
            //any dialog boxes added in the constructor won't appear until DialogBehavior.DialogViewModels gets bound to the Dialogs collection.
        }
 protected virtual void OnDestroy()
 {
     EventObjectHandler.Remove_EventAbleObject(this);
     GameState.onChangeGameState -= GameState_onChangeGameState;
 }