Cheats.cs
namespace Sandbox;
public interface ICheatEvents : ISceneEvent<ICheatEvents>
{
void CheatsEnabled() { }
}
public sealed class Cheats : Component
{
[Property]
[InputAction]
public string Replicate { get; set; }
[Property]
[InputAction]
public string Respawn { get; set; }
[Property]
[InputAction]
public string Shop { get; set; }
[Property]
[InputAction]
public string SpawnEnemy { get; set; }
protected override void OnEnabled()
{
base.OnEnabled();
ICheatEvents.Post( x => x.CheatsEnabled() );
}
protected override void OnUpdate()
{
if ( Input.Pressed( Replicate ) )
{
Scene.Get<PlayerReplicator>().ReplicatePlayers();
}
if ( Input.Pressed( Respawn ) )
{
Scene.Get<PlayerReplicator>().RespawnPlayer();
}
if ( Input.Pressed( Shop ) )
{
Scene.Get<ShopSystem>().OpenShop();
}
if ( Input.Pressed( SpawnEnemy ) )
{
Scene.Get<EnemySpawner>().SpawnOne();
}
}
}