OnMissionFailed
OxideCarbonMissionCalled when a mission fails.
void OnMissionFailed(BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason)Работает — метод игры в этой сборке тот же, под который написан хук.
Параметры
- baseMission
- BaseMission
- instance
- BaseMission.MissionInstance
- assignee
- BasePlayer
- failReason
- BaseMission.MissionFailReason
Возвращаемое значение
voidВозвращаемое значение игнорируется — хук только уведомляет.
Пример
private void OnMissionFailed(BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason)
{
Puts("OnMissionFailed");
}Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.
Место встраивания
Rust.opj (Oxide)
void BaseMission.MissionFailed(BaseMission.MissionInstance, BasePlayer, BaseMission.MissionFailReason, bool)
Передаёт: BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason
РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (this,a0,a1,a2)Assembly-CSharp.dll
Где вызывается (код игры этой ветки)
// …
if (failReason != MissionFailReason.ResetPlayerState)
{
DoMissionEffect(failedEffect.resourcePath, assignee);
}
}
Analytics.Azure.OnMissionComplete(assignee, this, failReason);
instance.status = MissionStatus.Failed;
MissionEnded(instance, assignee);
Interface.CallHook("OnMissionFailed", this, instance, assignee, failReason);
assignee.MissionsDirty(saveImmediately);
}Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.