Ui/DebugWindow.razor.cs
using System;
using Clover.Data;
using Clover.Items;
using Clover.Persistence;
using Clover.Player;
namespace Clover.Ui;
public partial class DebugWindow
{
public bool IsVisible { get; set; }
private void ToggleVisibility()
{
IsVisible = !IsVisible;
}
protected override void OnFixedUpdate()
{
if ( Input.Released( "DebugWindow" ) )
{
Log.Info( "Debug key pressed" );
ToggleVisibility();
}
}
protected override int BuildHash()
{
return HashCode.Combine( IsVisible );
}
private void SpawnItem( ItemData item )
{
var pItem = item.CreatePersistentItem();
item.OnPersistentItemInitialize( pItem );
PlayerCharacter.Local.Inventory.PickUpItem( pItem );
Sound.Play( "sounds/interact/item_pickup.sound", PlayerCharacter.Local.WorldPosition );
}
private void SpawnObject( ObjectData item )
{
var gameObject = item.Prefab.Clone();
var worldObject = gameObject.GetComponent<WorldObject>();
worldObject.WorldLayerObject.SetLayer( PlayerCharacter.Local.WorldLayerObject.Layer, true );
worldObject.WorldPosition = PlayerCharacter.Local.WorldPosition;
gameObject.NetworkSpawn();
Sound.Play( "sounds/interact/item_pickup.sound", PlayerCharacter.Local.WorldPosition );
}
[ConCmd( "clover_spawn_cloud_item" )]
public static async void SpawnCloudItem( string packageIdent )
{
var package = await Package.Fetch( packageIdent, false );
if ( package == null )
{
Log.Error( $"Failed to fetch package {packageIdent}" );
return;
}
Log.Info( package.Title );
var pp = package.GetMeta<string>( "ParentPackage" );
if ( pp == null || pp != Game.Ident )
{
Log.Error( $"Package {packageIdent} is not supported" );
return;
}
}
}