namespace GlitchyEngine.Core;
///
/// The base class for all classes that represent something that belongs to the engine (Entities, Components and Assets).
///
public abstract class EngineObject
{
protected internal UUID _uuid;
///
/// UUID (Universally Unique Identifier) used for identifying the object in the engine.
///
public UUID UUID => _uuid;
///
/// Empty constructor not used. Do NOT USE!
///
protected EngineObject() { }
///
/// Creates a new EngineObject with the given ID.
///
/// UUID of the object.
internal EngineObject(UUID uuid)
{
_uuid = uuid;
}
/// Determines whether the specified is equal to the current .
/// The object to compare with the current object.
/// true if the specified object is equal to the current object; otherwise, false.
public bool Equals(EngineObject other)
{
// TODO: Are we really only interested in what equates to reference equality on the engine side?
return _uuid == other._uuid;
}
}