Skip to content

Commit c835ee0

Browse files
blakdragan7blakdragan7
andcommitted
fix(unreal)ignore symbol list index fix (#11292) 14df844014
* treat list index correct * ensure int is used for list index * propery logging in view model Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
1 parent 50dd5b7 commit c835ee0

File tree

6 files changed

+40
-7
lines changed

6 files changed

+40
-7
lines changed

.rive_head

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ba953a142ba3703152a81b89da93ea77ecb30d57
1+
14df84401453006ab90d7844fd36fe0ce8479fba

Source/Rive/Private/Rive/RiveFile.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ static ERiveDataType RiveDataTypeFromDataType(rive::DataType type)
4747
case rive::DataType::string:
4848
return ERiveDataType::String;
4949
case rive::DataType::number:
50+
case rive::DataType::integer:
5051
return ERiveDataType::Number;
52+
case rive::DataType::symbolListIndex:
53+
return ERiveDataType::SymbolListIndex;
5154
case rive::DataType::boolean:
5255
return ERiveDataType::Boolean;
5356
case rive::DataType::color:
@@ -64,9 +67,6 @@ static ERiveDataType RiveDataTypeFromDataType(rive::DataType type)
6467
return ERiveDataType::AssetImage;
6568
case rive::DataType::artboard:
6669
return ERiveDataType::Artboard;
67-
case rive::DataType::integer:
68-
case rive::DataType::symbolListIndex:
69-
RIVE_UNREACHABLE();
7070
}
7171

7272
return ERiveDataType::None;
@@ -634,6 +634,16 @@ void URiveFile::ViewModelPropertyDefinitionsListed(
634634
}
635635
}
636636
break;
637+
case ERiveDataType::SymbolListIndex:
638+
{
639+
UE_LOG(
640+
LogRive,
641+
Warning,
642+
TEXT(
643+
"Property of type SymbolListIndex is getting ignored !"));
644+
continue;
645+
}
646+
break;
637647
case ERiveDataType::Boolean:
638648
{
639649
auto Prop = NativeViewModelInstance->propertyBoolean(

Source/Rive/Private/Rive/RiveViewModel.cpp

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ static rive::DataType RiveDataTypeToDataType(ERiveDataType Type)
4141
return rive::DataType::assetImage;
4242
case ERiveDataType::Artboard:
4343
return rive::DataType::artboard;
44+
case ERiveDataType::SymbolListIndex:
45+
return rive::DataType::symbolListIndex;
4446
}
47+
4548
return rive::DataType::none;
4649
}
4750

@@ -131,6 +134,7 @@ constexpr bool GetIsPropertyTypeWithDefault(ERiveDataType Type)
131134
case ERiveDataType::AssetImage:
132135
case ERiveDataType::List:
133136
case ERiveDataType::Trigger:
137+
case ERiveDataType::SymbolListIndex:
134138
case ERiveDataType::None:
135139
break;
136140
}
@@ -1115,13 +1119,17 @@ void URiveViewModel::OnViewModelDataReceived(
11151119
case rive::DataType::viewModel:
11161120
case rive::DataType::artboard:
11171121
case rive::DataType::assetImage:
1122+
case rive::DataType::symbolListIndex:
11181123
break;
11191124
// Invalid values
11201125
case rive::DataType::none:
11211126
case rive::DataType::input:
11221127
case rive::DataType::integer:
1123-
case rive::DataType::symbolListIndex:
1124-
RIVE_UNREACHABLE();
1128+
UE_LOG(
1129+
LogRive,
1130+
Error,
1131+
TEXT(
1132+
"URiveViewModel::OnViewModelDataReceived Invalid property type received for update"));
11251133
break;
11261134
}
11271135

@@ -1332,6 +1340,14 @@ void URiveViewModel::OnUpdatedField(UE::FieldNotification::FFieldId InFieldId)
13321340
*ObjectClass->GetName());
13331341
}
13341342
}
1343+
else
1344+
{
1345+
UE_LOG(LogRive,
1346+
Error,
1347+
TEXT("URiveViewModel::OnUpdatedField Unsupported Property "
1348+
"%s."),
1349+
*Property->GetName());
1350+
}
13351351
}
13361352

13371353
bool URiveViewModel::RemoveFieldValueChangedDelegate(

Source/Rive/Public/RiveInternalTypes.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ enum class ERiveDataType : uint8
1616
Trigger = 7,
1717
ViewModel = 8,
1818
AssetImage = 11,
19-
Artboard = 12
19+
Artboard = 12,
20+
SymbolListIndex = 13,
2021
};
2122

2223
USTRUCT(BlueprintType)

Source/RiveEditor/Private/Factories/RiveFileFactory.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ static FName RiveDataTypeToPinCatagory(ERiveDataType DataType)
3737
return "None";
3838
case ERiveDataType::String:
3939
return UEdGraphSchema_K2::PC_String;
40+
case ERiveDataType::SymbolListIndex:
41+
return UEdGraphSchema_K2::PC_Int;
4042
case ERiveDataType::Number:
4143
return UEdGraphSchema_K2::PC_Real;
4244
case ERiveDataType::Boolean:

Source/RiveEditor/Private/RiveFileDetailCustomization.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ static FString GetIconForPropertyType(ERiveDataType Type)
110110
return FString(TEXT("\xf0e7")); // FontAwesome icon for bolt
111111
case ERiveDataType::List:
112112
return FString(TEXT("\xf00b")); // FontAwesome icon for list
113+
case ERiveDataType::SymbolListIndex:
114+
return FString(TEXT("\xf0e7"));
113115
case ERiveDataType::ViewModel:
114116
return FString(
115117
TEXT("\xf542")); // FontAwesome icon for Project Diagram
@@ -142,6 +144,8 @@ static FString GetTextForPropertyType(ERiveDataType Type)
142144
return FString(TEXT("Texture"));
143145
case ERiveDataType::Artboard:
144146
return FString(TEXT("Artboard"));
147+
case ERiveDataType::SymbolListIndex:
148+
return FString(TEXT("Symbol List Index"));
145149
case ERiveDataType::None:
146150
UE_LOG(
147151
LogRiveEditor,

0 commit comments

Comments
 (0)