private void _handleMissionAcceptedEvent(MissionAcceptedEvent @event) { Cargo cargo = new Cargo(); string type = @event.name.Split('_').ElementAt(1)?.ToLowerInvariant(); if (type != null && CHAINED.TryGetValue(type, out string value)) { type = value; } else if (type == "ds" || type == "rs" || type == "welcome") { type = @event.name.Split('_').ElementAt(2)?.ToLowerInvariant(); } bool naval = @event.name.ToLowerInvariant().Contains("rank"); switch (type) { case "altruism": case "collect": case "collectwing": case "delivery": case "deliverywing": case "mining": case "piracy": case "rescue": case "salvage": case "smuggle": { string originSystem = EDDI.Instance?.CurrentStarSystem?.name; Haulage haulage = new Haulage(@event.missionid ?? 0, @event.name, originSystem, @event.amount ?? 0, @event.expiry) { startmarketid = (type.Contains("delivery") && !naval) ? EDDI.Instance?.CurrentStation?.marketId ?? 0 : 0, endmarketid = (type.Contains("collect")) ? EDDI.Instance?.CurrentStation?.marketId ?? 0 : 0, }; if (type.Contains("delivery") || type == "smuggle") { haulage.sourcesystem = EDDI.Instance?.CurrentStarSystem?.name; haulage.sourcebody = EDDI.Instance?.CurrentStation?.name; } else if (type == "rescue" || type == "salvage") { haulage.sourcesystem = @event.destinationsystem; } cargo = GetCargoWithEDName(@event.commodityDefinition?.edname); if (cargo == null) { cargo = new Cargo(@event.commodityDefinition?.edname, 0); AddCargo(cargo); } cargo.haulageData.Add(haulage); cargo.CalculateNeed(); } break; } }
private void handleMissionAcceptedEvent(MissionAcceptedEvent @event) { if (@event.commodityDefinition != null) { _handleMissionAcceptedEvent(@event); writeInventory(); } }
internal MissionAcceptedEvent InvokeEvent(MissionAcceptedEvent arg) { if (_api.ValidateEvent(arg)) { MissionAccepted?.Invoke(_api, arg); } return(arg); }
private void handleMissionAcceptedEvent(MissionAcceptedEvent @event) { if (@event.timestamp > updateDat && @event.commodityDefinition != null) { updateDat = @event.timestamp; if (_handleMissionAcceptedEvent(@event)) { writeInventory(); } } }
public void TestJournalMissionAccepted1() { string line = @"{ ""timestamp"":""2017-05-05T16:07:37Z"", ""event"":""MissionAccepted"", ""Faction"":""Chick Ek Partnership"", ""Name"":""Mission_Sightseeing_Criminal_BOOM"", ""Commodity"":""$Wine_Name;"", ""Commodity_Localised"":""Wine"", ""Count"":3, ""DestinationSystem"":""HR 7221$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;Tupa"", ""Expiry"":""2017-05-06T04:31:24Z"", ""Influence"":""Low"", ""Reputation"":""Med"", ""PassengerCount"":7, ""PassengerVIPs"":true, ""PassengerWanted"":true, ""PassengerType"":""Criminal"", ""MissionID"":134724902 }"; List <Event> events = JournalMonitor.ParseJournalEntry(line); Assert.IsTrue(events.Count == 1); MissionAcceptedEvent event1 = (MissionAcceptedEvent)events[0]; Assert.AreEqual("Wine", event1.commodity); }
public void _handleMissionAcceptedEvent(MissionAcceptedEvent @event) { string type = @event.name.Split('_').ElementAtOrDefault(1).ToLowerInvariant(); bool naval = @event.name.ToLowerInvariant().Contains("rank"); switch (type) { case "altruism": case "collect": case "collectwing": case "delivery": case "deliverywing": case "mining": case "piracy": case "rescue": case "salvage": case "smuggle": { int amount = (type == "delivery" && naval || type == "smuggle") ? @event.amount ?? 0 : 0; HaulageAmount haulageAmount = new HaulageAmount(@event.missionid ?? 0, @event.name, @event.amount ?? 0, (DateTime)@event.expiry); Cargo cargo = GetCargoWithEDName(@event.commodityDefinition?.edname); if (cargo != null) { cargo.haulage += amount; cargo.haulageamounts.Add(haulageAmount); cargo.CalculateNeed(); } else { Cargo newCargo = new Cargo(@event.commodityDefinition?.edname, amount); newCargo.haulage = amount; newCargo.stolen = 0; newCargo.owned = 0; newCargo.haulageamounts.Add(haulageAmount); newCargo.CalculateNeed(); AddCargo(newCargo); } } break; } }
private static void AssertEvent(MissionAcceptedEvent @event) { Assert.NotNull(@event); Assert.Equal(DateTime.Parse("2019-09-08T10:24:53Z"), @event.Timestamp); Assert.Equal(EventName, @event.Event); Assert.Equal(508888377, @event.MissionId); Assert.Equal("Mission_Delivery", @event.Name); Assert.Equal("Доставьте 45 шт. товара Сверхпроводники", @event.NameLocalised); Assert.Equal("Scylla Gold Boys", @event.Faction); Assert.Equal("$Superconductors_Name;", @event.Commodity); Assert.Equal("Сверхпроводники", @event.CommodityLocalised); Assert.Equal(45, @event.Count); Assert.Equal("Eurybia Blue Mafia", @event.TargetFaction); Assert.Equal("Scylla", @event.DestinationSystem); Assert.Equal("Qureshi Port", @event.DestinationStation); Assert.Equal(DateTime.Parse("2019-09-09T10:21:33Z"), @event.Expiry); Assert.False(@event.Wing); Assert.Equal("++", @event.Influence); Assert.Equal("++", @event.Reputation); Assert.Equal(869438, @event.Reward); }
public void addMission(MissionAcceptedEvent newMission) { Missions.Add(newMission); }
private void MissionAcceptedCallback(MissionAcceptedEvent obj) { }
public void Handle(Event theEvent) { if (EDDI.Instance.inCQC) { // We don't do anything whilst in CQC return; } if (theEvent is MissionAcceptedEvent) { MissionAcceptedEvent newMissionEvent = (MissionAcceptedEvent)theEvent; if (newMissionEvent.missionid.HasValue) { mViewModel.addMission(newMissionEvent); } } else if (theEvent is MissionCompletedEvent) { MissionCompletedEvent missionEndedEvent = (MissionCompletedEvent)theEvent; if (missionEndedEvent.missionid.HasValue) { mViewModel.removeMission(missionEndedEvent.missionid); } } else if (theEvent is MissionAbandonedEvent) { MissionAbandonedEvent missionEndedEvent = (MissionAbandonedEvent)theEvent; mViewModel.removeMission(missionEndedEvent.missionid); } else if (theEvent is CommodityPurchasedEvent) { var commodityEvent = (CommodityPurchasedEvent)theEvent; mViewModel.addCargo(commodityEvent.commodity, commodityEvent.amount); } else if (theEvent is CommoditySoldEvent) { var commodityEvent = (CommoditySoldEvent)theEvent; mViewModel.removeCargo(commodityEvent.commodity, commodityEvent.amount); } else if (theEvent is CommodityRefinedEvent) { var commodityEvent = (CommodityRefinedEvent)theEvent; mViewModel.addCargo(commodityEvent.commodity, 1); } else if (theEvent is CommodityCollectedEvent) { var commodityEvent = (CommodityCollectedEvent)theEvent; mViewModel.addCargo(commodityEvent.commodity, 1); } else if (theEvent is CommodityEjectedEvent) { var commodityEvent = (CommodityEjectedEvent)theEvent; mViewModel.removeCargo(commodityEvent.commodity, commodityEvent.amount); } else if (theEvent is MarketInformationUpdatedEvent) { var dockedEvent = (MarketInformationUpdatedEvent)theEvent; foreach (var mr in mViewModel.MissionRequirements) { mr.AtCurrentStation = null; } updateStationInfo(dockedEvent); } }
internal void InvokeMissionAcceptedEvent(MissionAcceptedEvent arg) => MissionAcceptedEvent?.Invoke(null, arg);
internal void InvokeMissionAcceptedEvent(MissionAcceptedEvent arg) { MissionAcceptedEvent?.Invoke(this, arg); }