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; } }
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); }