protected virtual void OnJournalEvent(JournalEventArg e) { EventHandler <JournalEventArg> handler = JournalEventFound; if (handler != null) { handler(this, e); } }
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); }