public static EcsEntity RLNewLevelObject(this EcsWorld world, CollectingItemPreset preset, Vector2 pos)
        {
            var go = VExt.NewGameObject(preset.GameObject, pos);
            var e  = world.NewEntityWithGameObject(go, false);
            var c  = e.Set <CollectItemComponent>();

            c.Spell = preset.Spell;
            return(e);
        }
        public static EcsEntity RLNewLevelObject(this EcsWorld world, LevelTilePreset preset, Vector2 pos)
        {
            var go = VExt.NewGameObject(preset.GameObject, pos);
            var e  = world.NewEntityWithGameObject(go, false);

            if (preset.Obstacle)
            {
                e.Set <ObstacleComponent>();
            }
            if (preset.ExitPoint)
            {
                e.Set <ExitPointComponent>();
            }

            return(e);
        }
        public static EcsEntity RLNewLevelObject(this EcsWorld world, PlayerPreset preset, Vector2 pos)
        {
            var go = VExt.NewGameObject(preset.GameObject, pos);
            var e  = world.NewEntityWithGameObject(go, false);

            e.Set <PlayerComponent>();
            var data = e.Set <NPCDataSheetComponent>();

            data.Stats = Service <NPCDataSheet> .Get().NPCStats;

            data.PrimaryWeapon = Service <NPCDataSheet> .Get().PriamaryWeapon;

            data.SecondaryWeapon = Service <NPCDataSheet> .Get().SecondaryWeapon;

            data.StatusEffects = new List <StatusEffect>();
            return(e);
        }