diff --git a/Binaries/Win64/UnrealEditor-GraffModule.dll b/Binaries/Win64/UnrealEditor-GraffModule.dll index a3dc147..34e21bb 100644 Binary files a/Binaries/Win64/UnrealEditor-GraffModule.dll and b/Binaries/Win64/UnrealEditor-GraffModule.dll differ diff --git a/Binaries/Win64/UnrealEditor-GraffModule.pdb b/Binaries/Win64/UnrealEditor-GraffModule.pdb index e86b326..a582880 100644 Binary files a/Binaries/Win64/UnrealEditor-GraffModule.pdb and b/Binaries/Win64/UnrealEditor-GraffModule.pdb differ diff --git a/Binaries/Win64/UnrealEditor-blueprintLibrary.dll b/Binaries/Win64/UnrealEditor-blueprintLibrary.dll index 90ae00d..a00849c 100644 Binary files a/Binaries/Win64/UnrealEditor-blueprintLibrary.dll and b/Binaries/Win64/UnrealEditor-blueprintLibrary.dll differ diff --git a/Binaries/Win64/UnrealEditor-blueprintLibrary.pdb b/Binaries/Win64/UnrealEditor-blueprintLibrary.pdb index 1bbc9d4..4c97b8b 100644 Binary files a/Binaries/Win64/UnrealEditor-blueprintLibrary.pdb and b/Binaries/Win64/UnrealEditor-blueprintLibrary.pdb differ diff --git a/Content/Blueprints/Data/MathAndConvertFns.uasset b/Content/Blueprints/Data/MathAndConvertFns.uasset index d0b62aa..daaeb8a 100644 Binary files a/Content/Blueprints/Data/MathAndConvertFns.uasset and b/Content/Blueprints/Data/MathAndConvertFns.uasset differ diff --git a/Content/Blueprints/Data/flatData.uasset b/Content/Blueprints/Data/flatData.uasset index b19211b..a21038d 100644 Binary files a/Content/Blueprints/Data/flatData.uasset and b/Content/Blueprints/Data/flatData.uasset differ diff --git a/Content/Blueprints/Lamp/BP_InteriorLamp.uasset b/Content/Blueprints/Lamp/BP_InteriorLamp.uasset index 6261e51..15a98c8 100644 Binary files a/Content/Blueprints/Lamp/BP_InteriorLamp.uasset and b/Content/Blueprints/Lamp/BP_InteriorLamp.uasset differ diff --git a/Content/Blueprints/Player/GI.uasset b/Content/Blueprints/Player/GI.uasset index 15c9e79..1fde25c 100644 Binary files a/Content/Blueprints/Player/GI.uasset and b/Content/Blueprints/Player/GI.uasset differ diff --git a/Content/Blueprints/Player/GameplayFunctions.uasset b/Content/Blueprints/Player/GameplayFunctions.uasset index f9e55f0..efbcf88 100644 Binary files a/Content/Blueprints/Player/GameplayFunctions.uasset and b/Content/Blueprints/Player/GameplayFunctions.uasset differ diff --git a/Content/Blueprints/Player/MyPC.uasset b/Content/Blueprints/Player/MyPC.uasset index fc22f8e..e9a9de9 100644 Binary files a/Content/Blueprints/Player/MyPC.uasset and b/Content/Blueprints/Player/MyPC.uasset differ diff --git a/Content/Blueprints/Player/getFunctions.uasset b/Content/Blueprints/Player/getFunctions.uasset index 95b4701..791141f 100644 Binary files a/Content/Blueprints/Player/getFunctions.uasset and b/Content/Blueprints/Player/getFunctions.uasset differ diff --git a/Content/Blueprints/UI/Actors/FlatPoint.uasset b/Content/Blueprints/UI/Actors/FlatPoint.uasset index e91d67b..7d9825f 100644 Binary files a/Content/Blueprints/UI/Actors/FlatPoint.uasset and b/Content/Blueprints/UI/Actors/FlatPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/FloorPoint.uasset b/Content/Blueprints/UI/Actors/FloorPoint.uasset index 33a6ff7..87b7eee 100644 Binary files a/Content/Blueprints/UI/Actors/FloorPoint.uasset and b/Content/Blueprints/UI/Actors/FloorPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/HousePoint.uasset b/Content/Blueprints/UI/Actors/HousePoint.uasset index acd1573..c7d7d3d 100644 Binary files a/Content/Blueprints/UI/Actors/HousePoint.uasset and b/Content/Blueprints/UI/Actors/HousePoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/InfraPoint.uasset b/Content/Blueprints/UI/Actors/InfraPoint.uasset index 35c7f2d..7cc4669 100644 Binary files a/Content/Blueprints/UI/Actors/InfraPoint.uasset and b/Content/Blueprints/UI/Actors/InfraPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/KPmaker.uasset b/Content/Blueprints/UI/Actors/KPmaker.uasset index 8b1ab11..86b64eb 100644 Binary files a/Content/Blueprints/UI/Actors/KPmaker.uasset and b/Content/Blueprints/UI/Actors/KPmaker.uasset differ diff --git a/Content/Blueprints/UI/Actors/TouchPoint.uasset b/Content/Blueprints/UI/Actors/TouchPoint.uasset index 98b7662..e2f954c 100644 Binary files a/Content/Blueprints/UI/Actors/TouchPoint.uasset and b/Content/Blueprints/UI/Actors/TouchPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/YardPoint.uasset b/Content/Blueprints/UI/Actors/YardPoint.uasset index 5d1113c..8193dec 100644 Binary files a/Content/Blueprints/UI/Actors/YardPoint.uasset and b/Content/Blueprints/UI/Actors/YardPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/flatCAP.uasset b/Content/Blueprints/UI/Actors/flatCAP.uasset index 2ea6444..b2169e1 100644 Binary files a/Content/Blueprints/UI/Actors/flatCAP.uasset and b/Content/Blueprints/UI/Actors/flatCAP.uasset differ diff --git a/Content/Blueprints/UI/Actors/flatPlan.uasset b/Content/Blueprints/UI/Actors/flatPlan.uasset deleted file mode 100644 index 7fe35af..0000000 Binary files a/Content/Blueprints/UI/Actors/flatPlan.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Actors/mapNaviPoint.uasset b/Content/Blueprints/UI/Actors/mapNaviPoint.uasset index 4c8a906..0cc1c9a 100644 Binary files a/Content/Blueprints/UI/Actors/mapNaviPoint.uasset and b/Content/Blueprints/UI/Actors/mapNaviPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/naviMapComponent.uasset b/Content/Blueprints/UI/Actors/naviMapComponent.uasset index 7208fae..8d4cd0e 100644 Binary files a/Content/Blueprints/UI/Actors/naviMapComponent.uasset and b/Content/Blueprints/UI/Actors/naviMapComponent.uasset differ diff --git a/Content/Blueprints/UI/Actors/parkingPoint.uasset b/Content/Blueprints/UI/Actors/parkingPoint.uasset index 9e89f39..203be0a 100644 Binary files a/Content/Blueprints/UI/Actors/parkingPoint.uasset and b/Content/Blueprints/UI/Actors/parkingPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/playerStartCamered.uasset b/Content/Blueprints/UI/Actors/playerStartCamered.uasset index 2c8e01b..bd2d9b3 100644 Binary files a/Content/Blueprints/UI/Actors/playerStartCamered.uasset and b/Content/Blueprints/UI/Actors/playerStartCamered.uasset differ diff --git a/Content/Blueprints/UI/Actors/pointForDebil.uasset b/Content/Blueprints/UI/Actors/pointForDebil.uasset index e61583a..fe54e6c 100644 Binary files a/Content/Blueprints/UI/Actors/pointForDebil.uasset and b/Content/Blueprints/UI/Actors/pointForDebil.uasset differ diff --git a/Content/Blueprints/UI/Actors/walkPointer.uasset b/Content/Blueprints/UI/Actors/walkPointer.uasset index b911ca9..7fc4bee 100644 Binary files a/Content/Blueprints/UI/Actors/walkPointer.uasset and b/Content/Blueprints/UI/Actors/walkPointer.uasset differ diff --git a/Content/Blueprints/UI/Widgets/DoorCard.uasset b/Content/Blueprints/UI/Widgets/DoorCard.uasset index 931e6b5..d3ba3eb 100644 Binary files a/Content/Blueprints/UI/Widgets/DoorCard.uasset and b/Content/Blueprints/UI/Widgets/DoorCard.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Elements/MenuBtn.uasset b/Content/Blueprints/UI/Widgets/Elements/MenuBtn.uasset index f4b1679..be7cba6 100644 Binary files a/Content/Blueprints/UI/Widgets/Elements/MenuBtn.uasset and b/Content/Blueprints/UI/Widgets/Elements/MenuBtn.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Elements/naviMapImage.uasset b/Content/Blueprints/UI/Widgets/Elements/naviMapImage.uasset index 8dc2d43..06f38e3 100644 Binary files a/Content/Blueprints/UI/Widgets/Elements/naviMapImage.uasset and b/Content/Blueprints/UI/Widgets/Elements/naviMapImage.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Elements/tet.uasset b/Content/Blueprints/UI/Widgets/Elements/tet.uasset index 37c0465..7fa1215 100644 Binary files a/Content/Blueprints/UI/Widgets/Elements/tet.uasset and b/Content/Blueprints/UI/Widgets/Elements/tet.uasset differ diff --git a/Content/Blueprints/UI/Widgets/KPWidget.uasset b/Content/Blueprints/UI/Widgets/KPWidget.uasset index b9a89a1..1a657f2 100644 Binary files a/Content/Blueprints/UI/Widgets/KPWidget.uasset and b/Content/Blueprints/UI/Widgets/KPWidget.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset b/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset index 9ab4bbb..7288bcb 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset and b/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/DragWidget.uasset b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/DragWidget.uasset index 2e9ab00..40b1774 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/DragWidget.uasset and b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/DragWidget.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/Dragger.uasset b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/Dragger.uasset index f47d035..8018083 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/Dragger.uasset and b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/Dragger.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/WidgetDrag.uasset b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/WidgetDrag.uasset index 1c7ad6d..855af95 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/DragFavCard/WidgetDrag.uasset and b/Content/Blueprints/UI/Widgets/Menu/DragFavCard/WidgetDrag.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/EmptyEndSession.uasset b/Content/Blueprints/UI/Widgets/Menu/EmptyEndSession.uasset index 604597d..aa0e454 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/EmptyEndSession.uasset and b/Content/Blueprints/UI/Widgets/Menu/EmptyEndSession.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/EndSessionCard.uasset b/Content/Blueprints/UI/Widgets/Menu/EndSessionCard.uasset index 13e1b15..4b9c903 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/EndSessionCard.uasset and b/Content/Blueprints/UI/Widgets/Menu/EndSessionCard.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/FavoriteCard.uasset b/Content/Blueprints/UI/Widgets/Menu/FavoriteCard.uasset index a92788d..36c154d 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/FavoriteCard.uasset and b/Content/Blueprints/UI/Widgets/Menu/FavoriteCard.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/Hello.uasset b/Content/Blueprints/UI/Widgets/Menu/Hello.uasset index 1e8e6bd..63bf4aa 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/Hello.uasset and b/Content/Blueprints/UI/Widgets/Menu/Hello.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/Layout.uasset b/Content/Blueprints/UI/Widgets/Menu/Layout.uasset index 86823e8..c247050 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/Layout.uasset and b/Content/Blueprints/UI/Widgets/Menu/Layout.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset b/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset index 80647f6..1a97837 100644 Binary files a/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset and b/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Search/Search.uasset b/Content/Blueprints/UI/Widgets/Search/Search.uasset index 4dba612..1eeb141 100644 Binary files a/Content/Blueprints/UI/Widgets/Search/Search.uasset and b/Content/Blueprints/UI/Widgets/Search/Search.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Search/SmallSearchCard.uasset b/Content/Blueprints/UI/Widgets/Search/SmallSearchCard.uasset index 5f68c7e..918c4d5 100644 Binary files a/Content/Blueprints/UI/Widgets/Search/SmallSearchCard.uasset and b/Content/Blueprints/UI/Widgets/Search/SmallSearchCard.uasset differ diff --git a/Content/Blueprints/UI/Widgets/SubMenu/Submenu.uasset b/Content/Blueprints/UI/Widgets/SubMenu/Submenu.uasset index c9d1a4f..8efdf2f 100644 Binary files a/Content/Blueprints/UI/Widgets/SubMenu/Submenu.uasset and b/Content/Blueprints/UI/Widgets/SubMenu/Submenu.uasset differ diff --git a/Content/Blueprints/world/BP_House.uasset b/Content/Blueprints/world/BP_House.uasset index 4bd4b1b..207146b 100644 Binary files a/Content/Blueprints/world/BP_House.uasset and b/Content/Blueprints/world/BP_House.uasset differ diff --git a/Content/Blueprints/world/actorTourHider.uasset b/Content/Blueprints/world/actorTourHider.uasset new file mode 100644 index 0000000..bf720d9 Binary files /dev/null and b/Content/Blueprints/world/actorTourHider.uasset differ diff --git a/Content/Maps/_MainScene.umap b/Content/Maps/_MainScene.umap index 6073c06..bb71d37 100644 Binary files a/Content/Maps/_MainScene.umap and b/Content/Maps/_MainScene.umap differ diff --git a/Content/Maps/lighting.umap b/Content/Maps/lighting.umap index 21e5e81..a3140ad 100644 Binary files a/Content/Maps/lighting.umap and b/Content/Maps/lighting.umap differ diff --git a/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky.uasset b/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky.uasset index 130d2f1..21e0d5c 100644 Binary files a/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky.uasset and b/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky.uasset differ diff --git a/Source/GraffModule/Private/cppFuncLibrary.cpp b/Source/GraffModule/Private/cppFuncLibrary.cpp index 4c6ee03..f37ce9c 100644 --- a/Source/GraffModule/Private/cppFuncLibrary.cpp +++ b/Source/GraffModule/Private/cppFuncLibrary.cpp @@ -211,7 +211,7 @@ void UcppFuncLibrary::getRange(double value, double minMult, double maxMult, dou bValue = value; } -void UcppFuncLibrary::updateFilterList(TArray flats, int floorMin, int floorMax, float sqMin, float sqMax, int priceMin, int priceMax, TArray houses, TArray sections, TArray rooms, int sortType, TArray& filtered) +void UcppFuncLibrary::updateFilterList(TArray flats, int floorMin, int floorMax, float sqMin, float sqMax, int priceMin, int priceMax, TArray houses, TArray sections, TArray rooms, int sortType, bool onlyAvailable, TArray& filtered, int& count) { TArray tempfloor, tempprice; TArray tempsq; @@ -221,13 +221,15 @@ void UcppFuncLibrary::updateFilterList(TArray flats, int floorMi && inRange(flat.Square, sqMin, sqMax) && boolGet(houses, flat.House) && boolGet(sections, flat.Section) - && boolGet(rooms, flat.Rooms)) { + && boolGet(rooms, flat.Rooms) + && (onlyAvailable?flat.available:true)) { filtered.Add(flat); tempfloor.Add(flat.Floor); tempprice.Add(flat.Price); tempsq.Add(flat.Square); } } + count = filtered.Num(); if (tempfloor.Num() > 1) { switch (sortType) { case 0: diff --git a/Source/GraffModule/Private/cppGI.cpp b/Source/GraffModule/Private/cppGI.cpp index 5048a61..01351c7 100644 --- a/Source/GraffModule/Private/cppGI.cpp +++ b/Source/GraffModule/Private/cppGI.cpp @@ -112,6 +112,8 @@ TArray UcppGI::cppLvlManage(UObject* WorldContextObject, Fcppc + + void UcppGI::cppCoordsEq(Fcppcoords coords, Fcppcoords coords1, bool relevantMinus2, bool fastEq, bool& flat_, bool& type_, bool& zone_, bool& house_, bool& section_, bool& floor_, bool& fullEq) { bool* outLvl[6] = { &flat_, &type_, &zone_, &house_, §ion_, &floor_ }; @@ -138,3 +140,68 @@ void UcppGI::cppCoordsEq(Fcppcoords coords, Fcppcoords coords1, bool relevantMin } +TArray UcppGI::getFlatArr_(Fcppcoords coords, int& len) +{ + auto output = TArray(); + for (auto& flat : flatArray) { + auto flatcoords = Fcppcoords(); + flatcoords.flat = coords.floor < 0 ? -2 : flat.FlatId; //ignore flat + flatcoords.floor =coords.floor<0?-2: flat.Floor; + flatcoords.house = coords.house < 1 ? -2 : flat.House; + flatcoords.section = coords.section < 1 ? -2 : flat.Section; + flatcoords.type = coords.type < 0 ? -2 : flat.flatType; + flatcoords.zone = coords.zone < 1 ? -2 : flat.Zone; + bool dummy[6]; + bool eq; + cppCoordsEq(coords, flatcoords, true, false, dummy[0], dummy[1], dummy[2], dummy[3], dummy[4], dummy[5], eq); + if (eq) output.Add(flat); + } + len = output.Num(); + return output; +} + +FcppflatStruct UcppGI::findFlatByCoords_(Fcppcoords coords, bool& success) +{ + success = false; + if (coords.flat < 0) return FcppflatStruct(); + int len; + auto tt = getFlatArr_(coords, len); + if (len>1) UE_LOG(LogCore, Warning, TEXT("UcppGI::findFlatByCoords: found more than one flat")); + if (len==0) return FcppflatStruct(); + success = true; + return tt[0]; +} + +TArray UcppGI::findFlatsByN_(int num, bool& success) +{ + success = false; + auto output = TArray(); + for (auto& flat : flatArray) { + if (flat.FlatN == num) output.Add(flat); + } + + success = !output.IsEmpty(); + return output; +} + +void UcppGI::countFreeApartments(Fcppcoords coords, int& free, int& all, float& minPrice) +{ + int len; + free = 0; + minPrice = 0; + bool temp=false; + for (auto& flat : getFlatArr_(coords, len)) { + if (flat.available) { + if (!temp) { + minPrice = flat.Price; + temp = true; + } + free++; + if (flat.Price < minPrice) minPrice = flat.Price; + } + } + minPrice /= 1000000; + all = len; + return; +} + diff --git a/Source/GraffModule/Public/cppFuncLibrary.h b/Source/GraffModule/Public/cppFuncLibrary.h index a5f85d7..cf485c8 100644 --- a/Source/GraffModule/Public/cppFuncLibrary.h +++ b/Source/GraffModule/Public/cppFuncLibrary.h @@ -15,59 +15,64 @@ struct FcppflatStruct { GENERATED_BODY() public: - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "FlatId", MakeStructureDefaultValue = "-1")) int32 FlatId; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "flatType", MakeStructureDefaultValue = "0")) int32 flatType; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Flat#", MakeStructureDefaultValue = "-1")) int32 FlatN; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Zone", MakeStructureDefaultValue = "-1")) int32 Zone; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "House", MakeStructureDefaultValue = "-1")) int32 House; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Section", MakeStructureDefaultValue = "-1")) int32 Section; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Floor", MakeStructureDefaultValue = "-1")) int32 Floor; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Rooms", MakeStructureDefaultValue = "-1")) int32 Rooms; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Square", MakeStructureDefaultValue = "0.000000")) double Square; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Price", MakeStructureDefaultValue = "0")) int32 Price; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "whitePrice", MakeStructureDefaultValue = "0")) + int32 whitePrice; + + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "price-meter", MakeStructureDefaultValue = "0")) int32 price_meter; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "available", MakeStructureDefaultValue = "True")) bool available; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "tags")) TArray tags; - /** Please add a variable description */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "deadline")) + FIntPoint deadline; + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "comment")) FString comment; }; @@ -162,7 +167,7 @@ class GRAFFMODULE_API UcppFuncLibrary : public UBlueprintFunctionLibrary /*sortType: 0.price min-to-max 1. max-to-min 2.square min-to-max 3. max-to-min 4.floor min-to-max 5. max-to-min*/ UFUNCTION(blueprintcallable, category = "Widget|Search") - static void updateFilterList(TArray flats, int floorMin, int floorMax, float sqMin, float sqMax, int priceMin, int priceMax, TArray houses, TArray sections, TArray rooms, int sortType, TArray& filtered); + static void updateFilterList(TArray flats, int floorMin, int floorMax, float sqMin, float sqMax, int priceMin, int priceMax, TArray houses, TArray sections, TArray rooms, int sortType, bool onlyAvailable, TArray& filtered, int& count); private: diff --git a/Source/GraffModule/Public/cppGI.h b/Source/GraffModule/Public/cppGI.h index bab2336..54d15fc 100644 --- a/Source/GraffModule/Public/cppGI.h +++ b/Source/GraffModule/Public/cppGI.h @@ -61,7 +61,24 @@ public: /*returns array of levels for binding*/ UFUNCTION(blueprintcallable, Category = "LevelLoading", meta = (WorldContext = "WorldContextObject")) TArray cppLvlManage(UObject* WorldContextObject, Fcppcoords currentCoords, uint8 currentState); - + + /*return array filtered by coords, coord<0 for floor and <1 for other is ignore the one*/ + UFUNCTION(blueprintcallable, category = "Data") + TArray getFlatArr_(Fcppcoords coords, int& len); + + + UFUNCTION(blueprintcallable, category = "Data") + FcppflatStruct findFlatByCoords_(Fcppcoords coords, bool& success); + + /*return array with flats with specified number + (may be from different houses if not sequetnal numeration)*/ + UFUNCTION(blueprintcallable, category = "Data") + TArray findFlatsByN_(int num, bool& success); + + /*coord=-2 is ignore the one, price is millions*/ + UFUNCTION(blueprintcallable, category = "Data") + void countFreeApartments(Fcppcoords coords,int& free,int& all,float& minPrice); + /*list of lvls for anyway loading*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "levelLoading") TArray cppWhiteList; @@ -80,6 +97,9 @@ public: /*list of lvls struct created by levelloader*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "levelLoading") TArray cppLevels; + /*list of all flats in project*/ +UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "Data") + TArray flatArray;