OnRefreshVendingStock
OxideCarbonVendingCalled when refresh vending stock occurs.
void OnRefreshVendingStock(VendingMachine vendingMachine, ItemDefinition itemDef)Работает — метод игры в этой сборке тот же, под который написан хук.
Параметры
- vendingMachine
- VendingMachine
- itemDef
- ItemDefinition
Возвращаемое значение
voidВозвращаемое значение игнорируется — хук только уведомляет.
Пример
private void OnRefreshVendingStock(VendingMachine vendingMachine, ItemDefinition itemDef)
{
Puts("OnRefreshVendingStock");
}Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.
Место встраивания
Rust.opj (Oxide)
void VendingMachine.RefreshSellOrderStockLevel(ItemDefinition)
Передаёт: VendingMachine vendingMachine, ItemDefinition itemDef
РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (this, a0)Assembly-CSharp.dll
Где вызывается (код игры этой ветки)
// …
List<Item> obj = Pool.Get<List<Item>>();
GetItemsToSell(sellOrder, obj);
int num2 = sellOrder.itemToSellAmount;
if (ItemManager.FindItemDefinition(sellOrder.itemToSellID) == ItemManager.Items.Scrap && sellOrder.receivedQuantityMultiplier != 1f)
{
num2 = GetTotalPriceForOrder(num2, sellOrder.receivedQuantityMultiplier);
}
sellOrder.inStock = ((obj.Count >= 0) ? (obj.Sum((Item x) => x.amount) / num2) : 0);
Interface.CallHook("OnRefreshVendingStock", this, itemDef);
float itemCondition = 0f;
float itemConditionMax = 0f;
int instanceData = 0;
List<int> list = Pool.Get<List<int>>();
int totalAttachmentSlots = 0;
int ammoType = 0;
int ammoCount = 0;
if (obj.Count > 0)
// …Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.