mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-05 15:03:33 +08:00
added native-review-request to replace old hand-rolled one
This commit is contained in:
parent
310660403b
commit
8fd4c45b85
56
.efrocachemap
generated
56
.efrocachemap
generated
@ -4056,26 +4056,26 @@
|
|||||||
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
|
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
|
||||||
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
|
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
|
||||||
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
|
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
|
||||||
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "64292918215b9d3e6fc3d470db4c92b1",
|
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "6b30c7563c501435ee9c9d7584124a3d",
|
||||||
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "84c840b57ed000407a8b34e9c5015b54",
|
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "cde906637ab2fd52c7c6752d20c8e5a1",
|
||||||
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "bc6fc246d6e0551a18f161183ee89ad5",
|
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "fa4c9dddd31d0ae5b5537a70415679b4",
|
||||||
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bc87c32aee50fbc67ca0531c536e7f10",
|
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "0ea542deeb3be561b45805e31fff618d",
|
||||||
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "bcf55f1a1e8e317dc355ebf2ea301d10",
|
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "09ca80b37e18c24e705e33409fb14cf7",
|
||||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "0ad6f5cea06d4c0754d1763610c7be90",
|
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "057150cf0c86920df2ceba78a0413e15",
|
||||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "2c1c99e0850749741e23e5db7fb45b22",
|
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "8b9db0a31ad3186b24bf57700285b7ed",
|
||||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "960dee8cee9d2fe500629583668eee14",
|
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "1252e817e42616e35357e4aa7f30c1f3",
|
||||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "1eb609e4f8ba0cf740d9c7b8cbbbf4d3",
|
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "0fa88240fcf21fb4a8030212731c5c47",
|
||||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "80418b80ad17e283a65b85142b0b490d",
|
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "8fca31f8837dfb689b9c2b8ee0529fab",
|
||||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "1527e8235b808c6bdf5f2850875d1843",
|
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "15f7e176817e7b509567764b98ef8a1a",
|
||||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "0e8c85459f90cc0a1355aecad5b5306e",
|
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "ac68b0113512aaa47d91a3a585124181",
|
||||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "6c718c797dfaf2b85ce7bd5d6c7f9d8a",
|
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "f5caed9be4b5f59aa4a4bffb6d2ba7d7",
|
||||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "5eefb534d193a9fa06b413a9d5a05969",
|
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "578bdfea257f3913c82fa200c858197a",
|
||||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "2dedf11d5e4ffa9ec02eb6025a9b3460",
|
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "a2fea38fdebf4c687249758c63cae3c7",
|
||||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "3a3075f5f28cbfe9cd302e9c371b9ed4",
|
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "866c89a141e141340de210cb5b6025d6",
|
||||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "275342bb44f1f5edde893a9775eb0130",
|
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "e79d9be3f30cd6aee49ca99cb246a1fd",
|
||||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "4866c1b244b493b99da24aa1bc965bb7",
|
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "1ea429286200a9db50aa91233c61d13a",
|
||||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "c2181a4564b675762f89e2bc3314332f",
|
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "eb37b75b93f6faa872b270d6e88c3a18",
|
||||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "ac4a176d550b219aa3cb1f46ad738a66",
|
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "c330e1a356877ead65e039dfb59f46ab",
|
||||||
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "f812111f1eb4ea76e99558305ce3980f",
|
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "f812111f1eb4ea76e99558305ce3980f",
|
||||||
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "c16c1b360b27850f1ac4d3dc55194b0a",
|
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "c16c1b360b27850f1ac4d3dc55194b0a",
|
||||||
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "f812111f1eb4ea76e99558305ce3980f",
|
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "f812111f1eb4ea76e99558305ce3980f",
|
||||||
@ -4092,14 +4092,14 @@
|
|||||||
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "380d456bc409849174a36c5d2f61aa1b",
|
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "380d456bc409849174a36c5d2f61aa1b",
|
||||||
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "4fae9b286a6d1c5c729c49c483c1422a",
|
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "4fae9b286a6d1c5c729c49c483c1422a",
|
||||||
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "380d456bc409849174a36c5d2f61aa1b",
|
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "380d456bc409849174a36c5d2f61aa1b",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "5bee4eaf62c401c65c94513eb3ac18fd",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "8cba13ddabc6c29b7360483d35e83b4c",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "69438fa6a8c70381f355ff3fb94c5a13",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "9f3a011a47e4b924af06bf22d12eeedd",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "ad27b9e1e63733ba10c34ae5fd8246df",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "63272196776f495960f4a837d93e1bd5",
|
||||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "5b1b8ac6e3022b633477c3989957fa81",
|
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "9944dc011d9efc9525e728277c278d29",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "d2364a2d49ba3268691fb7e1134c9359",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "a768ba2d0cc92b4e8a6362bd49cf0a1e",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a6436bf9a9fb5531b837d9be20c2834b",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "67b3ba3f7e7bb1b38f03ea28792ffab5",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "a502732d3df4e7ff6b5086cb1f9bbb08",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "763663746aa11e24970ac1de4c579310",
|
||||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "5470de767289dca9b88678e69a1ecca4",
|
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "8b3169ff64c31243ba401703d95ae0e0",
|
||||||
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
|
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
|
||||||
"src/assets/ba_data/python/babase/_mgen/enums.py": "28323912b56ec07701eda3d41a6a4101",
|
"src/assets/ba_data/python/babase/_mgen/enums.py": "28323912b56ec07701eda3d41a6a4101",
|
||||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f",
|
"src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f",
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
### 1.7.28 (build 21578, api 8, 2023-11-09)
|
### 1.7.28 (build 21581, api 8, 2023-11-09)
|
||||||
|
|
||||||
- Massively cleaned up code related to rendering and window systems (OpenGL,
|
- Massively cleaned up code related to rendering and window systems (OpenGL,
|
||||||
SDL, etc). This code had been growing into a nasty tangle for 15 years
|
SDL, etc). This code had been growing into a nasty tangle for 15 years
|
||||||
|
|||||||
@ -74,6 +74,8 @@ from _babase import (
|
|||||||
music_player_set_volume,
|
music_player_set_volume,
|
||||||
music_player_shutdown,
|
music_player_shutdown,
|
||||||
music_player_stop,
|
music_player_stop,
|
||||||
|
native_review_request,
|
||||||
|
native_review_request_supported,
|
||||||
native_stack_trace,
|
native_stack_trace,
|
||||||
print_load_info,
|
print_load_info,
|
||||||
pushcall,
|
pushcall,
|
||||||
@ -276,6 +278,8 @@ __all__ = [
|
|||||||
'music_player_set_volume',
|
'music_player_set_volume',
|
||||||
'music_player_shutdown',
|
'music_player_shutdown',
|
||||||
'music_player_stop',
|
'music_player_stop',
|
||||||
|
'native_review_request',
|
||||||
|
'native_review_request_supported',
|
||||||
'native_stack_trace',
|
'native_stack_trace',
|
||||||
'NodeNotFoundError',
|
'NodeNotFoundError',
|
||||||
'normalized_color',
|
'normalized_color',
|
||||||
|
|||||||
@ -17,7 +17,7 @@ if TYPE_CHECKING:
|
|||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
|
|
||||||
DEBUG_LOG = True
|
DEBUG_LOG = False
|
||||||
|
|
||||||
|
|
||||||
class LoginAdapter:
|
class LoginAdapter:
|
||||||
|
|||||||
@ -52,7 +52,7 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
# Build number and version of the ballistica binary we expect to be
|
# Build number and version of the ballistica binary we expect to be
|
||||||
# using.
|
# using.
|
||||||
TARGET_BALLISTICA_BUILD = 21578
|
TARGET_BALLISTICA_BUILD = 21581
|
||||||
TARGET_BALLISTICA_VERSION = '1.7.28'
|
TARGET_BALLISTICA_VERSION = '1.7.28'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -66,6 +66,8 @@ from babase import (
|
|||||||
lock_all_input,
|
lock_all_input,
|
||||||
LoginAdapter,
|
LoginAdapter,
|
||||||
Lstr,
|
Lstr,
|
||||||
|
native_review_request,
|
||||||
|
native_review_request_supported,
|
||||||
NotFoundError,
|
NotFoundError,
|
||||||
Permission,
|
Permission,
|
||||||
Plugin,
|
Plugin,
|
||||||
@ -191,6 +193,8 @@ __all__ = [
|
|||||||
'LoginAdapter',
|
'LoginAdapter',
|
||||||
'Lstr',
|
'Lstr',
|
||||||
'Mesh',
|
'Mesh',
|
||||||
|
'native_review_request',
|
||||||
|
'native_review_request_supported',
|
||||||
'NotFoundError',
|
'NotFoundError',
|
||||||
'open_file_externally',
|
'open_file_externally',
|
||||||
'open_url',
|
'open_url',
|
||||||
|
|||||||
@ -518,10 +518,13 @@ def show_offer() -> bool:
|
|||||||
assert plus is not None
|
assert plus is not None
|
||||||
|
|
||||||
app = bui.app
|
app = bui.app
|
||||||
assert app.classic is not None
|
if app.classic is None:
|
||||||
|
raise RuntimeError(
|
||||||
|
'Classic feature-set is required to show offers.'
|
||||||
|
)
|
||||||
|
|
||||||
# Space things out a bit so we don't hit the poor user with an ad and
|
# Space things out a bit so we don't hit the poor user with an
|
||||||
# then an in-game offer.
|
# ad and then an in-game offer.
|
||||||
has_been_long_enough_since_ad = True
|
has_been_long_enough_since_ad = True
|
||||||
if app.classic.ads.last_ad_completion_time is not None and (
|
if app.classic.ads.last_ad_completion_time is not None and (
|
||||||
bui.apptime() - app.classic.ads.last_ad_completion_time < 30.0
|
bui.apptime() - app.classic.ads.last_ad_completion_time < 30.0
|
||||||
@ -532,8 +535,9 @@ def show_offer() -> bool:
|
|||||||
app.classic.special_offer is not None
|
app.classic.special_offer is not None
|
||||||
and has_been_long_enough_since_ad
|
and has_been_long_enough_since_ad
|
||||||
):
|
):
|
||||||
# Special case: for pro offers, store this in our prefs so we
|
# Special case: for pro offers, store this in our prefs so
|
||||||
# can re-show it if the user kills us (set phasers to 'NAG'!!!).
|
# we can re-show it if the user kills us (set phasers to
|
||||||
|
# 'NAG'!!!).
|
||||||
if app.classic.special_offer.get('item') == 'pro_fullprice':
|
if app.classic.special_offer.get('item') == 'pro_fullprice':
|
||||||
cfg = app.config
|
cfg = app.config
|
||||||
cfg['pendingSpecialOffer'] = {
|
cfg['pendingSpecialOffer'] = {
|
||||||
@ -543,7 +547,11 @@ def show_offer() -> bool:
|
|||||||
cfg.commit()
|
cfg.commit()
|
||||||
|
|
||||||
if app.classic.special_offer['item'] == 'rating':
|
if app.classic.special_offer['item'] == 'rating':
|
||||||
feedback.ask_for_rating()
|
# Go with a native thing if we've got one.
|
||||||
|
if bui.native_review_request_supported():
|
||||||
|
bui.native_review_request()
|
||||||
|
else:
|
||||||
|
feedback.ask_for_rating()
|
||||||
else:
|
else:
|
||||||
SpecialOfferWindow(app.classic.special_offer)
|
SpecialOfferWindow(app.classic.special_offer)
|
||||||
|
|
||||||
|
|||||||
@ -308,4 +308,13 @@ auto AppAdapter::GetKeyName(int keycode) -> std::string {
|
|||||||
return "?";
|
return "?";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto AppAdapter::NativeReviewRequestSupported() -> bool { return false; }
|
||||||
|
|
||||||
|
void AppAdapter::NativeReviewRequest() {
|
||||||
|
BA_PRECONDITION(NativeReviewRequestSupported());
|
||||||
|
PushMainThreadCall([this] { DoNativeReviewRequest(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppAdapter::DoNativeReviewRequest() { FatalError("Fixme unimplemented."); }
|
||||||
|
|
||||||
} // namespace ballistica::base
|
} // namespace ballistica::base
|
||||||
|
|||||||
@ -230,9 +230,15 @@ class AppAdapter {
|
|||||||
/// context. By default this is simply the main thread.
|
/// context. By default this is simply the main thread.
|
||||||
virtual void DoPushGraphicsContextRunnable(Runnable* runnable);
|
virtual void DoPushGraphicsContextRunnable(Runnable* runnable);
|
||||||
|
|
||||||
// Return a name for a ballistica keyboard keycode.
|
/// Return a name for a ballistica keyboard keycode.
|
||||||
virtual auto GetKeyName(int keycode) -> std::string;
|
virtual auto GetKeyName(int keycode) -> std::string;
|
||||||
|
|
||||||
|
/// Return whether there is a native 'review-this-app' prompt.
|
||||||
|
virtual auto NativeReviewRequestSupported() -> bool;
|
||||||
|
|
||||||
|
/// Asynchronously kick off a native review request.
|
||||||
|
void NativeReviewRequest();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual ~AppAdapter();
|
virtual ~AppAdapter();
|
||||||
|
|
||||||
@ -241,6 +247,10 @@ class AppAdapter {
|
|||||||
virtual void DoClipboardSetText(const std::string& text);
|
virtual void DoClipboardSetText(const std::string& text);
|
||||||
virtual auto DoClipboardGetText() -> std::string;
|
virtual auto DoClipboardGetText() -> std::string;
|
||||||
|
|
||||||
|
/// Override to implement native review requests. Will be called in the
|
||||||
|
/// main thread.
|
||||||
|
virtual void DoNativeReviewRequest();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnAppSuspend_();
|
void OnAppSuspend_();
|
||||||
void OnAppUnsuspend_();
|
void OnAppUnsuspend_();
|
||||||
|
|||||||
@ -297,6 +297,23 @@ auto AppAdapterApple::GetKeyName(int keycode) -> std::string {
|
|||||||
return MinSDL_GetKeyName(keycode);
|
return MinSDL_GetKeyName(keycode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto AppAdapterApple::NativeReviewRequestSupported() -> bool {
|
||||||
|
// StoreKit currently supports this everywhere except tvOS.
|
||||||
|
if (g_buildconfig.xcode_build() && g_buildconfig.use_store_kit()
|
||||||
|
&& !g_buildconfig.ostype_tvos()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppAdapterApple::DoNativeReviewRequest() {
|
||||||
|
#if BA_XCODE_BUILD && BA_USE_STORE_KIT && !BA_OSTYPE_TVOS
|
||||||
|
BallisticaKit::StoreKitContext::requestReview();
|
||||||
|
#else
|
||||||
|
FatalError("This should not be getting called.");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ballistica::base
|
} // namespace ballistica::base
|
||||||
|
|
||||||
#endif // BA_XCODE_BUILD
|
#endif // BA_XCODE_BUILD
|
||||||
|
|||||||
@ -46,6 +46,7 @@ class AppAdapterApple : public AppAdapter {
|
|||||||
auto GetKeyRepeatDelay() -> float override;
|
auto GetKeyRepeatDelay() -> float override;
|
||||||
auto GetKeyRepeatInterval() -> float override;
|
auto GetKeyRepeatInterval() -> float override;
|
||||||
auto GetKeyName(int keycode) -> std::string override;
|
auto GetKeyName(int keycode) -> std::string override;
|
||||||
|
auto NativeReviewRequestSupported() -> bool override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void DoPushMainThreadRunnable(Runnable* runnable) override;
|
void DoPushMainThreadRunnable(Runnable* runnable) override;
|
||||||
@ -60,6 +61,7 @@ class AppAdapterApple : public AppAdapter {
|
|||||||
auto DoClipboardHasText() -> bool override;
|
auto DoClipboardHasText() -> bool override;
|
||||||
void DoClipboardSetText(const std::string& text) override;
|
void DoClipboardSetText(const std::string& text) override;
|
||||||
auto DoClipboardGetText() -> std::string override;
|
auto DoClipboardGetText() -> std::string override;
|
||||||
|
void DoNativeReviewRequest() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class ScopedAllowGraphics_;
|
class ScopedAllowGraphics_;
|
||||||
|
|||||||
@ -1724,6 +1724,45 @@ static PyMethodDef PyUsingGameCenterDef = {
|
|||||||
"(internal)",
|
"(internal)",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// --------------------- native_review_request_supported -----------------------
|
||||||
|
|
||||||
|
static auto PyNativeReviewRequestSupported(PyObject* self) -> PyObject* {
|
||||||
|
BA_PYTHON_TRY;
|
||||||
|
if (g_base->app_adapter->NativeReviewRequestSupported()) {
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
}
|
||||||
|
Py_RETURN_FALSE;
|
||||||
|
BA_PYTHON_CATCH;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyMethodDef PyNativeReviewRequestSupportedDef = {
|
||||||
|
"native_review_request_supported", // name
|
||||||
|
(PyCFunction)PyNativeReviewRequestSupported, // method
|
||||||
|
METH_NOARGS, // flags
|
||||||
|
|
||||||
|
"native_review_request_supported() -> bool\n"
|
||||||
|
"\n"
|
||||||
|
"(internal)",
|
||||||
|
};
|
||||||
|
|
||||||
|
// -------------------------- native_review_request ----------------------------
|
||||||
|
|
||||||
|
static auto PyNativeReviewRequest(PyObject* self) -> PyObject* {
|
||||||
|
BA_PYTHON_TRY;
|
||||||
|
g_base->app_adapter->NativeReviewRequest();
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
BA_PYTHON_CATCH;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyMethodDef PyNativeReviewRequestDef = {
|
||||||
|
"native_review_request", // name
|
||||||
|
(PyCFunction)PyNativeReviewRequest, // method
|
||||||
|
METH_NOARGS, // flags
|
||||||
|
|
||||||
|
"native_review_request() -> None\n"
|
||||||
|
"\n"
|
||||||
|
"(internal)",
|
||||||
|
};
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
auto PythonMethodsMisc::GetMethods() -> std::vector<PyMethodDef> {
|
auto PythonMethodsMisc::GetMethods() -> std::vector<PyMethodDef> {
|
||||||
@ -1789,6 +1828,8 @@ auto PythonMethodsMisc::GetMethods() -> std::vector<PyMethodDef> {
|
|||||||
PyAssetLoadsAllowedDef,
|
PyAssetLoadsAllowedDef,
|
||||||
PyUsingGooglePlayGameServicesDef,
|
PyUsingGooglePlayGameServicesDef,
|
||||||
PyUsingGameCenterDef,
|
PyUsingGameCenterDef,
|
||||||
|
PyNativeReviewRequestSupportedDef,
|
||||||
|
PyNativeReviewRequestDef,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
|
|||||||
namespace ballistica {
|
namespace ballistica {
|
||||||
|
|
||||||
// These are set automatically via script; don't modify them here.
|
// These are set automatically via script; don't modify them here.
|
||||||
const int kEngineBuildNumber = 21578;
|
const int kEngineBuildNumber = 21581;
|
||||||
const char* kEngineVersion = "1.7.28";
|
const char* kEngineVersion = "1.7.28";
|
||||||
const int kEngineApiVersion = 8;
|
const int kEngineApiVersion = 8;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user