@@ -23,15 +23,15 @@ impl UnrealEnginePlugin {
2323 "i8" => "int" . to_string ( ) ,
2424 "i16" => "int" . to_string ( ) ,
2525 "i32" => "int" . to_string ( ) ,
26- "i64" => "long " . to_string ( ) ,
26+ "i64" => "int64 " . to_string ( ) ,
2727 "i128" => "FString" . to_string ( ) ,
2828 "u8" => "int" . to_string ( ) ,
2929 "u16" => "int" . to_string ( ) ,
3030 "u32" => "int" . to_string ( ) ,
31- "u64" => "long " . to_string ( ) ,
31+ "u64" => "int64 " . to_string ( ) ,
3232 "u128" => "FString" . to_string ( ) ,
3333 "u256" => "FString" . to_string ( ) ,
34- "usize" => "long " . to_string ( ) ,
34+ "usize" => "int64 " . to_string ( ) ,
3535 "bool" => "bool" . to_string ( ) ,
3636 "felt252" => "FString" . to_string ( ) ,
3737 "bytes31" => "FString" . to_string ( ) ,
@@ -455,6 +455,9 @@ public:
455455 UFUNCTION(BlueprintCallable)
456456 void ControllerGetAccountOrConnect(const FString& rpc_url, const FString& chain_id);
457457
458+ UFUNCTION(BlueprintCallable)
459+ void ControllerConnect(const FString& rpc_url);
460+
458461 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnDojoControllerAccount,
459462 struct FControllerAccount,
460463 Account);
@@ -840,8 +843,7 @@ void ADojoHelpers::CallController{namespace}{system}{selector}(const FController
840843 . iter( )
841844 . map( |field| {
842845 format!(
843- r#"strings.Append(ConvertToFeltHexa<{cpp_type}>(value.{name}, \
844- "{type_name}"));"# ,
846+ r#"strings.Append(ConvertToFeltHexa<{cpp_type}>(value.{name}, "{type_name}"));"# ,
845847 cpp_type = Self :: map_type( & field. token) ,
846848 name = Self :: to_pascal_case( & field. name) ,
847849 type_name = & field. token. type_name( ) ,
@@ -941,7 +943,7 @@ public:
941943 }}
942944 }}
943945
944- static long ConvertToLong(const Member* member) {{
946+ static int64 ConvertToLong(const Member* member) {{
945947 switch(member->ty->primitive.tag) {{
946948 case Primitive_Tag::I64: return member->ty->primitive.i64;
947949 case Primitive_Tag::U64: return member->ty->primitive.u64;
@@ -1014,6 +1016,16 @@ static TArray<FString> ConvertToFeltHexa(const T& value, const char* valueType)
10141016 return TArray<FString>{{TEXT("0x") + hexValue}};
10151017 }}
10161018 }}
1019+ else if constexpr (std::is_same_v<T, int64>) {{
1020+ if (strcmp(valueType, "u64") == 0 ||
1021+ strcmp(valueType, "i64") == 0) {{
1022+ FString hexValue = FString::Printf(TEXT("%X"), static_cast<int64>(value));
1023+ while (hexValue.Len() < 64) {{
1024+ hexValue = TEXT("0") + hexValue;
1025+ }}
1026+ return TArray<FString>{{TEXT("0x") + hexValue}};
1027+ }}
1028+ }}
10171029 else if constexpr (std::is_same_v<T, bool>) {{
10181030 if (strcmp(valueType, "bool") == 0) {{
10191031 FString hexValue = FString::Printf(TEXT("%X"), value ? 1 : 0);
@@ -1050,8 +1062,7 @@ static TArray<FString> ConvertToFeltHexa(const T& value, const char* valueType)
10501062}}
10511063
10521064template<typename T>
1053- static void ConvertTyToUnrealEngineType(const Member* member, const char* expectedName, const \
1054- char* expectedType, T& output) {{
1065+ static void ConvertTyToUnrealEngineType(const Member* member, const char* expectedName, const char* expectedType, T& output) {{
10551066 if (strcmp(member->name, expectedName) != 0) {{
10561067 return;
10571068 }}
@@ -1078,7 +1089,7 @@ static void ConvertTyToUnrealEngineType(const Member* member, const char* expect
10781089 output = TypeConverter::ConvertToInt(member);
10791090 }}
10801091 }}
1081- else if constexpr (std::is_same_v<T, long >) {{
1092+ else if constexpr (std::is_same_v<T, int64 >) {{
10821093 if (strcmp(expectedType, "i64") == 0 ||
10831094 strcmp(expectedType, "u64") == 0 ||
10841095 strcmp(expectedType, "usize") == 0) {{
@@ -1144,8 +1155,7 @@ void ADojoHelpers::SetContractsAddresses(const TMap<FString,FString>& addresses)
11441155 ContractsAddresses = addresses;
11451156}}
11461157
1147- FAccount ADojoHelpers::CreateAccountDeprecated(const FString& rpc_url, const FString& \
1148- address, const FString& private_key)
1158+ FAccount ADojoHelpers::CreateAccountDeprecated(const FString& rpc_url, const FString& address, const FString& private_key)
11491159{{
11501160 FAccount account;
11511161
@@ -1193,6 +1203,16 @@ void ADojoHelpers::ControllerGetAccountOrConnect(const FString& rpc_url, const F
11931203 policies, nbPolicies, ControllerCallbackProxy);
11941204}}
11951205
1206+
1207+ void ADojoHelpers::ControllerConnect(const FString& rpc_url)
1208+ {{
1209+ std::string rpc_url_string = std::string(TCHAR_TO_UTF8(*rpc_url));
1210+
1211+ {policies}
1212+
1213+ FDojoModule::ControllerConnect(rpc_url_string.c_str(), policies, nbPolicies, ControllerCallbackProxy);
1214+ }}
1215+
11961216void ADojoHelpers::ControllerCallbackProxy(ControllerAccount *account)
11971217{{
11981218 if (!Instance) return;
0 commit comments