ПрограммированиеФорумОбщее

UE4 Steam Editor

#0
16:15, 6 фев 2018

Можно ли завести steam в редакторе ? я уже попробовал всё, что смог.
я подсунул ему файл steam_appid.txt и функция SteamAPI_Init() вернула true( до этого возвращала false ).

SteamAPICall_t hCreateItem = SteamUGC()->CreateItem( STEAM_APP_ID, EWorkshopFileType::k_EWorkshopFileTypeCommunity );
CCallResult< STest, CreateItemResult_t > CallResultUGCCreateItem;
CallResultUGCCreateItem.Set( hCreateItem, this, &STest::OnCreateItem );

Но колбэк не вызывается... тишина.. может кто реализовывал такое ?

#1
16:43, 6 фев 2018

gary_cho
> Но колбэк не вызывается... тишина..
SteamAPI_RunCallbacks(), не?

#2
17:06, 6 фев 2018

а разве не стим должен вызвать мой колбек ? зачем мне вызывать ? в запущенной игре я ничего не вызываю..

#3
17:19, 6 фев 2018

gary_cho
> а разве не стим должен вызвать мой колбек ? зачем мне вызывать ? в запущенной игре я ничего не вызываю..
Я же тебе ссылку дал, почитал бы.

Твой код:

SteamAPICall_t hCreateItem = SteamUGC()->CreateItem( STEAM_APP_ID, EWorkshopFileType::k_EWorkshopFileTypeCommunity );

Идём в документацию и смотрим что написано для функции CreateItem(). Видим что она возвращает тип SteamAPICall_t (это мы и у тебя в коде увидели). Читаем что про неё написано:

Unique handle to a Steam API call.
If a function returns one of these you must track its status by using the Call Result system.

Идём и узнаем про CallResults:

Many Steamworks methods use call results instead of a callback to asynchronously return results from a function call. The difference between a callback and call results is that callbacks are broadcast to all listeners, where-as call results only target a specific listener. Like callbacks, your game will need to call SteamAPI_RunCallbacks to dispatch call results to their listener.

#4
17:21, 6 фев 2018

я прочитал.. спасибо дружище!

ПрограммированиеФорумОбщее

Тема в архиве.