コード例 #1
0
        protected virtual void OnJournalEvent(JournalEventArg e)
        {
            EventHandler <JournalEventArg> handler = JournalEventFound;

            if (handler != null)
            {
                handler(this, e);
            }
        }
コード例 #2
0
        public void ParseEvent(string eventRec, string eventName)
        {
            JournalEventArg arg = new JournalEventArg();

            arg.JournalEntry = eventRec;
            switch (eventName.ToLower())
            {
            case "fileheader":
                //Event_Fileheader jsonObj = JsonConvert.DeserializeObject<Event_Fileheader>(eventRec);
                arg.EventType = JournalEvents.Fileheader;
                break;

            case "music":
                //Event_Music jsonObj = JsonConvert.DeserializeObject<Event_Music>(eventRec);
                arg.EventType = JournalEvents.Music;
                break;

            case "commander":
                //Event_Commander jsonObj = JsonConvert.DeserializeObject<Event_Commander>(eventRec);
                arg.EventType = JournalEvents.Commander;
                break;

            case "materials":
                //Event_Materials jsonObj = JsonConvert.DeserializeObject<Event_Materials>(eventRec);
                arg.EventType = JournalEvents.Materials;
                break;

            case "materialcollected":
                //Event_MaterialCollected jsonObj = JsonConvert.DeserializeObject<Event_MaterialCollected>(eventRec);
                arg.EventType = JournalEvents.MaterialCollected;
                //bool added = false;
                //foreach (MatItem item in items)
                //{
                //    if (item.Name == jsonObj.Name)
                //    {
                //        item.Count += jsonObj.Count;
                //        added = true;
                //    }
                //}
                //if (!added)
                //{
                //    items.Add(new MatItem() { Name = jsonObj.Name, Count = jsonObj.Count , Name_Localised = jsonObj.Name_Localised});
                //}
                break;

            case "bounty":
                //Event_Bounty jsonObj = JsonConvert.DeserializeObject<Event_Bounty>(eventRec);
                arg.EventType = JournalEvents.Bounty;
                //System.Diagnostics.Debug.WriteLine("\"{0}\"\t{1}", jsonObj.Target, jsonObj.TotalReward);

                break;

            case "fsdjump":
                Event_FSDJump jsonObj = JsonConvert.DeserializeObject <Event_FSDJump>(eventRec);
                arg.EventType = JournalEvents.FSDJump;

                break;

            default:
                arg.EventType = JournalEvents.Unknown;
                //If this is an unknow event we want to generate a class

                break;
            }

            OnJournalEvent(arg);
        }