Skip to content

OnSwitchToggle

Usage

  • Return a non-null value to override default behavior

Example Autogenerated

csharp
private object OnSwitchToggle( ElectricSwitch instance, BasePlayer player )
{
    Puts( "OnSwitchToggle works!" );
    return null;
}
csharp
private object OnSwitchToggle( FuelGenerator instance, BasePlayer player )
{
    Puts( "OnSwitchToggle works!" );
    return null;
}
csharp
private object OnSwitchToggle( IndustrialConveyor instance, BasePlayer player )
{
    Puts( "OnSwitchToggle works!" );
    return null;
}

Location

  • ElectricSwitch::RPC_Switch(BaseEntity.RPCMessage msg)
  • FuelGenerator::RPC_EngineSwitch(BaseEntity.RPCMessage msg)
  • IndustrialConveyor::SvSwitch(BaseEntity.RPCMessage msg)
csharp
[RPC_Server.IsVisible(3f)]
[RPC_Server]
public void RPC_Switch(RPCMessage msg)
{
	if (Interface.CallHook("OnSwitchToggle", this, msg.player) == null)
	{
		bool flag = msg.read.Bool();
		SetSwitch(flag);
		Interface.CallHook("OnSwitchToggled", this, msg.player);
	}
//---
csharp
[RPC_Server.IsVisible(3f)]
[RPC_Server]
public void RPC_EngineSwitch(RPCMessage msg)
{
	if (Interface.CallHook("OnSwitchToggle", this, msg.player) == null)
	{
		bool generatorState = msg.read.Bit();
		SetGeneratorState(generatorState);
		Interface.CallHook("OnSwitchToggled", this, msg.player);
	}
//---
csharp
[RPC_Server]
[RPC_Server.IsVisible(3f)]
[RPC_Server.CallsPerSecond(2uL)]
private void SvSwitch(RPCMessage msg)
{
	if (Interface.CallHook("OnSwitchToggle", this, msg.player) == null)
	{
		SetSwitch(!IsOn());
		Interface.CallHook("OnSwitchToggled", this, msg.player);
	}
}

Released under the MIT License.