stageEvents/StageEventSnaker.cs

A StageEvent subclass that starts a "Snaker" event. On Start it calls base.Start, and if running on the host it spawns a Snaker entity with 12 segments at a random spawn position, then removes the event from the manager.

Networking
using System;
using System.Drawing;
using System.Reflection;
using Sandbox;

public class StageEventSnaker : StageEvent
{
	public override void Start( int randSeed )
	{
		base.Start( randSeed );

		// sfx

		//Manager.Instance.Chat.AddLocalChatMessage( "It's getting dark out!", from: "" );

		if ( Networking.IsHost )
		{
			Manager.Instance.SpawnSnaker( Manager.Instance.GetRandomSpawnPos(), numSegments: 12 );
		}

		Manager.Instance.RemoveEvent( EventType );
	}
}