PlayerTest.cs
using SpriteTools;
public class PlayerTest : Component
{
[Property] public SpriteRendererLayer SpriteRendererLayer { get; set; }
[Property] public GameObject Body { get; set; }
private bool _isFlipped;
protected override void OnStart()
{
base.OnStart();
//SpriteRendererLayer.OnBroadcastEvent += OnEvent;
}
protected override void OnUpdate()
{
base.OnUpdate();
if ( Input.Pressed( "Slot1" ) )
{
SpriteRendererLayer.PlayAnimation( "idle" );
//SpriteRendererLayer.Tint = Color.White.WithAlpha( 1f );
Body.LocalRotation = new Angles( 0f, 0f, 0f );
//Transform.LocalScale = new Vector3( 1f, 1f, 1f );
//SpriteRendererLayer.FlashAmount = 0f;
_isFlipped = false;
}
else if ( Input.Pressed( "Slot2" ) )
{
SpriteRendererLayer.PlayAnimation( "walk" );
Body.LocalRotation = new Angles( 180f, 0f, 0f );
//SpriteRendererLayer.Transform.Rotation = new Angles( 180f, 0f, 0f );
//SpriteRendererLayer.Tint = Color.White.WithAlpha(0.5f);
//Transform.LocalScale = new Vector3( 1f, -1f, 1f );
//SpriteRendererLayer.FlashAmount = 1f;
_isFlipped = true;
}
SpriteRendererLayer.Tint = Color.White;
SpriteRendererLayer.LocalRotation = new Angles( 0f, -90f + (Utils.FastSin( Time.Now * 10f ) * 4f) * (_isFlipped ? -1f : 1f), 0f );
}
void OnEvent( string tag )
{
Log.Info( $"event: {tag}" );
}
protected override void OnDestroy()
{
base.OnDestroy();
//SpriteRendererLayer.OnBroadcastEvent -= OnEvent;
}
}