public bool CheckNewTown(TownGroup tg_)
 {
     if (tg_.HasATown())
     {
         return(false);
     }
     else if (tg_.GetProgress() >= tg_.Get_PointsForTown())
     {
         tg_.SetTownAvailability(true);
         return(true);
     }
     return(false); //IE no town yet and doesnt have enough points to build one
 }
    public TownGroup MergeTownGroups(List <TownGroup> groups, TownGroup newGroup)
    {
        bool newgrouptown = false;

        foreach (TownGroup tg in groups)
        {
            if (tg.HasATown())
            {
                newgrouptown = true;
            }
            foreach (Tile t in tg.GetCoordinates())
            {
                AddToTownGroup(t, newGroup);
            }
            newGroup.AddTownProgress(tg.GetProgress());
        }
        if (newgrouptown)
        {
            newGroup.SetTownAvailability(true);
        }

        return(newGroup);
    }