BOpenliveSDK-UE4
                                
                                
                                
                                    BOpenliveSDK-UE4 copied to clipboard
                            
                            
                            
                        blueprint call instance ptr -> stop() crashes
blueprint call instance ptr -> stop() crashes
问题已找到,不要在调用start之前调用stop就没事,等有空的时候我更新下
问题已找到,不要在调用start之前调用stop就没事,等有空的时候我更新下
主要是现在在blueprint 里无法判断是否已经 start,用户关闭游戏再重新打开之后,往往就会出现 “直播间游戏重复” 或者 “请求冷静期” 的报错。
建议也加个连接成功的callback,现在bp 那边只能 delay 几秒看有没有报错,没报错再进游戏的方式
另外是礼物的json 解析有点问题导致在 bp 收不到,在 C++里注释掉不存在的key 重新编译才好了,fans_medal_wearing_status 这条
void FGiftData::setValue(const nlohmann::json& jsonData)
{
room_id = jsonData["room_id"].get<int64_t>();
uid = jsonData["uid"].get<int64_t>();
gift_id = jsonData["gift_id"].get<int64_t>();
gift_num = jsonData["gift_num"].get<int64_t>();
price = jsonData["price"].get<int64_t>();
fans_medal_level = jsonData["fans_medal_level"].get<int64_t>();
guard_level = jsonData["guard_level"].get<int64_t>();
timestamp = jsonData["timestamp"].get<int64_t>();
paid = jsonData["paid"].get
anchor_info.uid = jsonData["anchor_info"]["uid"].get<int64_t>();
anchor_info.uface = FString(UTF8_TO_TCHAR(jsonData["anchor_info"]["uface"].get<std::string>().c_str()));
anchor_info.uname = FString(UTF8_TO_TCHAR(jsonData["anchor_info"]["uname"].get<std::string>().c_str()));
}
这俩问题解决了,提交好了