RustTip

OnSupplyDropLanded

OxideCarbonEntity

Called when a supply drop is landed.

void OnSupplyDropLanded(SupplyDrop supplyDrop)
Метод изменился — проверить — код метода игры отличается от того, под который записан хук в Oxide. Хук всё равно вызывается, но место вызова могло сместиться — стоит проверить после обновления.

Параметры

supplyDrop
SupplyDrop

Возвращаемое значение

voidВозвращаемое значение игнорируется — хук только уведомляет.

Пример

private void OnSupplyDropLanded(SupplyDrop supplyDrop)
{
    Puts("OnSupplyDropLanded");
}

Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.

Место встраивания

Rust.opj (Oxide)
void SupplyDrop.OnCollisionEnter(Collision)

Передаёт: SupplyDrop supplyDrop

Метод изменился — проверитьReturnBehavior: ContinueArgumentBehavior: JustThisAssembly-CSharp.dll

Где вызывается (код игры этой ветки)

private void OnCollisionEnter(Collision collision)
{
	if (((1 << collision.collider.gameObject.layer) & 0x100200) > 0 && HasFlag(Flags.Reserved3) && collision.rigidbody != null && collision.rigidbody.collisionDetectionMode == CollisionDetectionMode.ContinuousDynamic)
	{
		collision.rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousSpeculative;
	}
	bool flag = ((1 << collision.collider.gameObject.layer) & 0x40A10111) > 0;
	bool flag2 = ((1 << collision.collider.gameObject.layer) & 0x8000000) > 0;
	Interface.CallHook("OnSupplyDropLanded", this);
	BaseEntity entity = collision.GetEntity();
	if (flag2 && entity is Tugboat)
	{
		flag = true;
	}
	if (flag2 && (entity is BoatBuildingBlock || PlayerBoat.IsChildOfFinishedPlayerBoat(entity)))
	{
		flag = true;
// …

Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.