// using System; // using NB.Authentication; // using Fantasy; // using Fantasy.Async; // using Fantasy.Entitas; // using Fantasy.Network; // // ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract // // namespace NB; // // public static class EntityHelper // { // public static bool CheckInterval(this Entity entity, int interval) // { // var sessionTimeOutComponent = entity.GetComponent(); // // if (sessionTimeOutComponent == null) // { // sessionTimeOutComponent = entity.AddComponent(); // sessionTimeOutComponent.SetInterval(interval); // return true; // } // // return sessionTimeOutComponent.CheckInterval(); // } // // public static void SetTimeout(this Entity entity, int timeout = 3000, Func? task = null) // { // var sessionTimeOutComponent = entity.GetComponent(); // // if (sessionTimeOutComponent == null) // { // sessionTimeOutComponent = entity.AddComponent(); // } // // sessionTimeOutComponent.TimeOut(timeout, task); // } // // public static bool IsTimeOutComponent(this Entity entity) // { // return entity.GetComponent() != null; // } // // public static void CancelTimeout(this Entity entity) // { // entity.RemoveComponent(); // } // }