A small Scene Component that toggles a night-vision-like camera effect each update. On the server/host it adds tonemapping and vignette components and sets exposure and vignette color; on proxy it destroys tonemapping and color-adjustment components.
using Sandbox;
public class NightVision : Component
{
protected override void OnUpdate()
{
if (!IsProxy)
{
var ta = Scene.Camera.GetOrAddComponent<Tonemapping>();
ta.ExposureCompensation = 2.5f;
var v = Scene.Camera.GetOrAddComponent<Vignette>();
v.Roundness = 0; v.Color = new Color(1, 0, 0, 1); return;
}
Scene.Camera.GetOrAddComponent<Tonemapping>().Destroy();
Scene.Camera.GetOrAddComponent<ColorAdjustments>().Destroy();
}
}