private static void OnList( Player p, Command cmd )
{
World w = p.World;
if ( null == w ) {
p.Message( "&WYou are in limbo state. Prepare for eternal torment." );
return;
}
string param = cmd.Next();
Func<Life2DZone, bool> f = l => true;
if ( !string.IsNullOrWhiteSpace( param ) ) {
switch (param)
{
case "started":
f = l => !l.Stopped;
break;
case "stopped":
f = l => l.Stopped;
break;
default:
p.Message( "&WUnrecognised parameter " + param + ". Ignored.\n" );
break;
}
}
int i = 0;
foreach ( Life2DZone life in w.GetLifes().Where( life => f( life ) ) ) {
if ( i++ > 0 )
p.Message( ", " );
p.Message( ( life.Stopped ? "&8" : "&2" ) + life.Name );
}
}