Compare commits

..

2 Commits

Author SHA1 Message Date
Boris Nikolaev b4d7629715 chg: readme.md 2026-08-14 04:21:49 +03:00
Boris Nikolaev f3b638f2c9 fix: controls for WebGL 2026-08-14 04:21:29 +03:00
29 changed files with 70 additions and 48 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
+1 -1
View File
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
@@ -13,7 +13,7 @@ AudioImporter:
conversionMode: 0 conversionMode: 0
preloadAudioData: 1 preloadAudioData: 1
platformSettingOverrides: {} platformSettingOverrides: {}
forceToMono: 0 forceToMono: 1
normalize: 0 normalize: 0
loadInBackground: 0 loadInBackground: 0
ambisonic: 0 ambisonic: 0
Binary file not shown.
@@ -16,12 +16,7 @@ public class InputController : MonoBehaviour
{ {
return Input.GetTouch(0).position; return Input.GetTouch(0).position;
} }
#if UNITY_EDITOR || UNITY_STANDALONE
return Input.mousePosition; return Input.mousePosition;
#else
return Vector2.zero;
#endif
} }
private bool TouchDown() private bool TouchDown()
@@ -30,11 +25,7 @@ public class InputController : MonoBehaviour
{ {
return Input.GetTouch(0).phase == TouchPhase.Began; return Input.GetTouch(0).phase == TouchPhase.Began;
} }
#if UNITY_EDITOR || UNITY_STANDALONE
return Input.GetMouseButtonDown(0); return Input.GetMouseButtonDown(0);
#else
return false;
#endif
} }
private bool TouchHold() private bool TouchHold()
@@ -44,11 +35,7 @@ public class InputController : MonoBehaviour
TouchPhase phase = Input.GetTouch(0).phase; TouchPhase phase = Input.GetTouch(0).phase;
return phase == TouchPhase.Moved || phase == TouchPhase.Stationary; return phase == TouchPhase.Moved || phase == TouchPhase.Stationary;
} }
#if UNITY_EDITOR || UNITY_STANDALONE
return Input.GetMouseButton(0); return Input.GetMouseButton(0);
#else
return false;
#endif
} }
private bool TouchUp() private bool TouchUp()
@@ -57,11 +44,7 @@ public class InputController : MonoBehaviour
{ {
return Input.GetTouch(0).phase == TouchPhase.Ended; return Input.GetTouch(0).phase == TouchPhase.Ended;
} }
#if UNITY_EDITOR || UNITY_STANDALONE
return Input.GetMouseButtonUp(0); return Input.GetMouseButtonUp(0);
#else
return false;
#endif
} }
private void Update() private void Update()
Binary file not shown.
Binary file not shown.
Binary file not shown.
+39
View File
@@ -1,2 +1,41 @@
# butchers-games-test # butchers-games-test
## О проекте
Тестовое задание для Butcher's Games.
Задание было выполнено путём обратного инженеринга `.xapk` файла игры `RunRich3D`.
Выгрузка контента и сцены: `AssetRipper`.
Выгрузка дампов имён и смещений: `Il2CppDumper`.
Дизассемблирование и восстановление кода: `claude`.
## Установка и запуск
1. `git clone https://git.boris-code.ru/external-public/butchers-games-test.git`.
2. Открыть в `Unity 2022.3.62f2` как проект.
3. Нажать `Play`.
Для очистки прогресса можно использовать инструмент `Tools > RunRich3D > Delete Save`
## Превью
<iframe
src="https://apps.boris-code.ru/video/?src=public/bg/v/master.m3u8"
width="100%"
height="680"
style="border: 0px solid #30363d; border-radius: 2px;"
allow="autoplay; fullscreen"
sandbox="allow-scripts allow-same-origin allow-popups allow-forms"
title="Run Rich 3D">
</iframe>
## Демо
[**https://apps.boris-code.ru/bgtest/**](https://apps.boris-code.ru/bgtest/).
<iframe
src="https://apps.boris-code.ru/bgtest/"
width="100%"
height="680"
style="border: 0px solid #30363d; border-radius: 2px;"
allow="autoplay; fullscreen"
sandbox="allow-scripts allow-same-origin allow-popups allow-forms"
title="Run Rich 3D">
</iframe>