// Start is called before the first frame update
    void Start()
    {
        EntityFaction bandits = new EntityFaction("Bandits!");

        for (int i = 0; i < 5; i++)
        {
            Vector2 pos = GameManager.RNG.RandomVector2(15, 25);
            Bandit  b   = new Bandit();
            b.SetEntityFaction(bandits);
            b.MoveEntity(Vec2i.FromVector2(pos));
            EntityManager.Instance.LoadEntity(b);
        }
    }
    public override void Generate(GenerationRandom ran)
    {
        GenRan = ran;
        BuildWallAndEntrance();
        GenerateSubworldCave(new Vec2i(TileSize.x - 10, TileSize.z - 10));
        DEBUG = false;
        EntityFaction bandits = new EntityFaction("Bandits");

        for (int i = 0; i < 10; i++)
        {
            Vector3 pos    = GenRan.RandomVector3(Boundry + 2, Mathf.Min(TileSize.x, TileSize.z) - Boundry - 2);
            Bandit  bandit = new Bandit();
            bandit.SetEntityFaction(bandits);
            bandit.MoveEntity(pos);
            AddEntity(bandit);
        }
    }