RustTip

OnBoatGroupSpawned

OxideCarbonNaval
object OnBoatGroupSpawned(BoatGroupSpawner boatGroupSpawner, Vector2 vector2, Quaternion quaternion, HashSet<RHIB> list, bool boolean, bool spawnsPT)
object OnBoatGroupSpawned()
Работает — метод игры в этой сборке тот же, под который написан хук.

Параметры

boatGroupSpawner
BoatGroupSpawner
vector2
Vector2
quaternion
Quaternion
list
HashSet<RHIB>
boolean
bool
spawnsPT
bool

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

objectВерните не null, чтобы прервать метод игры.

Пример

object — можно повлиять на игру: вернуть значение, чтобы изменить или отменить действие.

private object OnBoatGroupSpawned(BoatGroupSpawner boatGroupSpawner, Vector2 vector2, Quaternion quaternion, HashSet<RHIB> list, bool boolean, bool spawnsPT)
{
    Puts("OnBoatGroupSpawned");

    // ничего не меняем — игра продолжит как обычно
    return null;

    // повлиять на игру:
    // return null; // null — игра продолжит как обычно
}

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

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

Rust.opj (Oxide)
void BoatGroupSpawner.SpawnBoatGroup(HashSet<RHIB>, BoatAI.AILoadMode, bool, ScientistBoatOilrigManager)

Передаёт: BoatGroupSpawner boatGroupSpawner, Vector2 vector2, Quaternion quaternion, HashSet<RHIB> list, bool boolean, bool spawnsPT

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (this, l1, l4, a0, l3, a2)Assembly-CSharp.dll

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

Rust.opj (Oxide)
void BoatGroupSpawner.SpawnBoatGroup(HashSet<RHIB>, BoatAI.AILoadMode, bool, ScientistBoatOilrigManager)

Передаёт: —

РаботаетReturnBehavior: ExitWhenNonNullAssembly-CSharp.dll

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

public void SpawnBoatGroup(HashSet<RHIB> list, BoatAI.AILoadMode loadMode = BoatAI.AILoadMode.LoadAi, bool spawnsPT = true, ScientistBoatOilrigManager manager = null)
{
	Vector2 vector = new Vector2(transform.position.x, transform.position.z);
	if (Interface.CallHook("OnBoatGroupSpawned") != null)
	{
		return;
	}
	if (!BoatAI.FindBoatSpawnPositionInRadius(vector, radius, out var position))
	{
		return;
	}
	Vector3 forward = (vector - position).normalized;
// …

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