public void ClearApts()
    {
        if (GlobalDataPrivider.WishListIds != null && GlobalDataPrivider.WishListIds.Count > 0)
        {
            foreach (AptEntity apt in GlobalDataPrivider.WishListIds)
            {
                AptController aptc = aptList.Find(x => x.AptEntity.propNum == apt.propNum);

                if (aptc)
                {
                    aptc.GetAptEntity().isInFavorites = false;
                }
            }
        }

        foreach (AptEntity apt in buildingApts)
        {
            AptController aptc = aptList.Find(x => x.AptEntity.propNum == apt.propNum);

            if (aptc)
            {
                GameObject aGameObject = aptc.transform.gameObject;
                aGameObject.GetComponent <AptController>().DeselectApt();
            }
        }
    }
    private IEnumerator StartFilter_Couroutine()
    {
        IsFilterEnable = true;

        GlobalDataPrivider.PropsFiltered.Clear();
        GlobalDataPrivider.Instance.Debug_PropsFiltered.Clear();

        foreach (AptEntity apt in buildingApts)
        {
            if (FilteredData.Instance.filterApts(apt))
            {
                GlobalDataPrivider.PropsFiltered.Add(apt);
                AptController aptc = aptList.Find(x => x.AptEntity.propNum == apt.propNum);

                if (aptc)
                {
                    aptc.IsFiltered = true;
                    GameObject aGameObject = aptc.gameObject;
                    aGameObject.GetComponent <AptController>().FilterApts();
                }
            }
        }

        yield return(null);

        FilteredData.Instance.FilteredAptCount          = GlobalDataPrivider.PropsFiltered.Count;
        GlobalDataPrivider.Instance.Debug_PropsFiltered = GlobalDataPrivider.PropsFiltered;

        IsFilterEnable = false;
    }
    public void SelectAptByEntity(AptEntity apt, bool doRotate = false)
    {
        AptController tmp = aptList.Find(x => x.GetAptEntity().bmbyPropID == apt.bmbyPropID);

        if (tmp == null)
        {
            Debug.LogError("AptList is Empty");
            return;
        }

        if (isBuildingInCylinderMode)
        {
            if (CurrentlySelectedApt != null)
            {
                CurrentlySelectedApt.DeselectApt();
            }

            CurrentlySelectedApt = tmp;

            CurrentlySelectedApt.SelectRoomInCylinder(doRotate);
        }
        else if (isBuildingInFloorMode)
        {
            if (CurrentlySelectedApt != null)
            {
                if (CurrentlySelectedApt.GetFloor() == tmp.GetFloor())
                {
                    CurrentlySelectedApt = tmp;
                    CurrentlySelectedApt.SelectFloorMesh();
                }
            }
        }
    }
    public void HighlightWishList()
    {
        DisableHighlightForAll();

        if (GlobalDataPrivider.WishListIds != null)
        {
            foreach (var item in GlobalDataPrivider.WishListIds)
            {
                AptController apt = aptList.Find(x => x.AptEntity.bmbyPropID == item.bmbyPropID);
                apt?.FilterApts();

                Debug.Log("Highlight " + apt?.AptEntity.bmbyPropID);
            }
        }
    }
 public void SetAptSelected(AptController aptController)
 {
     CurrentlySelectedApt = aptController;
 }