API/Autodoc/Files/URuStoreCore.cpp.en.md


#include “JavaApplication.h”

const FString URuStoreCore::PluginVersion = “10.5.0”; URuStoreCore* URuStoreCore::_instance = nullptr; bool URuStoreCore::_bIsInstanceInitialized = false;

bool URuStoreCore::GetIsInitialized() { return bIsInitialized; }

URuStoreCore* URuStoreCore::Instance() { if (!_bIsInstanceInitialized) { _bIsInstanceInitialized = true; _instance = NewObject(GetTransientPackage()); } return _instance; }

bool URuStoreCore::Init() { if (!URuStoreCore::IsPlatformSupported()) return false; if (bIsInitialized) return false;

_instance->AddToRoot();

unrealPlayer = new UnrealPlayerImpl();

auto playerProviderJavaClass = MakeShared<AndroidJavaClass>("ru/rustore/unrealsdk/core/PlayerProvider");
_playerProviderWrapper = playerProviderJavaClass->GetStaticAJObject("INSTANCE");
_playerProviderWrapper->CallVoid("setExternalProvider", unrealPlayer->GetJWrapper());

auto clientJavaClass = MakeShared<AndroidJavaClass>("ru/rustore/unrealsdk/core/RuStoreUnrealCoreClient");
_clientWrapper = clientJavaClass->GetStaticAJObject("INSTANCE");

bIsInitialized = true;

return bIsInitialized;

}

void URuStoreCore::Dispose() { URuStoreCore* _instanceTemp = _instance;

_instance = nullptr;
_bIsInstanceInitialized = false;
bIsInitialized = false;

delete _clientWrapper;
_clientWrapper = nullptr;

delete _playerProviderWrapper;
_playerProviderWrapper = nullptr;

delete unrealPlayer;
unrealPlayer = nullptr;

if (_instanceTemp && _instanceTemp->IsRooted()) _instanceTemp->RemoveFromRoot();

}

void URuStoreCore::ConditionalBeginDestroy() { Dispose();

Super::ConditionalBeginDestroy();

}

bool URuStoreCore::IsPlatformSupported() { #if PLATFORM_ANDROID return true; #endif return false; }

bool URuStoreCore::IsPlatformSupported(TFunction<void(long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe>)> onFailure) { if (IsPlatformSupported()) return true;

auto error = MakeShared<FURuStoreError, ESPMode::ThreadSafe>();
error->name = "RuStore Error";
error->description = "Unsupported platform";

onFailure(0, error);

return false;

}

void URuStoreCore::ShowToast(FString message) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto activity = MakeShared();

javaClass->CallStaticVoid("showToast", &activity.Get(), message);

}

void URuStoreCore::LogVerbose(FString tag, FString message) { _LogVerbose(tag, message); }

void URuStoreCore::LogDebug(FString tag, FString message) { _LogDebug(tag, message); }

void URuStoreCore::LogInfo(FString tag, FString message) { _LogInfo(tag, message); }

void URuStoreCore::LogWarn(FString tag, FString message) { _LogWarn(tag, message); }

void URuStoreCore::LogError(FString tag, FString message) { _LogError(tag, message); }

bool URuStoreCore::CompareId(int64 A, int64 B) { return (A == B && A != 0); }

void URuStoreCore::CopyToClipboard(FString text) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto activity = MakeShared();

javaClass->CallStaticVoid("CopyToClipboard", &activity.Get(), text);

}

void URuStoreCore::GetFromClipboard(FString& text) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto activity = MakeShared();

text = javaClass->CallStaticFString("GetFromClipboard", &activity.Get());

}

void URuStoreCore::GetStringResources(FString name, FString& value) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared();

value = javaClass->CallStaticFString("GetStringResources", &application.Get(), name);

}

void URuStoreCore::GetIntResources(FString name, int& value) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared();

value = javaClass->CallStaticInt("GetIntResources", &application.Get(), name);

}

FString URuStoreCore::GetStringSharedPreferences(FString storageName, FString key, FString defaultValue) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared();

return javaClass->CallStaticFString("GetStringSharedPreferences", &application.Get(), storageName, key, defaultValue);

}

int URuStoreCore::GetIntSharedPreferences(FString storageName, FString key, int defaultValue) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared();

return javaClass->CallStaticInt("GetIntSharedPreferences", &application.Get(), storageName, key, defaultValue);

}

void URuStoreCore::SetStringSharedPreferences(FString storageName, FString key, FString value) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared(); javaClass->CallStaticVoid(“SetStringSharedPreferences”, &application.Get(), storageName, key, value); }

void URuStoreCore::SetIntSharedPreferences(FString storageName, FString key, int value) { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared(); javaClass->CallStaticVoid(“SetIntSharedPreferences”, &application.Get(), storageName, key, value); }

void URuStoreCore::RestartAndroidApp() { auto javaClass = MakeShared(“com/Plugins/RuStoreCore/RuStoreCoreUtils”); auto application = MakeShared();

return javaClass->CallStaticVoid("RestartAndroidApp", &application.Get());

}

bool URuStoreCore::IsRuStoreInstalled() { auto activity = MakeShared();

return _clientWrapper->CallBool("isRuStoreInstalled", &activity.Get());

}

void URuStoreCore::OpenRuStoreDownloadInstruction() { auto activity = MakeShared(); _clientWrapper->CallVoid(“openRuStoreDownloadInstruction”, &activity.Get()); }

void URuStoreCore::OpenRuStore() { auto activity = MakeShared(); _clientWrapper->CallVoid(“openRuStore”, &activity.Get()); }

void URuStoreCore::OpenRuStoreAuthorization() { auto activity = MakeShared(); _clientWrapper->CallVoid(“openRuStoreAuthorization”, &activity.Get()); }

Назад