Exemple #1
0
        internal CargoBatch(ushort buildingID, bool incoming, byte transferReason, ushort transferSize, Vehicle.Flags flags)
        {
            this.transferSize      = transferSize;
            this.buildingID        = buildingID;
            transferConnectionType = incoming ? TransferConnectionType.Receive : TransferConnectionType.Sent;
            if ((flags & Vehicle.Flags.Exporting) != 0)
            {
                transferConnectionType |= TransferConnectionType.Exported;
            }
            else if ((flags & Vehicle.Flags.Importing) != 0)
            {
                transferConnectionType |= TransferConnectionType.Imported;
            }

            if (DataShared.TrackedCargoTypes.Contains(transferReason))
            {
                this.transferReason = (TransferReason)transferReason;
            }
            else
            {
                if (Options.debugEnabled)
                {
                    Debug.LogErrorFormat("TransferInfo: CargoBatch.CargoBatch - Unexpected transfer type: {0}", Enum.GetName(typeof(TransferReason), transferReason));
                }
                this.transferReason = TransferReason.None;
            }
        }
Exemple #2
0
 private int[] GetBuildingTransferedValues(int period, ushort buildingID, TransferConnectionType transferConnectionType)
 {
     int[] result = new int[DataShared.TrackedCargoTypes.Count];
     for (int i = 0; i < DataShared.TrackedCargoTypes.Count; i++)
     {
         result[i] = DataShared.Data.GetBuildingTransfersStorage(period, buildingID, transferConnectionType, (TransferManager.TransferReason)DataShared.TrackedCargoTypes.ElementAt(i));
     }
     return(result);
 }
        internal int GetBuildingTransfersStorage(int period, ushort buildingID, TransferConnectionType transferConnectionType, TransferReason transferReason)
        {
            ConnectedTransfersStorage connectedTransfersStorage = _data[period].GetBuildingData(buildingID);

            if (connectedTransfersStorage == null)
            {
                return(0);
            }
            return(connectedTransfersStorage.GetStorageByType(transferConnectionType).GetTransferedValue(transferReason));
        }
 internal ReasonTransfersStorage GetStorageByType(TransferConnectionType type)
 {
     return(_data[(int)type]);
 }
 internal void AddTransfer(TransferConnectionType transferConnection, TransferReason transferReason, int quantity)
 {
     _data[(int)transferConnection].AddTransfer(transferReason, quantity);
 }
 internal ConnectedTransfersStorage(TransferConnectionType transferConnectionType, TransferReason transferReason, int quantity)
 {
     _data = new ReasonTransfersStorage[(int)TransferConnectionType.NumConnectionTypes];
     Init();
     AddTransfer(transferConnectionType, transferReason, quantity);
 }