diff --git a/Binaries/Win64/UnrealEditor-GraffModule.dll b/Binaries/Win64/UnrealEditor-GraffModule.dll index 34e21bb..783ccb1 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 a582880..2fb1401 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 a00849c..400deeb 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 4c97b8b..36e0204 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 daaeb8a..ac5d972 100644 Binary files a/Content/Blueprints/Data/MathAndConvertFns.uasset and b/Content/Blueprints/Data/MathAndConvertFns.uasset differ diff --git a/Content/Blueprints/Data/getTexts.uasset b/Content/Blueprints/Data/getTexts.uasset new file mode 100644 index 0000000..27ec4b6 Binary files /dev/null and b/Content/Blueprints/Data/getTexts.uasset differ diff --git a/Content/Blueprints/Player/GI.uasset b/Content/Blueprints/Player/GI.uasset index 1fde25c..c523b1a 100644 Binary files a/Content/Blueprints/Player/GI.uasset and b/Content/Blueprints/Player/GI.uasset differ diff --git a/Content/Blueprints/UI/Actors/FlatPoint.uasset b/Content/Blueprints/UI/Actors/FlatPoint.uasset index 7d9825f..7053196 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 87b7eee..9188fb0 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/parkingPoint.uasset b/Content/Blueprints/UI/Actors/parkingPoint.uasset index 203be0a..a070b75 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/pointForDebil.uasset b/Content/Blueprints/UI/Actors/pointForDebil.uasset index fe54e6c..faf8e52 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/Widgets/DoorCard.uasset b/Content/Blueprints/UI/Widgets/DoorCard.uasset index d3ba3eb..1d04f4a 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/FlatMapMarker.uasset b/Content/Blueprints/UI/Widgets/Elements/FlatMapMarker.uasset index 19f1aa6..6908490 100644 Binary files a/Content/Blueprints/UI/Widgets/Elements/FlatMapMarker.uasset and b/Content/Blueprints/UI/Widgets/Elements/FlatMapMarker.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Elements/tet.uasset b/Content/Blueprints/UI/Widgets/Elements/tet.uasset deleted file mode 100644 index 7fa1215..0000000 Binary files a/Content/Blueprints/UI/Widgets/Elements/tet.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Widgets/KPWidget.uasset b/Content/Blueprints/UI/Widgets/KPWidget.uasset index 1a657f2..05998dd 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/Booking.uasset b/Content/Blueprints/UI/Widgets/Menu/Booking.uasset index 3fb4d28..7886d20 100644 Binary files a/Content/Blueprints/UI/Widgets/Menu/Booking.uasset and b/Content/Blueprints/UI/Widgets/Menu/Booking.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset b/Content/Blueprints/UI/Widgets/Menu/CardForBooking.uasset index 7288bcb..7027dba 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 40b1774..3240376 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/EndSessionCard.uasset b/Content/Blueprints/UI/Widgets/Menu/EndSessionCard.uasset index 4b9c903..58cdab7 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 36c154d..fa8344d 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/Layout.uasset b/Content/Blueprints/UI/Widgets/Menu/Layout.uasset index c247050..0ee851d 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/Point/Point_Room.uasset b/Content/Blueprints/UI/Widgets/Point/Point_Room.uasset index 62d70d1..e5a612c 100644 Binary files a/Content/Blueprints/UI/Widgets/Point/Point_Room.uasset and b/Content/Blueprints/UI/Widgets/Point/Point_Room.uasset differ diff --git a/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset b/Content/Blueprints/UI/Widgets/Search/BigSearchCard.uasset index 1a97837..63d3549 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/SmallSearchCard.uasset b/Content/Blueprints/UI/Widgets/Search/SmallSearchCard.uasset index 918c4d5..7cf7de1 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 8efdf2f..2ebf3cf 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/utils/BP_skeletalOptimize.uasset b/Content/Blueprints/utils/BP_skeletalOptimize.uasset new file mode 100644 index 0000000..f3688ba Binary files /dev/null and b/Content/Blueprints/utils/BP_skeletalOptimize.uasset differ diff --git a/Content/Blueprints/utils/overlapTester.uasset b/Content/Blueprints/utils/overlapTester.uasset index e0407fc..85759dd 100644 Binary files a/Content/Blueprints/utils/overlapTester.uasset and b/Content/Blueprints/utils/overlapTester.uasset differ diff --git a/Content/Blueprints/world/BM_Elevator_Child.uasset b/Content/Blueprints/world/BM_Elevator_Child.uasset deleted file mode 100644 index 5cea3a9..0000000 Binary files a/Content/Blueprints/world/BM_Elevator_Child.uasset and /dev/null differ diff --git a/Content/Maps/_MainScene.umap b/Content/Maps/_MainScene.umap index bb71d37..37b9976 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 a3140ad..b4a8210 100644 Binary files a/Content/Maps/lighting.umap and b/Content/Maps/lighting.umap differ diff --git a/Source/GraffModule/Private/cppGI.cpp b/Source/GraffModule/Private/cppGI.cpp index 01351c7..983fe1b 100644 --- a/Source/GraffModule/Private/cppGI.cpp +++ b/Source/GraffModule/Private/cppGI.cpp @@ -145,15 +145,15 @@ 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.flat = coords.flat < 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); + cppCoordsEq(coords, flatcoords, true, false, boolDummy, boolDummy, boolDummy, boolDummy, boolDummy, boolDummy, eq); if (eq) output.Add(flat); } len = output.Num(); @@ -166,21 +166,27 @@ FcppflatStruct UcppGI::findFlatByCoords_(Fcppcoords coords, bool& success) 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(); + 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) +FcppflatStruct UcppGI::findFlatByN_(Fcppcoords filter, int num, bool& success) { success = false; - auto output = TArray(); - for (auto& flat : flatArray) { - if (flat.FlatN == num) output.Add(flat); + filter.flat = -2; + auto output = FcppflatStruct(); + + auto arr = getFlatArr_(filter, intDummy); + for (auto& flat : arr) { + if (flat.FlatN == num) { + if (!success) output = flat; + else UE_LOG(LogCore, Warning, TEXT("UcppGI::findFlatByN_: found more than one flat")); + success = true; + } } - - success = !output.IsEmpty(); + return output; } @@ -189,7 +195,7 @@ void UcppGI::countFreeApartments(Fcppcoords coords, int& free, int& all, float& int len; free = 0; minPrice = 0; - bool temp=false; + bool temp = false; for (auto& flat : getFlatArr_(coords, len)) { if (flat.available) { if (!temp) { @@ -205,3 +211,30 @@ void UcppGI::countFreeApartments(Fcppcoords coords, int& free, int& all, float& return; } +void UcppGI::cppFlatTocppCoords(FcppflatStruct flat, Fcppcoords& coords) +{ + coords.flat = flat.FlatId; + coords.floor = flat.Floor; + coords.house = flat.House; + coords.section = flat.Section; + coords.type = flat.flatType; + coords.zone = flat.Zone; +} + +void UcppGI::cppCoordsToCppFlat(UObject* WorldContextObject, Fcppcoords coords, FcppflatStruct& flat, bool onlyCoords) +{ + if (onlyCoords) { + flat.FlatId = coords.flat; + flat.Floor = coords.floor; + flat.House = coords.house; + flat.Section = coords.section; + flat.flatType = coords.type; + flat.Zone = coords.zone; + return; + } + bool dum; + + flat = StaticCastPtr(UGameplayStatics::GetGameInstance(WorldContextObject))->findFlatByCoords_(coords, dum); + +} + diff --git a/Source/GraffModule/Public/cppFuncLibrary.h b/Source/GraffModule/Public/cppFuncLibrary.h index cf485c8..1f404b2 100644 --- a/Source/GraffModule/Public/cppFuncLibrary.h +++ b/Source/GraffModule/Public/cppFuncLibrary.h @@ -17,64 +17,64 @@ struct FcppflatStruct public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "FlatId", MakeStructureDefaultValue = "-1")) - int32 FlatId; + int32 FlatId=-1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "flatType", MakeStructureDefaultValue = "0")) - int32 flatType; + int32 flatType=0; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Flat#", MakeStructureDefaultValue = "-1")) - int32 FlatN; + int32 FlatN=-1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Zone", MakeStructureDefaultValue = "-1")) - int32 Zone; + int32 Zone=-1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "House", MakeStructureDefaultValue = "-1")) - int32 House; + int32 House=-1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Section", MakeStructureDefaultValue = "-1")) - int32 Section; + int32 Section = -1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Floor", MakeStructureDefaultValue = "-1")) - int32 Floor; + int32 Floor = -1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Rooms", MakeStructureDefaultValue = "-1")) - int32 Rooms; + int32 Rooms = -1; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Square", MakeStructureDefaultValue = "0.000000")) - double Square; + double Square = 0; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "Price", MakeStructureDefaultValue = "0")) - int32 Price; + int32 Price=0; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "whitePrice", MakeStructureDefaultValue = "0")) - int32 whitePrice; + int32 whitePrice=0; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "price-meter", MakeStructureDefaultValue = "0")) - int32 price_meter; + int32 price_meter=0; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "available", MakeStructureDefaultValue = "True")) - bool available; + bool available=false; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "tags")) TArray tags; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "deadline")) - FIntPoint deadline; + FIntPoint deadline=FIntPoint(0); UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (DisplayName = "comment")) - FString comment; + FString comment=""; }; diff --git a/Source/GraffModule/Public/cppGI.h b/Source/GraffModule/Public/cppGI.h index 54d15fc..520b6a0 100644 --- a/Source/GraffModule/Public/cppGI.h +++ b/Source/GraffModule/Public/cppGI.h @@ -7,7 +7,7 @@ #include "cppGI.generated.h" /** - * + * */ USTRUCT(BlueprintType) @@ -15,18 +15,18 @@ struct Fcppcoords { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite, category = "default") - int32 flat = -1; UPROPERTY(BlueprintReadWrite, category = "default") - int32 type = 0; + int32 flat = -1; UPROPERTY(BlueprintReadWrite, category = "default") - int32 zone = 1; + int32 type = 0; UPROPERTY(BlueprintReadWrite, category = "default") - int32 house = -1; + int32 zone = 1; UPROPERTY(BlueprintReadWrite, category = "default") - int32 section = -1; + int32 house = -1; UPROPERTY(BlueprintReadWrite, category = "default") - int32 floor = -1; + int32 section = -1; + UPROPERTY(BlueprintReadWrite, category = "default") + int32 floor = -1; }; @@ -35,18 +35,18 @@ struct FcppLevelStruct { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite) - Fcppcoords coords; UPROPERTY(BlueprintReadWrite) - bool dontUnload = false; + Fcppcoords coords; UPROPERTY(BlueprintReadWrite) - FString path; + bool dontUnload = false; UPROPERTY(BlueprintReadWrite) - float Z = 0; + FString path; UPROPERTY(BlueprintReadWrite) - int32 anotherLvl = -1; + float Z = 0; UPROPERTY(BlueprintReadWrite) - FName uniqName; + int32 anotherLvl = -1; + UPROPERTY(BlueprintReadWrite) + FName uniqName; }; UCLASS() @@ -54,53 +54,61 @@ class GRAFFMODULE_API UcppGI : public UGameInstance { GENERATED_BODY() public: - UFUNCTION(blueprintcallable, category = "cppFuncLib") - static void cppCoordsEq(Fcppcoords coords, Fcppcoords coords1, bool relevantMinus2, bool fastEq, bool& flat_, bool& type_, bool& zone_, bool& house_, bool& section_, bool& floor_, bool& fullEq); + UFUNCTION(blueprintcallable, category = "cppFuncLib") + static void cppCoordsEq(Fcppcoords coords, Fcppcoords coords1, bool relevantMinus2, bool fastEq, bool& flat_, bool& type_, bool& zone_, bool& house_, bool& section_, bool& floor_, bool& fullEq); - - /*returns array of levels for binding*/ + + /*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); + TArray cppLvlManage(UObject* WorldContextObject, Fcppcoords currentCoords, uint8 currentState); - - UFUNCTION(blueprintcallable, category = "Data") - FcppflatStruct findFlatByCoords_(Fcppcoords coords, bool& success); + /*return array filtered by coords, coord<0 for (floor,flat,type) and <1 for other is ignore the one*/ + UFUNCTION(blueprintcallable, category = "Data") + TArray getFlatArr_(Fcppcoords coords, int& len); - /*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); + UFUNCTION(blueprintcallable, category = "Data") + FcppflatStruct findFlatByCoords_(Fcppcoords coords, bool& success); + + /*flatId is ignoring, filter is optional*/ + UFUNCTION(blueprintcallable, category = "Data") + FcppflatStruct findFlatByN_(Fcppcoords filter, int num, bool& success); + + /*coord<0 for (floor,flat,type) and <1 for other is ignore the one, price is millions*/ + UFUNCTION(blueprintcallable, category = "Data") + void countFreeApartments(Fcppcoords coords, int& free, int& all, float& minPrice); + + UFUNCTION(blueprintcallable,blueprintPure, category = "Data",meta=( BlueprintAutocast)) + static void cppFlatTocppCoords(FcppflatStruct flat, Fcppcoords& coords); + + /*if onlyCoords false then same as find flat by coords*/ + UFUNCTION(blueprintcallable, blueprintPure, category = "Data", meta = (WorldContext = "WorldContextObject", BlueprintAutocast)) + static void cppCoordsToCppFlat(UObject* WorldContextObject,Fcppcoords coords,FcppflatStruct& flat,bool onlyCoords=true ); /*list of lvls for anyway loading*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "levelLoading") - TArray cppWhiteList; + TArray cppWhiteList; /*list of lvls for anyway not loading*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "levelLoading") - TArray cppBlackList; + TArray cppBlackList; /*list of coords for regular loading*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "LevelLoading") - TArray cppLoadList; + TArray cppLoadList; /*list of created level names*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "LevelLoading") - TArray cppCreatedList; + TArray cppCreatedList; /*list of loaded/loading right now level names*/ UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "LevelLoading") - TArray cpploadedList; + TArray cpploadedList; /*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; + TArray cppLevels; + /*list of all flats in project*/ + UPROPERTY(BlueprintReadWrite, EditDefaultsOnly, Category = "Data") + TArray flatArray; - +private: + bool boolDummy; + int intDummy; };