コード例 #1
0
 internal MissionFailedEvent InvokeEvent(MissionFailedEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         MissionFailed?.Invoke(_api, arg);
     }
     return(arg);
 }
コード例 #2
0
 private static void AssertEvent(MissionFailedEvent @event)
 {
     Assert.NotNull(@event);
     Assert.Equal(DateTime.Parse("2016-06-10T14:32:03Z"), @event.Timestamp);
     Assert.Equal(EventName, @event.Event);
     Assert.Equal(65343025, @event.MissionId);
     Assert.Equal("Mission_Collect_name", @event.Name);
     Assert.Equal(1000, @event.Fine);
 }
コード例 #3
0
        private bool _handleMissionFailedEvent(MissionFailedEvent @event)
        {
            bool update = false;

            if (@event.fine > 0 && @event.missionid != null)
            {
                update = handleMissionFine(@event.timestamp, @event.missionid ?? 0, @event.fine);
            }
            return(update);
        }
コード例 #4
0
 private void handleMissionFailedEvent(MissionFailedEvent @event)
 {
     if (@event.timestamp > updateDat)
     {
         updateDat = @event.timestamp;
         if (_handleMissionFailedEvent(@event))
         {
             writeInventory();
         }
     }
 }
コード例 #5
0
ファイル: CrimeMonitor.cs プロジェクト: rodan123/EDDI
 private void handleMissionFailedEvent(MissionFailedEvent @event)
 {
     if (@event.timestamp > updateDat || (@event.timestamp == updateDat && [email protected]))
     {
         updateDat = @event.timestamp;
         if (_handleMissionFailedEvent(@event))
         {
             writeRecord();
         }
     }
 }
コード例 #6
0
        private void _handleMissionFailedEvent(MissionFailedEvent @event)
        {
            Haulage haulage = GetHaulageWithMissionId(@event.missionid ?? 0);

            if (haulage != null)
            {
                Cargo cargo   = GetCargoWithMissionId(@event.missionid ?? 0);
                int   onboard = haulage.remaining - haulage.need;
                cargo.haulage -= onboard;
                cargo.stolen  += onboard;
                cargo.haulageData.Remove(haulage);
                RemoveCargo(cargo);
            }
        }
コード例 #7
0
ファイル: CargoMonitor.cs プロジェクト: jpacelli62/EDDI
        private bool _handleMissionFailedEvent(MissionFailedEvent @event)
        {
            bool    update  = false;
            Haulage haulage = GetHaulageWithMissionId(@event.missionid ?? 0);

            if (haulage != null)
            {
                Cargo cargo   = GetCargoWithMissionId(@event.missionid ?? 0);
                int   onboard = haulage.remaining - haulage.need;
                cargo.RemoveDetailedQty(CargoType.haulage, onboard, haulage);
                cargo.AddDetailedQty(CargoType.stolen, onboard, cargo.price);
                RemoveCargo(cargo);
                return(true);
            }
            return(update);
        }
コード例 #8
0
        private bool _handleMissionFailedEvent(MissionFailedEvent @event)
        {
            bool    update  = false;
            Haulage haulage = GetHaulageWithMissionId(@event.missionid ?? 0);

            if (haulage != null)
            {
                Cargo cargo   = GetCargoWithMissionId(@event.missionid ?? 0);
                int   onboard = haulage.remaining - haulage.need;
                cargo.haulage -= onboard;
                cargo.stolen  += onboard;
                cargo.haulageData.Remove(haulage);
                RemoveCargo(cargo);
                return(true);
            }
            return(update);
        }
コード例 #9
0
        public void _handleMissionFailedEvent(MissionFailedEvent @event)
        {
            foreach (Cargo inventoryCargo in inventory.ToList())
            {
                HaulageAmount haulageAmount = inventoryCargo.haulageamounts.FirstOrDefault(ha => ha.id == @event.missionid);
                if (haulageAmount != null)
                {
                    string type = @event.name.Split('_').ElementAtOrDefault(1).ToLowerInvariant();
                    switch (type)
                    {
                    case "delivery":
                    case "deliverywing":
                    case "rescue":
                    case "salvage":
                    case "smuggle":
                    {
                        // Calculate the amount of mission-related cargo still in inventory
                        int obtained = haulageAmount.amount;
                        // If not expired, then failure may have been due to jettisoning cargo
                        if (haulageAmount.expiry < DateTime.UtcNow)
                        {
                            obtained -= inventoryCargo.ejected;
                            inventoryCargo.ejected = 0;
                        }
                        obtained = Math.Min(inventoryCargo.haulage, obtained);

                        // Convert that amount of cargo from `haulage` to `stolen`
                        inventoryCargo.haulage -= obtained;
                        inventoryCargo.stolen  += obtained;

                        // Reduce our `need` counter by the amount of mission related cargo which had not yet been obtained.
                        inventoryCargo.need -= (haulageAmount.amount - obtained);
                    }
                    break;
                    }
                    inventoryCargo.haulageamounts.Remove(haulageAmount);
                    RemoveCargo(inventoryCargo);
                    break;
                }
            }
        }
コード例 #10
0
 internal void InvokeMissionFailedEvent(MissionFailedEvent arg)
 {
     MissionFailedEvent?.Invoke(this, arg);
 }
コード例 #11
0
 private void MissionFailedCallback(MissionFailedEvent obj)
 {
 }
コード例 #12
0
 private void handleMissionFailedEvent(MissionFailedEvent @event)
 {
     _handleMissionFailedEvent(@event);
     writeInventory();
 }
コード例 #13
0
 internal void InvokeMissionFailedEvent(MissionFailedEvent arg) => MissionFailedEvent?.Invoke(null, arg);