public static ItemTransactionResult IncrementItem(ISimGameWorldReadWriteAccessor accessor, Entity item, Entity destination, int stacks = 1) { ItemTransation transaction = new ItemTransation() { Source = null, Destination = destination, Stacks = stacks, Item = item, }; return(ExecuteItemTransaction(accessor, transaction)); }
public static ItemTransactionResult ExecuteItemTransaction(ISimGameWorldReadWriteAccessor accessor, ItemTransation transaction) { int sourceCap, destinationCap; DynamicBuffer <InventoryItemReference>?sourceBuffer, destinationBuffer; GetCap(accessor, transaction.Source, out sourceCap); GetBuffer(accessor, transaction.Source, out sourceBuffer); GetCap(accessor, transaction.Destination, out destinationCap); GetBuffer(accessor, transaction.Destination, out destinationBuffer); ItemTransationData transationData = new ItemTransationData() { Item = transaction.Item, SourceBuffer = sourceBuffer, DestinationBuffer = destinationBuffer, Stacks = transaction.Stacks, SourceCapacity = sourceCap, DestinationCapacity = destinationCap, Source = transaction.Source, Destination = transaction.Destination, }; return(ExecuteItemTransaction_Internal(accessor, ref transationData)); }