Skip to content

OnEngineStart ​

Usage ​

  • Return a non-null value to override default behavior

Example Autogenerated ​

csharp
private object OnEngineStart( MotorRowboat instance, BasePlayer driver )
{
    Puts( "OnEngineStart works!" );
    return null;
}
csharp
private object OnEngineStart( BaseMountable owner, BasePlayer player )
{
    Puts( "OnEngineStart works!" );
    return null;
}

Location ​

  • MotorRowboat::EngineToggle(bool wantsOn)
  • VehicleEngineController::TryStartEngine(BasePlayer player)
csharp
//---
	if (!fuelSystem.HasFuel(forceCheck: true))
	{
		return;
	}
	BasePlayer driver = GetDriver();
	if (!wantsOn || Interface.CallHook("OnEngineStart", this, driver) == null)
	{
		using (FlagsUpdateScope flagsUpdateScope = StartSetFlags(FlagsUpdateMode.SendNetworkUpdate))
		{
			flagsUpdateScope.Set(Flags.On, wantsOn);
		}
//---
csharp
//---
	}
	if (!CanRunEngine())
	{
		owner.OnEngineStartFailed();
	}
	else if (Interface.CallHook("OnEngineStart", ((VehicleEngineController<BaseMountable>)(object)this).owner, player) == null)
	{
		using (BaseEntity.FlagsUpdateScope flagsUpdateScope = owner.StartSetFlags(BaseEntity.FlagsUpdateMode.SendNetworkUpdate))
		{
			flagsUpdateScope.Set(engineStartingFlag, b: true);
			flagsUpdateScope.Set(BaseEntity.Flags.On, b: false);
//---

Released under the MIT License.