Syntriax.Engine/Engine.Core/Abstract/IGameObject.cs

20 lines
553 B
C#

using System;
namespace Syntriax.Engine.Core.Abstract;
/// <summary>
/// Represents a game object with various properties and functionalities.
/// </summary>
public interface IGameObject : IEntity, IAssignableGameManager, IAssignableTransform, IAssignableBehaviourController, INameable, IInitialize
{
/// <summary>
/// Event triggered when the <see cref="Update"/> method is called.
/// </summary>
Action<IGameObject>? OnUpdated { get; set; }
/// <summary>
/// Updates the game object.
/// </summary>
void Update();
}