29 Commits
Author SHA1 Message Date
ThomasCharester e856478aff Проверить фикс утечки памяти 2026-03-24 18:05:48 +03:00
ThomasCharester 320847af5b Нашёл причину утечки памяти 2026-03-24 15:16:17 +03:00
ThomasCharester 60c28f54f2 Миксер
Почини интерфейс
2026-03-23 23:59:32 +03:00
ThomasCharester 1aceea1b79 Platformer level management 2026-03-23 12:01:33 +03:00
ThomasCharester 72070901ec HealthReworkFuckMojMozg 2026-03-22 10:32:07 +03:00
ThomasCharester 98e4a055fe Merge branch 'NotLiminalPCG' of https://notscam.serveminecraft.net/ThomasCharester/Infratest into NotLiminalPCG 2026-03-17 18:09:50 +03:00
ThomasCharester 4ecafef8ee Здоровье чутка изменено 2026-03-17 18:09:48 +03:00
ThomasCharester a7872a0f8c Фабрика игрока 2026-03-10 14:17:54 +03:00
ThomasCharester 653342d080 Фабрика противников 2026-03-10 12:44:12 +03:00
ThomasCharester 93819c1dd3 Платформер враги, инфраструктура, герой 2026-03-09 16:28:40 +03:00
ThomasCharester 28125eb382 Boar 2026-02-27 14:16:48 +03:00
ThomasCharester 63c3549673 2d progress 2026-02-26 11:57:51 +03:00
ThomasCharester 9f026b76d6 Platformer example started 2026-02-22 13:59:04 +03:00
ThomasCharester efcfaae647 ИИ гонщиков, запуск, перезапуск игры и пр 2026-02-09 16:22:37 +03:00
ThomasCharester f557c58c9d Начал ИД вроде 2026-02-06 22:52:36 +03:00
ThomasCharester cd56b1969c Контроль музыки, пробел 2026-02-06 15:50:03 +03:00
ThomasCharester a45223d0e7 Машина, камера, мотор 2026-02-06 15:08:14 +03:00
ThomasCharester b54083521f Развитие гоночек 2026-02-06 10:30:50 +03:00
ThomasCharester ec60c47652 Пытаюсь добавить AudioMixer 2026-01-28 18:07:47 +03:00
ThomasCharester 1f8e14d078 Пример гоночки 2026-01-28 16:30:32 +03:00
ThomasCharester 0f46c63b5d AudioSystemNoMixer 2026-01-27 12:33:40 +03:00
ThomasCharester 72af9520df Лёшин гитигнор 2026-01-27 03:07:05 +03:00
ThomasCharester 513d6d0bc5 Now Audio Playing 2026-01-27 03:03:52 +03:00
ThomasCharester b7527d8d68 UI upd 2026-01-26 13:29:35 +03:00
ThomasCharester 0f0c8bab43 UI Update, volumes 2026-01-23 20:39:55 +03:00
ThomasCharester e2d0974b3c UI service frame 2026-01-21 11:45:04 +03:00
ThomasCharester 12a27f85c5 UI Started 2026-01-21 10:58:05 +03:00
ThomasCharester a3cd3e86a1 No liminal 2026-01-20 13:49:24 +03:00
ThomasCharester a5ce0dbd6f Новый рефлекс 2026-01-12 20:59:45 +03:00
1327 changed files with 58993 additions and 42152 deletions

No files matched your search

+42 -1
View File
@@ -1,2 +1,43 @@
# Auto detect text files and perform LF normalization # В последующем может быть расширен или изменён, если посчитаем нужным
* text=auto * text=auto
# ======================================
# 3D МОДЕЛИ И АНИМАЦИИ
# ======================================
*.blend filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.max filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
# ======================================
# ГРАФИКА (ИСХОДНИКИ)
# ======================================
*.psd filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text
*.skp filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
# ======================================
# АУДИО (ИСХОДНИКИ)
# ======================================
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text
*.flac filter=lfs diff=lfs merge=lfs -text
# ======================================
# ВИДЕО И КИНЕМАТИКА
# ======================================
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.avi filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
+154 -44
View File
@@ -1,75 +1,185 @@
# This .gitignore file should be placed at the root of your Unity project directory # ======================================
# # UNITY - ОСНОВНЫЕ ИГНОРИРУЕМЫЕ ПАПКИ
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore # ======================================
#
.utmp/ # Автогенерируемые Unity папки
# Кэш и временные файлы Unity
/[Ll]ibrary/ /[Ll]ibrary/
# Временные файлы компиляции
/[Tt]emp/ /[Tt]emp/
# Файлы объектов компиляции
/[Oo]bj/ /[Oo]bj/
# Сборки проекта
/[Bb]uild/ /[Bb]uild/
# Дополнительные сборки
/[Bb]uilds/ /[Bb]uilds/
# Логи Unity
/[Ll]ogs/ /[Ll]ogs/
# Пользовательские настройки
/[Uu]ser[Ss]ettings/ /[Uu]ser[Ss]ettings/
# Временные файлы Unity
.utmp/
# Файлы логов
*.log *.log
# MemoryCaptures can get excessive in size. # Файлы Blender (резервные копии)
# They also could contain extremely sensitive data *.blend1
/[Mm]emoryCaptures/ *.blend1.meta
# Recordings can get excessive in size # Записи и дампы памяти (могут быть очень большими)
# Дампы памяти (содержат чувствительные данные)
/[Mm]emoryCaptures/
# Записи (могут занимать много места)
/[Rr]ecordings/ /[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin # Автогенерируемые плагины Rider
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains* /[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory # ======================================
# ФАЙЛЫ СБОРОК И ПАКЕТОВ
# ======================================
# Готовые сборки и пакеты
# Android приложение
*.apk
# Android App Bundle
*.aab
# Пакет для Asset Store
*.unitypackage
# Meta файлы пакетов
*.unitypackage.meta
# macOS приложение
*.app
# Windows приложение
*.exe
# Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
/ServerData
/[Aa]ssets/StreamingAssets/aa*
/[Aa]ssets/AddressableAssetsData/link.xml*
/[Aa]ssets/Addressables_Temp*
# Временные Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
# ======================================
# VISUAL STUDIO / RIDER / VS CODE
# ======================================
# Visual Studio
# Кэш Visual Studio
.vs/ .vs/
# Файлы проектов C#
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj *.csproj
*.unityproj # Файл решения
*.sln *.sln
# Пользовательские настройки решения
*.suo *.suo
*.tmp # Пользовательские настройки проекта
*.user *.user
# Пользовательские настройки
*.userprefs *.userprefs
*.userosscache
*.rsuser
# JetBrains Rider
# Все файлы Rider
.idea/
# Файлы модулей
*.iml
# Файлы проектов
*.ipr
# Файлы рабочих пространств
*.iws
# Персональные настройки Rider
*.DotSettings.user
# VS Code
# Все настройки VS Code
.vscode/
# Игнорировать рабочие пространства
*.code-workspace
# Игнорировать установленные расширения
*.vsix
# ======================================
# ВСПОМОГАТЕЛЬНЫЕ ФАЙЛЫ СРЕД РАЗРАБОТКИ
# ======================================
# Общие временные файлы
# База данных отладки MonoDevelop
*.pidb *.pidb
# База данных программ
*.pdb
# База данных Mono Debugging
*.mdb
# Открытая база данных
*.opendb
# База данных Visual C++
*.VC.db
*.booproj *.booproj
*.svd *.svd
*.pdb *.tmp
*.mdb *.unityproj
*.opendb
*.VC.db
# Unity3D generated meta files # Mono crash файлы
mono_crash.*
# Файлы отчетов и системной информации
# Системная информация при крашах
sysinfo.txt
# ======================================
# META-ФАЙЛЫ
# ======================================
# Игнорировать только meta-файлы для временных файлов
*.pidb.meta *.pidb.meta
*.pdb.meta *.pdb.meta
*.mdb.meta *.mdb.meta
# Unity3D generated file on crash reports # ======================================
sysinfo.txt # ТЕСТЫ И ВИЗУАЛЬНЫЕ СКРИПТЫ
# ======================================
# Builds # Файлы TestRunner
*.apk InitTestScene*.unity*
*.aab
*.unitypackage
*.unitypackage.meta
*.app
# Crashlytics generated file # Автогенерированные сцены тестов
/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*
# Visual Scripting auto-generated files
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
# ======================================
# ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ
# ======================================
# Gradle (для Android сборок)
.gradle/
# Другие автосгенерированные файлы
ExportedObj/
.consulo/
# Crashlytics
crashlytics-build.properties crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="singleClickDiffPreview" value="1" />
<option name="vcsConfiguration" value="3" />
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+378
View File
@@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="7a4e4e1b-6c5f-4c8d-968e-512e90aa8c7c" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.Infra/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Infra/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/AddressableAssetsData/AddressableAssetSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/AddressableAssetsData/AddressableAssetSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/SceneChooser.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Debug/SceneChooser.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerPlayerFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerPlayerFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Spawners.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/PlayerPrefsRacePoopshitter.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/PlayerPrefsRacePoopshitter.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceScores.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceScores.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AICarDriver.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AICarDriver.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIDebugRacer.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIDebugRacer.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIRacer.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIRacer.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIRacerID.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIRacerID.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Agent.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Agent.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/AgentBehaviour.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/AgentBehaviour.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Flee.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Flee.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Pursue.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Pursue.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Seek.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Seek.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Steering.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Steering.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotator.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotator.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/CarControllerRB.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/CarControllerRB.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarController.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarController.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarInput.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarInput.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerRBCarController.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerRBCarController.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerRacer.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerRacer.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Racer.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Racer.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerFactory.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerFactory.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerSettings.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerSettings.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerType.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerType.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacistSpawnListDebug.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacistSpawnListDebug.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/CheckPoint.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/CheckPoint.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/RaceTrackData.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/RaceTrackData.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/WellEditor.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/WellEditor/CheckPointAsset.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Track/WellEditor/CheckPointAsset.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScores.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScores.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/WinScreen.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/WinScreen.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/GameplaySceneInstaller.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/GameplaySceneInstaller.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/BaseCameraState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/BaseCameraState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/EventBus/EventBus.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/EventBus/EventBus.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/UIPanelEventsGenerator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/UIPanelEventsGenerator.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneId.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneId.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/MenuChoosePanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/MenuChoosePanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/New Palette.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/New Palette.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/CarTry.fbx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/CarTry.fbx.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/CarTry.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/CarTry.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car_Scene.fbx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car_Scene.fbx.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car_Scene.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car_Scene.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Gas_can.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Gas_can.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Mine_Mine_BaseColor.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Mine_Mine_BaseColor.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Obstacles.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Obstacles.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Ramp.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Ramp.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Road_edge.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Road_edge.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Rocket.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Rocket.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Seats_Seats_BaseColor.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Seats_Seats_BaseColor.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Blue.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Blue.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Green.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Green.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Purple.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Purple.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Red.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Red.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Yellow.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Sport_Car_Base_color_Yellow.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Tileable_Aspalth.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/textures/Tileable_Aspalth.png.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Configs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/DamnTerrain.mat" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/DamnTerrain.mat.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/NewLayer.terrainlayer" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/NewLayer.terrainlayer.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Texturelabs_Concrete_137S.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Texturelabs_Concrete_137S.jpg.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Scenes/Gameplay.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Scenes/Gameplay.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Scenes/SoundTest.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Scenes/SoundTest.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer 2.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer 2.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer 3.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer 3.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Configs/Scenes/Platformer.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIGreen.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIGreen.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIRed.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIRed.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/Player.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/Player.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Player.physicMaterial" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Player.physicMaterial.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerCounter.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerCounter.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerRacist.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerRacist.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerSceneChoose.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerSceneChoose.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerScores.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerScores.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerScores.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerScores.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1) 1.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1) 1.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1).prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1).prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/ThirdPersonConfig.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/ThirdPersonConfig.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/VFXCheckpoint.mat" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/VFXCheckpoint.mat.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/WinScreen.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/WinScreen.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/WinScreen.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/WinScreen.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay.unity" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay.unity.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay/NavMesh-NavMesh Surface.asset" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay/NavMesh-NavMesh Surface.asset.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/SoundTest.unity" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/SoundTest.unity.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/UITest.unity" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/UITest.unity.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TextMesh Pro/Resources/Fonts &amp; Materials/LiberationSans SDF - Fallback.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/TextMesh Pro/Resources/Fonts &amp; Materials/LiberationSans SDF - Fallback.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioMixerConfigConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioMixerConfigConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.PlayerScoreCounterEvents.Generated.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.PlayerScoreCounterEvents.Generated.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.PlayerScoresEvents.Generated.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.PlayerScoresEvents.Generated.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.WinScreenEvents.Generated.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Example.Race.UI.WinScreenEvents.Generated.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.States.GameplayState.Generated.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.States.GameplayState.Generated.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LoadingPanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LoadingPanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LogoPanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LogoPanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.MenuChoosePanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.MenuChoosePanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/RacerSettingsConfig.Generated.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/RacerSettingsConfig.Generated.cs.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SceneLoader.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SceneLoader.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/ScriptableBuildPipeline.json" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ScriptableBuildPipeline.json" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Level/LevelEndTrigger.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.cysharp.unitask@a85b92a8e443/Runtime/UniTaskScheduler.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Generics/DisposableCollection.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Injectors/MethodInjector.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.kyrylokuzyk.primetween@475cad00cbdc/Runtime/Internal/PrimeTweenManager.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.kyrylokuzyk.primetween@475cad00cbdc/Runtime/Internal/TweenData.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.kyrylokuzyk.primetween@475cad00cbdc/Runtime/Tween.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@8460f1c9c927/Runtime/ResourceManager/AsyncOperations/AsyncOperationHandle.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1eb9db207454431c84a47bcd81e79c3746ae00/50/ee0759d6/Dictionary`2.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/41d29b352f6a475ab1bf7c6628b8279046ae00/ae/12c455a1/String.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/41d29b352f6a475ab1bf7c6628b8279046ae00/bb/29b6bce2/ParamsArray.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/493b407efcb64dddad59f28bb0b831d3212400/94/af20347f/Object.cs" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 2
}</component>
<component name="ProjectId" id="38WaBM3xnp06hWLmWixBiTqujw8" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;Attach to Unity Editor.Attach to Unity Editor.executor&quot;: &quot;Debug&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;XThreadsFramesViewSplitterKey&quot;: &quot;0.48350254&quot;,
&quot;git-widget-placeholder&quot;: &quot;NotLiminalPCG&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}</component>
<component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor">
<configuration name="Standalone Player" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="$PROJECT_DIR$/../../Builds/Infra2\Infratest.exe" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="A:\Builds\Logo" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<method v="2" />
</configuration>
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.11f1\Editor\Unity.exe" />
<option name="PROGRAM_PARAMETERS" value="-projectPath A:\Projects\Infra -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infra" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<method v="2" />
</configuration>
<configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.11f1\Editor\Unity.exe" />
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath A:\Projects\Infra -testResults Logs/results.xml -logFile Logs/Editor.log -testPlatform EditMode -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infra" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<method v="2" />
</configuration>
<configuration name="Attach to Unity Editor &amp; Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost">
<option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" />
<option name="pid" />
<option name="projectPathOnTarget" />
<option name="selectedOptions">
<list />
</option>
<method v="2" />
</configuration>
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost">
<option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" />
<option name="pid" />
<option name="projectPathOnTarget" />
<option name="selectedOptions">
<list />
</option>
<method v="2" />
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="7a4e4e1b-6c5f-4c8d-968e-512e90aa8c7c" name="Changes" comment="" />
<created>1768917644200</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1768917644200</updated>
<workItem from="1768917645584" duration="9243000" />
<workItem from="1768978880434" duration="5920000" />
<workItem from="1769169358065" duration="12883000" />
<workItem from="1769342663511" duration="4805000" />
<workItem from="1769350118757" duration="196000" />
<workItem from="1769608253594" duration="3971000" />
<workItem from="1770363329441" duration="12586000" />
<workItem from="1770407896165" duration="404000" />
<workItem from="1770451319773" duration="10815000" />
<workItem from="1770634886406" duration="8191000" />
<workItem from="1771758321259" duration="9067000" />
<workItem from="1772187561867" duration="2127000" />
<workItem from="1773044760422" duration="3994000" />
<workItem from="1773048811603" duration="11294000" />
<workItem from="1773135989680" duration="4838000" />
<workItem from="1774165614280" duration="12483000" />
<workItem from="1774180394446" duration="1853000" />
<workItem from="1774211984885" duration="4696000" />
<workItem from="1774251299872" duration="4766000" />
<workItem from="1774257142351" duration="226000" />
<workItem from="1774340674565" duration="3991000" />
<workItem from="1774349307766" duration="1289000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityProjectConfiguration" hasMinimizedUI="true" />
<component name="UnityProjectDiscoverer">
<option name="hasUnityReference" value="true" />
<option name="unityProject" value="true" />
<option name="unityProjectFolder" value="true" />
</component>
<component name="UnityUnitTestConfiguration" currentTestLauncher="Both" />
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
</component>
</project>
+1
View File
@@ -2,6 +2,7 @@
<project version="4"> <project version="4">
<component name="RiderProjectSettingsUpdater"> <component name="RiderProjectSettingsUpdater">
<option name="singleClickDiffPreview" value="1" /> <option name="singleClickDiffPreview" value="1" />
<option name="unhandledExceptionsIgnoreList" value="1" />
<option name="vcsConfiguration" value="3" /> <option name="vcsConfiguration" value="3" />
</component> </component>
</project> </project>
+297 -171
View File
@@ -5,130 +5,62 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="ed1a3c4f-83ac-4211-ae32-004a26afd5d8" name="Changes" comment=""> <list default="true" id="ed1a3c4f-83ac-4211-ae32-004a26afd5d8" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/Assets/Code/Example.meta" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/PlayerCollisionDamager.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal.meta" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/PlayerCollisionDamager.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Character.meta" afterDir="false" /> <change afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Spawners.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerAnimator.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerAnimator.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerFactory.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerFactory.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerMovementController.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Example/Liminal/Player/PlayerMovementController.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/GameplaySceneInstaller.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/GameplaySceneInstaller.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/MainMenuSceneInstaller.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/MainMenuSceneInstaller.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraFactory.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraFactory.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraSettings.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraSettings.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachineRunner.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachineRunner.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/BaseCameraState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/BaseCameraState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/FirstPersonCameraState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/FirstPersonCameraState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/NoneCameraState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/NoneCameraState.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Configs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Configs/ConfigLocator.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Configs/ConfigLocator.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Configs/SystemConfigsReferences.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Configs/SystemConfigsReferences.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/ConfigGenerator.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/ConfigGenerator.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/SceneLoaderGenerator.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/SceneLoaderGenerator.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/ActionMappings.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/ActionMappings.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/IInputService.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/IInputService.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/InputService.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/InputService.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneId.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneId.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneLoader.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneLoader.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/ScenesAssetReferences.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/ScenesAssetReferences.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/StateMachine/AbstractStateMachine.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/StateMachine/BaseState.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/DebugClassConfig.Generated.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/DebugClassConfig.Generated.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/IConfigLocator.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/IConfigLocator.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SceneInfoConfig.Generated.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SceneInfoConfig.Generated.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.Infratest/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Infratest/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.Infratest/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Infratest/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/AddressableAssetsData/AddressableAssetSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/AddressableAssetsData/AddressableAssetSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/DebugInstaller.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/DebugInstaller.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/DebugStateMachine.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Boar.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Boar.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/DebugStateMachine.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Snail.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Snail.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/States.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Entity.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Entity.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/States/FirstState.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/EntityHealth.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/EntityHealth.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Debug/States/FirstState.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerEnemyFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerEnemyFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Generators.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerPlayerFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerPlayerFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Generators/Attributes.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/Attributes.cs" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlayerEntity.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlayerEntity.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Generators/Attributes.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/Attributes.cs.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Generators/StateMachineGenerator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/StateMachineGenerator.cs" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Generators/StateMachineGenerator.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/StateMachineGenerator.cs.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScores.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScores.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/StateMachine.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/StateMachine.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/WinScreen.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/WinScreen.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/StateMachine/AbstractStateMachine.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/StateMachine/AbstractStateMachine.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/StateMachine/AbstractStateMachine.cs.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/StateMachine/BaseState.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/StateMachine/BaseState.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/StateMachine/BaseState.cs.meta" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/InputSystem_Actions.inputactions" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/InputSystem_Actions.inputactions" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioGroupType.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioGroupType.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Readme.asset" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioInfo.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioInfo.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Readme.asset.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/SampleScene.unity" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/Attributes.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/Attributes.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/SampleScene.unity.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/UIPanelEventsGenerator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Generators/UIPanelEventsGenerator.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Settings/Mobile_RPAsset.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Settings/Mobile_RPAsset.asset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LoadingPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Icons.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/LogoPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Icons/URP.png" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/MenuChoosePanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/Panels/MenuChoosePanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Icons/URP.png.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIPanel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIPanel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Layout.wlt" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/UI/UIService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Layout.wlt.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Platformer.mixer" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Platformer.mixer.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts/Editor.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources/Audio/MainMixer.mixer" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Audio/MainMixer.mixer" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/Assets/Tiles.aseprite.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/Assets/Tiles.aseprite.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/New Palette.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Platformer/New Palette.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts/Readme.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources/SystemConfigsReferences.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/SystemConfigsReferences.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/TutorialInfo/Scripts/Readme.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Debug.DebugStateMachine.Generated.cs" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Snail.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Snail.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Debug.DebugStateMachine.Generated.cs.meta" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Platformer 2.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Platformer 2.unity" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Platformer 3.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Platformer/Platformer 3.unity" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioMixer.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioMixer.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LoadingPanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LoadingPanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LogoPanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.LogoPanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.MenuChoosePanelEvents.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.UI.Panels.MenuChoosePanelEvents.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/EditorBuildSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/EditorBuildSettings.asset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -136,28 +68,80 @@
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="DpaMonitoringSettings"> <component name="DpaMonitoringSettings">
<option name="autoShow" value="false" /> <option name="firstShow" value="false" />
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="HighlightingSettingsPerFile"> <component name="HighlightingSettingsPerFile">
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1a795a29c7af4385b159eb69f68237b8468c00/4e/b1d2d6b8/CollectionExtensions.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1a795a29c7af4385b159eb69f68237b8468c00/b1/26a57819/InvalidCastException.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1a795a29c7af4385b159eb69f68237b8468c00/e6/7aba13ff/ThrowHelper.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1a795a29c7af4385b159eb69f68237b8468c00/f4/be902eb3/List`1.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/30cb9806a8774f11bb35ea6b11076cb4110400/9e/e04a9ad9/Enumerable.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/6a608067b36b43a4b2b9c2c9f46aac8b212200/95/3a3a110c/Vector3.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/6a608067b36b43a4b2b9c2c9f46aac8b212200/ed/c16ca097/Vector2.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/e605204d165a49d89ae7579f3d894429468c00/50/2dbfce57/Dictionary`2.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/e605204d165a49d89ae7579f3d894429468c00/c2/98fb18b9/List`1.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Bee.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/BeeRadar.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/PlayerCollisionDamager.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Enemies/Snail.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/Entity.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/EntityGUID.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlatformerEnemyFactory.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Entity/PlayerEntity.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/Level/PlatformerLevelData.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneData.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneInstaller.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Platformer/UI/PlatformerCanvas.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/RaceScores.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIDebugRacer.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/AIRacerID.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Agent.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/AgentBehaviour.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Flee.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Pursue.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Behaviours/Seek.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/ID/Steering.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotator.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Car/CarWheelRotatorPlayer.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarController.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerFactory.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerSettings.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacerType.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Racer/RacistSpawnListDebug.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Track/CheckPoint.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Track/RaceTrackData.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/Track/WellEditor/CheckPointAsset.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/SceneInstallers/GameplaySceneInstaller.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioSourcePool.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioSourceSettings.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraFactory.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/BaseCameraState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/CameraTemp.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/NoneCameraState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/ThirdPersonState.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs" root0="FORCE_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Loadings/Loading.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/SceneLoader/SceneId.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Resources/Example/Misc/CheckPointGTASA.shader" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.cysharp.unitask@a85b92a8e443/Runtime/External/Addressables/AddressablesAsyncExtensions.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.cysharp.unitask@a85b92a8e443/Runtime/External/Addressables/AddressablesAsyncExtensions.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.cysharp.unitask@a85b92a8e443/Runtime/UniTaskScheduler.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.cysharp.unitask@a85b92a8e443/Runtime/UniTaskScheduler.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@b77d36a82a21/Core/Container.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Core/Container.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@b77d36a82a21/Core/SceneScope.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Core/ContainerBuilder.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@b77d36a82a21/Extensions/SceneExtensions.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Core/IInstaller.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@b77d36a82a21/Injectors/MethodInjector.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Generics/DisposableCollection.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@45e9abf44299/Runtime/ResourceManager/AsyncOperations/AsyncOperationBase.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Injectors/ConstructorInjector.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@45e9abf44299/Runtime/ResourceManager/AsyncOperations/AsyncOperationHandle.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$PROJECT_DIR$/Library/PackageCache/com.gustavopsantos.reflex@fabfbc86f712/Injectors/MethodInjector.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@45e9abf44299/Runtime/ResourceManager/AsyncOperations/ChainOperation.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@45e9abf44299/Runtime/ResourceManager/Util/DelegateList.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.addressables@45e9abf44299/Runtime/ResourceManager/Util/MonoBehaviourCallbackHooks.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/1eb9db207454431c84a47bcd81e79c3746ae00/50/ee0759d6/Dictionary`2.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/493b407efcb64dddad59f28bb0b831d3212400/1d/b6f4672d/Vector2.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/493b407efcb64dddad59f28bb0b831d3212400/e6/06b4bbec/Component.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/6faa6124236442759eb396cfbfdad50810fc00/3f/3a201145/Enumerable.cs" root0="FORCE_HIGHLIGHTING" />
</component> </component>
<component name="ProjectColorInfo">{ <component name="ProjectColorInfo">{
&quot;customColor&quot;: &quot;&quot;, &quot;customColor&quot;: &quot;&quot;,
@@ -168,57 +152,123 @@
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent">{
"keyToString": { &quot;keyToString&quot;: {
"Attach to Unity Editor.Attach to Unity Editor.executor": "Debug", &quot;Attach to Unity Editor.Attach to Unity Editor.executor&quot;: &quot;Debug&quot;,
"RunOnceActivity.ShowReadmeOnStart": "true", &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
"XThreadsFramesViewSplitterKey": "0.31173185", &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
"git-widget-placeholder": "main", &quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;,
"node.js.detected.package.eslint": "true", &quot;XThreadsFramesViewSplitterKey&quot;: &quot;0.31173185&quot;,
"node.js.detected.package.tslint": "true", &quot;git-widget-placeholder&quot;: &quot;NotLiminalPCG&quot;,
"node.js.selected.package.eslint": "(autodetect)", &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
"node.js.selected.package.tslint": "(autodetect)", &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
"nodejs_package_manager_path": "npm", &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
"vue.rearranger.settings.migration": "true" &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
} }
}]]></component> }</component>
<component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor"> <component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor">
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable"> <configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.1f1\Editor\Unity.exe" /> <option name="EXE_PATH" value="$USER_HOME$/Unity/Hub/Editor/6000.3.11f1/Editor/Unity" />
<option name="PROGRAM_PARAMETERS" value="-projectPath A:\Projects\Infratest -debugCodeOptimization" /> <option name="PROGRAM_PARAMETERS" value="-projectPath A:\Projects\Infratest -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" /> <option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" />
<option name="PASS_PARENT_ENVS" value="1" /> <option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" /> <option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<method v="2" />
</configuration>
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="$USER_HOME$/Unity/Hub/Editor/6000.3.5f2/Editor/Unity" />
<option name="PROGRAM_PARAMETERS" value="-projectPath A:\Projects\Infratest -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable"> <configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.1f1\Editor\Unity.exe" /> <option name="EXE_PATH" value="$USER_HOME$/Unity/Hub/Editor/6000.3.11f1/Editor/Unity" />
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath A:\Projects\Infratest -testResults Logs/results.xml -logFile Logs/Editor.log -testPlatform EditMode -debugCodeOptimization" /> <option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath A:\Projects\Infratest -testResults Logs/results.xml -logFile Logs/Editor.log -testPlatform EditMode -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" /> <option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" />
<option name="PASS_PARENT_ENVS" value="1" /> <option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" /> <option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="Attach to Unity Editor &amp; Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost"> <configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="$USER_HOME$/Unity/Hub/Editor/6000.3.5f2/Editor/Unity" />
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath A:\Projects\Infratest -testResults Logs/results.xml -logFile Logs/Editor.log -testPlatform EditMode -debugCodeOptimization" />
<option name="WORKING_DIRECTORY" value="A:\Projects\Infratest" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<method v="2" />
</configuration>
<configuration name="Attach to Unity Editor &amp; Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" useMixedMode="false">
<option name="allowRunningInParallel" value="false" /> <option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" /> <option name="listenPortForConnections" value="false" />
<option name="pid" /> <option name="pid" />
<option name="projectPathOnTarget" /> <option name="projectPathOnTarget" />
<option name="runtimes">
<list />
</option>
<option name="selectedOptions"> <option name="selectedOptions">
<list /> <list />
</option> </option>
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" ignored-value-for-modified-check="3060"> <configuration name="Attach to Unity Editor &amp; Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" useMixedMode="false">
<option name="allowRunningInParallel" value="false" /> <option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" /> <option name="listenPortForConnections" value="false" />
<option name="pid" value="3060" /> <option name="pid" />
<option name="projectPathOnTarget" /> <option name="projectPathOnTarget" />
<option name="runtimes">
<list />
</option>
<option name="selectedOptions"> <option name="selectedOptions">
<list /> <list />
</option> </option>
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" useMixedMode="false" ignored-value-for-modified-check="4065">
<option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" />
<option name="pid" value="4065" />
<option name="projectPathOnTarget" />
<option name="runtimes">
<list>
<MonoRuntime />
</list>
</option>
<option name="selectedOptions">
<list />
</option>
<method v="2" />
</configuration>
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" useMixedMode="false">
<option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" />
<option name="pid" />
<option name="projectPathOnTarget" />
<option name="runtimes">
<list />
</option>
<option name="selectedOptions">
<list />
</option>
<method v="2" />
</configuration>
<configuration name="Attach to" type="UnityDevicePlayer" factoryName="UnityAttachToDevicePlayer">
<method v="2" />
</configuration>
<configuration name="Attach to" type="UnityDevicePlayer" factoryName="UnityAttachToDevicePlayer">
<method v="2" />
</configuration>
</component> </component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager"> <component name="TaskManager">
@@ -262,6 +312,45 @@
<workItem from="1767345100869" duration="2686000" /> <workItem from="1767345100869" duration="2686000" />
<workItem from="1768124782138" duration="5579000" /> <workItem from="1768124782138" duration="5579000" />
<workItem from="1768228201670" duration="4137000" /> <workItem from="1768228201670" duration="4137000" />
<workItem from="1768237217087" duration="2844000" />
<workItem from="1769439297620" duration="1762000" />
<workItem from="1769443636668" duration="4743000" />
<workItem from="1769457001410" duration="1827000" />
<workItem from="1769468220482" duration="3957000" />
<workItem from="1769499590280" duration="4392000" />
<workItem from="1769505995859" duration="384000" />
<workItem from="1769519972053" duration="198000" />
<workItem from="1769520195570" duration="4307000" />
<workItem from="1769616178141" duration="8124000" />
<workItem from="1769685044180" duration="3821000" />
<workItem from="1769688891286" duration="148000" />
<workItem from="1769689778555" duration="5198000" />
<workItem from="1769695609554" duration="4859000" />
<workItem from="1769702519801" duration="3602000" />
<workItem from="1769766033912" duration="6151000" />
<workItem from="1769776787822" duration="804000" />
<workItem from="1769777674316" duration="478000" />
<workItem from="1769778405201" duration="7609000" />
<workItem from="1769786786936" duration="8000" />
<workItem from="1769789338816" duration="4589000" />
<workItem from="1770035621021" duration="8618000" />
<workItem from="1770049545882" duration="2652000" />
<workItem from="1770226628030" duration="3133000" />
<workItem from="1770297444061" duration="2414000" />
<workItem from="1770394380051" duration="4532000" />
<workItem from="1770647985793" duration="3000" />
<workItem from="1770649909847" duration="667000" />
<workItem from="1770653445227" duration="6602000" />
<workItem from="1770735223876" duration="2059000" />
<workItem from="1770992672025" duration="8533000" />
<workItem from="1771345358380" duration="3534000" />
<workItem from="1771422036487" duration="1920000" />
<workItem from="1771429673395" duration="3644000" />
<workItem from="1771433586006" duration="1485000" />
<workItem from="1773065611992" duration="4340000" />
<workItem from="1773758943752" duration="4321000" />
<workItem from="1774269975923" duration="8600000" />
<workItem from="1774282412199" duration="7290000" />
</task> </task>
<servers /> <servers />
</component> </component>
@@ -284,29 +373,66 @@
<line-breakpoint enabled="true" type="DotNet Breakpoints"> <line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs</url> <url>file://$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs</url>
<line>239</line> <line>239</line>
<properties documentPath="A:\Projects\Infratest\Assets\Code\Example\Liminal\Character\LiminalCharacterController.cs" containingFunctionPresentation="Method 'UpdateRotation'"> <properties documentPath="A:\Projects\Infratest\Assets\Code\Example\Liminal\Character\LiminalCharacterController.cs" containingFunctionPresentation="Method 'UpdateRotation'" />
<startOffsets>
<option value="8514" />
</startOffsets>
<endOffsets>
<option value="8672" />
</endOffsets>
</properties>
<option name="timeStamp" value="57" /> <option name="timeStamp" value="57" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints"> <line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs</url> <url>file://$PROJECT_DIR$/Assets/Code/Example/Liminal/Character/LiminalCharacterController.cs</url>
<line>245</line> <line>245</line>
<properties documentPath="A:\Projects\Infratest\Assets\Code\Example\Liminal\Character\LiminalCharacterController.cs" containingFunctionPresentation="Method 'UpdateRotation'"> <properties documentPath="A:\Projects\Infratest\Assets\Code\Example\Liminal\Character\LiminalCharacterController.cs" containingFunctionPresentation="Method 'UpdateRotation'" />
<startOffsets>
<option value="8967" />
</startOffsets>
<endOffsets>
<option value="9010" />
</endOffsets>
</properties>
<option name="timeStamp" value="58" /> <option name="timeStamp" value="58" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneInstaller.cs</url>
<line>68</line>
<properties documentPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneInstaller.cs" containingFunctionPresentation="Method 'Dispose'">
<startOffsets>
<option value="1914" />
</startOffsets>
<endOffsets>
<option value="1963" />
</endOffsets>
</properties>
<option name="timeStamp" value="77" />
</line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs</url>
<line>24</line>
<properties documentPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/MainMenuState.cs" containingFunctionPresentation="Method 'OnEnterState'">
<startOffsets>
<option value="857" />
</startOffsets>
<endOffsets>
<option value="882" />
</endOffsets>
</properties>
<option name="timeStamp" value="83" />
</line-breakpoint>
<line-breakpoint enabled="true" type="DotNet Breakpoints">
<url>file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs</url>
<line>69</line>
<properties documentPath="$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerState.cs" containingFunctionPresentation="Method 'OnExitState'">
<startOffsets>
<option value="2201" />
</startOffsets>
<endOffsets>
<option value="2254" />
</endOffsets>
</properties>
<option name="timeStamp" value="84" />
</line-breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="62" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="63" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="64" />
</breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
</component> </component>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="singleClickDiffPreview" value="1" />
<option name="unhandledExceptionsIgnoreList" value="1" />
<option name="vcsConfiguration" value="3" />
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+90
View File
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="f63980da-ead4-405c-827d-acf0244b2268" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioInfo.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioInfo.cs.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioNames.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioNames.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioFactory.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioInfo.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioNames.cs" root0="SKIP_HIGHLIGHTING" />
</component>
<component name="ProjectColorInfo"><![CDATA[{
"associatedIndex": 3
}]]></component>
<component name="ProjectId" id="38nZCoa05XMGjvCiidouET2bKxO" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"ModuleVcsDetector.initialDetectionPerformed": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"git-widget-placeholder": "NotLiminalPCG",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"vue.rearranger.settings.migration": "true"
}
}]]></component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="f63980da-ead4-405c-827d-acf0244b2268" name="Changes" comment="" />
<created>1769437172471</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1769437172471</updated>
<workItem from="1769437174936" duration="1797000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityProjectConfiguration" hasMinimizedUI="false" />
<component name="UnityProjectDiscoverer">
<option name="unityProjectFolder" value="true" />
</component>
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="1" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="2" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="3" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>
@@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dea69d41f90c6ea4fa55c27c1d60c145, type: 3}
m_Name: AddressableAssetGroupSortSettings
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.AddressableAssetGroupSortSettings
sortOrder:
- 952fa753cff242529845c3df21690cd6
- ca92c08b019588d4aae558d0ff215daf
- 4d0e6e328b993834280aefa5514ffb63
- d790534e015d692428ac5a9ce7d2ceb6
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: f146779bcd07c524097072c871162bff guid: d4769b93af55e1195a9506acfa3d9c28
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000
@@ -42,6 +42,7 @@ MonoBehaviour:
m_BundleRedirectLimit: -1 m_BundleRedirectLimit: -1
m_SharedBundleSettings: 0 m_SharedBundleSettings: 0
m_SharedBundleSettingsCustomGroupIndex: 0 m_SharedBundleSettingsCustomGroupIndex: 0
m_simulatedLoadDelay: 0.1
m_ContiguousBundles: 1 m_ContiguousBundles: 1
m_StripUnityVersionFromBundleBuild: 0 m_StripUnityVersionFromBundleBuild: 0
m_DisableVisibleSubAssetRepresentations: 0 m_DisableVisibleSubAssetRepresentations: 0
@@ -54,12 +55,15 @@ MonoBehaviour:
m_Id: m_Id:
m_RemoteCatalogLoadPath: m_RemoteCatalogLoadPath:
m_Id: m_Id:
m_ContentStateBuildPathProfileVariableName: m_ContentStateBuildPathProfileVariableName: <default settings path>
m_CustomContentStateBuildPath: m_CustomContentStateBuildPath:
m_ContentStateBuildPath: m_ContentStateBuildPath:
m_BuildAddressablesWithPlayerBuild: 0 m_BuildAddressablesWithPlayerBuild: 0
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]' m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
m_GroupAssets: m_GroupAssets:
- {fileID: 11400000, guid: 474eae8d8cac07b49a71a36bddcfea71, type: 2}
- {fileID: 11400000, guid: bd1a450260484850da61f533f9b6b17a, type: 2}
- {fileID: 11400000, guid: 6572d621368709a22b1df7ea0d26c1df, type: 2}
- {fileID: 11400000, guid: cd5d8f0bccfc1e5489a5c528087c4feb, type: 2} - {fileID: 11400000, guid: cd5d8f0bccfc1e5489a5c528087c4feb, type: 2}
m_BuildSettings: m_BuildSettings:
m_LogResourceManagerExceptions: 1 m_LogResourceManagerExceptions: 1
@@ -102,6 +106,13 @@ MonoBehaviour:
- default - default
- SceneConfig - SceneConfig
- CameraConfig - CameraConfig
- UIPanelConfig
- PostProccessVolume
- AudioInfoConfig
- AudioSettingsConfig
- RacerConfig
- LayerMaskConfig
- PlatformerEntity
m_SchemaTemplates: [] m_SchemaTemplates: []
m_GroupTemplateObjects: m_GroupTemplateObjects:
- {fileID: 11400000, guid: af0b5782a0090884db056705d7776701, type: 2} - {fileID: 11400000, guid: af0b5782a0090884db056705d7776701, type: 2}
@@ -15,25 +15,115 @@ MonoBehaviour:
m_GroupName: Default Local Group m_GroupName: Default Local Group
m_GUID: d790534e015d692428ac5a9ce7d2ceb6 m_GUID: d790534e015d692428ac5a9ce7d2ceb6
m_SerializeEntries: m_SerializeEntries:
- m_GUID: 0f5388dd5b953e74281733a43c9bca5a
m_Address: Audio/UI/01. Wake Up, Get Up, Get Out There
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 13852bf3f3ccace4e9deefd844eebb23
m_Address: Assets/Resources_moved/UI/Panels/LoadingPanel.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 17c5e56eb6c99db40b6093c9d543bb4f
m_Address: Assets/Resources_moved/Configs/UI/CanvasSettingsConfig.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2471ee3760db4ecfe8c313bb2c00daf0
m_Address: Assets/Resources_moved/Configs/Audio/Audio Source.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2e29259ec1cd556c6a33f0396d8f90e2
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/launchUpMenu.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 30778c5a4d5c3f74bac4e5340344cdad
m_Address: Assets/Resources_moved/Configs/Volumes/MenuRetro.asset
m_ReadOnly: 0
m_SerializedLabels:
- PostProccessVolume
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 38081c3b5216d4c329cc1cec80b1818c
m_Address: Assets/Resources_moved/Configs/Audio/AudioMixerConfig.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 456d3ecaf92ca5a4a817184de151ad9f
m_Address: Assets/Resources_moved/Camera/CinemachineCameraCarFollow.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4a97987e3a94e0f43b1b57b6ddccac23 - m_GUID: 4a97987e3a94e0f43b1b57b6ddccac23
m_Address: Assets/Resources_moved/Configs/Camera/CameraSettingsConfig.asset m_Address: Assets/Resources_moved/Configs/Camera/CameraSettingsConfig.asset
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: m_SerializedLabels:
- CameraConfig - CameraConfig
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4ad92ea93f2a0664191607510b1b623d - m_GUID: 4bf97e6c7f046f849912182e4ded6c9e
m_Address: Assets/Resources_moved/Configs/Scenes/Gameplay.asset m_Address: Assets/Resources_moved/Configs/Audio/Settings/AudioSourceSettingsConfig
1.asset
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: m_SerializedLabels:
- SceneConfig - AudioSettingsConfig
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8d54a5646fc9ef34383c560ce3c3d6ff - m_GUID: 4fcdb7f979b60194db1fb5c03b81bf8c
m_Address: Liminal/Settings/InputServiceConfig m_Address: UI/Panels/LoadingPanel
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: [] m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: a78f552da8f156b469b95652e4b0209d - m_GUID: 559cfec8b5fd0dbd2b7c4c9f00ade374
m_Address: DebugClassConfig m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/ButtonClick.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 62388720cc90ef87f9d8ed5328dbc6fe
m_Address: Assets/Resources_moved/Configs/Audio/AudioInfoConfig.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 6a86e03165bcd491ba987514d0da38bd
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/launchSelect1.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 86d0b6ef35383e7409df5a352637fea7
m_Address: UI/Panels/SceneSelectPanel
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8fdc11fcf9c4c2e279902e8d1b6df718
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/ButtonClickRelease.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 95e6f3e122b08b58e96fe087fb5ce397
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/launchDownMenu.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: a63ae4e1d4b750b8a819dbadffa4b9f7
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/launchSelect2.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: a9d36f968917dc35cb0e534af9ea6e59
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/launchSelectMenu.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ab3f2ccf1b11afd4a81cb222d4e4bc16
m_Address: Assets/Resources_moved/Volumes/MenuRetro.prefab
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: [] m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
@@ -52,21 +142,49 @@ MonoBehaviour:
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: [] m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d54fabdcc748a594aa0551dcd235c7c2 - m_GUID: d2750e654bd192d41a48144c43b41302
m_Address: ScenesAssetReferences m_Address: Assets/Resources_moved/Configs/UI/Logo.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: df809fbbdc1f51f43b4d42a7896a0919
m_Address: Assets/Scenes/Gameplay.unity
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f146779bcd07c524097072c871162bff
m_Address: Assets/Resources_moved/Configs/Camera/FPSConfig.asset
m_ReadOnly: 0 m_ReadOnly: 0
m_SerializedLabels: m_SerializedLabels:
- CameraConfig - UIPanelConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d7dd69cfadda3d6e18ec390724be0d80
m_Address: Assets/Resources_moved/Configs/Audio/AudioSourcePrefabConfig.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d87857258eeea2345a3b926b3c671002
m_Address: Assets/Resources_moved/Configs/UI/Loading.asset
m_ReadOnly: 0
m_SerializedLabels:
- UIPanelConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e1fbe5b2798657342b569f723d16c9de
m_Address: UI/Canvas
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: eab71c0cf90c4b94294e497d3734cfe1
m_Address: Assets/Resources_moved/Configs/InputServiceConfig.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: eb0c68c73dadde3479d639ba9b2f7395
m_Address: Assets/Resources_moved/Configs/UI/Logo 1.asset
m_ReadOnly: 0
m_SerializedLabels:
- UIPanelConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ec0362c4c0d045cccbe89aee2231c3be
m_Address: Assets/Resources_moved/Configs/Audio/Settings/AudioSourceSettingsConfig.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioSettingsConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f5d189d2c8569c2489fe942137ea0f24
m_Address: Assets/Resources_moved/Camera/CinemachineCamera.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f5e16d3d2576c5a4ca27ea09aeb18733 - m_GUID: f5e16d3d2576c5a4ca27ea09aeb18733
m_Address: Assets/Resources_moved/Configs/Scenes/MainMenu.asset m_Address: Assets/Resources_moved/Configs/Scenes/MainMenu.asset
@@ -74,6 +192,12 @@ MonoBehaviour:
m_SerializedLabels: m_SerializedLabels:
- SceneConfig - SceneConfig
FlaggedDuringContentUpdateRestriction: 0 FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f7cebe94899e9257497d042d1ec4fd76
m_Address: Assets/Resources_moved/Configs/Audio/Infos/UI/ButtonRollOver.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0 m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: c6c4cec5a69c4d144a5dfabd0405f447, type: 2} m_Settings: {fileID: 11400000, guid: c6c4cec5a69c4d144a5dfabd0405f447, type: 2}
m_SchemaSet: m_SchemaSet:
@@ -0,0 +1,48 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
m_Name: Duplicate Asset Isolation
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: Duplicate Asset Isolation
m_GUID: 4d0e6e328b993834280aefa5514ffb63
m_SerializeEntries:
- m_GUID: 13c02b14c4d048fa9653293d54f6e0e1
m_Address: Packages/com.unity.render-pipelines.universal/Shaders/2D/Sprite-Unlit-Default.shader
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 36e335017ad71d54fbb10842863188ae
m_Address: Packages/com.unity.render-pipelines.core/Runtime/RenderPipelineResources/FallbackShader.shader
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 933532a4fcc9baf4fa0491de14d08ed7
m_Address: Packages/com.unity.render-pipelines.universal/Shaders/Lit.shader
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9dfc825aed78fcd4ba02077103263b40
m_Address: Packages/com.unity.render-pipelines.universal/Runtime/Materials/Sprite-Unlit-Default.mat
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e6e9a19c3678ded42a3bc431ebef7dbd
m_Address: Packages/com.unity.render-pipelines.universal/Shaders/Utils/FallbackError.shader
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: c6c4cec5a69c4d144a5dfabd0405f447, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: b7a101d996c2e9642a8382b9484b7688, type: 2}
- {fileID: 11400000, guid: 81a10561aabdb45419c7e5c285e2552f, type: 2}
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4ad92ea93f2a0664191607510b1b623d guid: 474eae8d8cac07b49a71a36bddcfea71
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000
@@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
m_Name: PlatformerGroup
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: PlatformerGroup
m_GUID: ca92c08b019588d4aae558d0ff215daf
m_SerializeEntries:
- m_GUID: 00279b1c6fbb7ac80868388a292b0c44
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Enemies/Snail.asset
m_ReadOnly: 0
m_SerializedLabels:
- PlatformerEntity
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 0eb645a0c96b1c437bf0712d6b856b7c
m_Address: Assets/Resources_moved/Example/Platformer/Bee.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 10228ea17914708e586b8da1daae92ec
m_Address: Assets/Resources_moved/Example/Platformer/Configs/PlatformerCamera.asset
m_ReadOnly: 0
m_SerializedLabels:
- CameraConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1dca3345d7b309d70a26b3f646ccad08
m_Address: Assets/Resources_moved/Example/Platformer/CinemachineCamera.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1e1fce0a447e4524eb3c7e8b0ec71c7c
m_Address: Assets/Resources_moved/Example/Platformer/Platformer 2.unity
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1ffad73500b8c4a46b36468ab4d5c56c
m_Address: Assets/Resources_moved/Example/Platformer/Platformer 3.unity
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 20b79feef28c6924f99d43b2d66b79ac
m_Address: Assets/Resources_moved/Example/Platformer/Audio/get2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 22d559d7081d98649a627ca74e5e26d3
m_Address: Assets/Resources_moved/Example/Platformer/Audio/crush.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 234ab51636edcbab88dbadfdb7fbfe65
m_Address: Example/Platformer/Characters/Player/Player
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 292439c50bbcbb638889b0959c637d18
m_Address: Example/Platformer/Configs/Platformer
m_ReadOnly: 0
m_SerializedLabels:
- SceneConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2f48f0019cce4a047bb5878796f90316
m_Address: Example/Platformer/Audio/With_S2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 35af072d3b1b6cf4688cd843ea8619ef
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/EnemyDeath
1.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 377250e1c2c80e20db7a825b90f8c4a1
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/Music1.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3f2b0a19832dd31578147a7bb53cf931
m_Address: Assets/Resources_moved/Example/Platformer/Configs/LayerMasks/GroundLayerMask.asset
m_ReadOnly: 0
m_SerializedLabels:
- LayerMaskConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4433c918bf5643cd9a4b83ccdd369779
m_Address: "Assets/Resources_moved/Example/Platformer/Audio/35. \u306F\u3063\u305F\u308C\u4E94\u53F3\u885B\u9580.mp3"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4b5011c8b31164d418f96afe213172ce
m_Address: Example/Platformer/Audio/stare
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4e1c17d1e33b9994891321c0ef47c179
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/Hit.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 69e720c0a88f4f9499af76a887cd9fdf
m_Address: Assets/Resources_moved/Example/Platformer/Configs/LayerMasks/Player.asset
m_ReadOnly: 0
m_SerializedLabels:
- LayerMaskConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 6a787ed54bab3244cacb4a73ebe09691
m_Address: Example/Platformer/Audio/staticend2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 6d3fc61919b807d0da6d9625d6c7ccb8
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/GotDamage.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7247c8f09e5f00b889ed31f15a5099e6
m_Address: "Assets/Resources_moved/Example/Platformer/Audio/36. \u30D7\u30ED\u30B4\u30EB\u30D5\u30A1\u30FC\u733F\u7530\u5F66.mp3"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 74a3a6c4ec774af4fa370074bfd17c40
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/Death.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 77a268730c52ad461920f3459fdda1a0
m_Address: Assets/Resources_moved/Example/Platformer/Snail.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 78f36de38978ecc0a9d9dff2ca9cf488
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Enemies/Boar.asset
m_ReadOnly: 0
m_SerializedLabels:
- PlatformerEntity
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 79588608023cfce47b4005cea63a8396
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Platformer 3.asset
m_ReadOnly: 0
m_SerializedLabels:
- SceneConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 79892e8ea650c864fa8eb1184556cb42
m_Address: Assets/Resources_moved/Example/Platformer/Audio/insuit.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7d8290233b2e82e4e9a8f85ca8b2e26d
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/GameEnd.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 865efba1bf0303b46ad5262bd945e4bd
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/EnemyDeath.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8d4c5cacc797c0e45ae5f7f467619e98
m_Address: Assets/Resources_moved/Example/Platformer/Audio/jump2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9fa1fde1ddb533d4b8f4a758cc83a696
m_Address: Assets/Resources_moved/Example/Platformer/Audio/laugh.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c98ca8f1bfb12944db084a76779f68f0
m_Address: Example/Platformer/Audio/COMPUTER_DIGITAL_L2076605
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: cbab0864467bc624caa2e614a126d198
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Platformer 2.asset
m_ReadOnly: 0
m_SerializedLabels:
- SceneConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: cc76fd76d78cd364880ebe8330a05834
m_Address: Assets/Resources_moved/Example/Platformer/Configs/LayerMasks/Enemies.asset
m_ReadOnly: 0
m_SerializedLabels:
- LayerMaskConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d0a994964f42e0c0dad3da32f7b52c90
m_Address: Assets/Resources_moved/Example/Platformer/Boar.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d6dea95659be7f90294dfefb3c4c9791
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Audio/Music2.asset
m_ReadOnly: 0
m_SerializedLabels:
- AudioInfoConfig
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ed92a969702a16c4e812b41bbb8ec1b9
m_Address: Assets/Resources_moved/Example/Platformer/Audio/deepbreaths.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ee1bcba8581e635469885eb08401a519
m_Address: Assets/Resources_moved/Example/Platformer/Audio/get.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ef1b55458defd6ca99e4006b21b9cb02
m_Address: Assets/Resources_moved/Example/Platformer/Configs/Enemies/Bee.asset
m_ReadOnly: 0
m_SerializedLabels:
- PlatformerEntity
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f281706c5b7913f43891c237c5210d40
m_Address: Assets/Resources_moved/Example/Platformer/Configs/PlayerSettings.asset
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f5e32ea95f06f484daca2ff3a1f1a3d8
m_Address: Example/Platformer/Audio/static2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f75fc43e1e6bd3ca5b4c90a98a790033
m_Address: Example/Platformer
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: c6c4cec5a69c4d144a5dfabd0405f447, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: 94d9efa444455f9b4b65669d5b7b5be0, type: 2}
- {fileID: 11400000, guid: 4c421b07d46102b0692fd842f4634428, type: 2}
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a78f552da8f156b469b95652e4b0209d guid: 6572d621368709a22b1df7ea0d26c1df
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000
@@ -24,7 +24,7 @@ MonoBehaviour:
m_BundledAssetProviderType: m_BundledAssetProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
m_StripDownloadOptions: 0 m_StripDownloadOptions: 1
m_ForceUniqueProvider: 0 m_ForceUniqueProvider: 0
m_UseAssetBundleCache: 1 m_UseAssetBundleCache: 1
m_UseAssetBundleCrc: 1 m_UseAssetBundleCrc: 1
@@ -38,7 +38,7 @@ MonoBehaviour:
m_Id: c177911d3f5ed754588b22d7ec9ed060 m_Id: c177911d3f5ed754588b22d7ec9ed060
m_LoadPath: m_LoadPath:
m_Id: 0625bc81bb6ebfe4badeca8150066832 m_Id: 0625bc81bb6ebfe4badeca8150066832
m_BundleMode: 0 m_BundleMode: 1
m_AssetBundleProviderType: m_AssetBundleProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
@@ -0,0 +1,48 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
m_Name: Duplicate Asset Isolation_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: 474eae8d8cac07b49a71a36bddcfea71, type: 2}
m_InternalBundleIdMode: 1
m_Compression: 1
m_IncludeAddressInCatalog: 1
m_IncludeGUIDInCatalog: 1
m_IncludeLabelsInCatalog: 1
m_InternalIdNamingMode: 0
m_CacheClearBehavior: 0
m_IncludeInBuild: 1
m_BundledAssetProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
m_StripDownloadOptions: 0
m_ForceUniqueProvider: 0
m_UseAssetBundleCache: 1
m_UseAssetBundleCrc: 1
m_UseAssetBundleCrcForCachedBundles: 1
m_UseUWRForLocalBundles: 0
m_Timeout: 0
m_ChunkedTransfer: 0
m_RedirectLimit: -1
m_RetryCount: 0
m_BuildPath:
m_Id: c177911d3f5ed754588b22d7ec9ed060
m_LoadPath:
m_Id: 0625bc81bb6ebfe4badeca8150066832
m_BundleMode: 0
m_AssetBundleProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
m_UseDefaultSchemaSettings: 0
m_SelectedPathPairIndex: 0
m_BundleNaming: 0
m_AssetLoadMode: 0
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d54fabdcc748a594aa0551dcd235c7c2 guid: b7a101d996c2e9642a8382b9484b7688
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
m_Name: Duplicate Asset Isolation_ContentUpdateGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.ContentUpdateGroupSchema
m_Group: {fileID: 11400000, guid: 474eae8d8cac07b49a71a36bddcfea71, type: 2}
m_StaticContent: 1
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 81a10561aabdb45419c7e5c285e2552f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,48 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
m_Name: PlatformerGroup_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: 6572d621368709a22b1df7ea0d26c1df, type: 2}
m_InternalBundleIdMode: 1
m_Compression: 1
m_IncludeAddressInCatalog: 1
m_IncludeGUIDInCatalog: 1
m_IncludeLabelsInCatalog: 1
m_InternalIdNamingMode: 0
m_CacheClearBehavior: 0
m_IncludeInBuild: 1
m_BundledAssetProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
m_StripDownloadOptions: 1
m_ForceUniqueProvider: 0
m_UseAssetBundleCache: 1
m_UseAssetBundleCrc: 1
m_UseAssetBundleCrcForCachedBundles: 1
m_UseUWRForLocalBundles: 0
m_Timeout: 0
m_ChunkedTransfer: 0
m_RedirectLimit: -1
m_RetryCount: 0
m_BuildPath:
m_Id: c177911d3f5ed754588b22d7ec9ed060
m_LoadPath:
m_Id: 0625bc81bb6ebfe4badeca8150066832
m_BundleMode: 2
m_AssetBundleProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
m_UseDefaultSchemaSettings: 0
m_SelectedPathPairIndex: 0
m_BundleNaming: 0
m_AssetLoadMode: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 94d9efa444455f9b4b65669d5b7b5be0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
m_Name: PlatformerGroup_ContentUpdateGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.ContentUpdateGroupSchema
m_Group: {fileID: 11400000, guid: 6572d621368709a22b1df7ea0d26c1df, type: 2}
m_StaticContent: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4c421b07d46102b0692fd842f4634428
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,48 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
m_Name: UISounds_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: bd1a450260484850da61f533f9b6b17a, type: 2}
m_InternalBundleIdMode: 1
m_Compression: 1
m_IncludeAddressInCatalog: 1
m_IncludeGUIDInCatalog: 1
m_IncludeLabelsInCatalog: 1
m_InternalIdNamingMode: 0
m_CacheClearBehavior: 0
m_IncludeInBuild: 1
m_BundledAssetProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
m_StripDownloadOptions: 1
m_ForceUniqueProvider: 0
m_UseAssetBundleCache: 1
m_UseAssetBundleCrc: 1
m_UseAssetBundleCrcForCachedBundles: 1
m_UseUWRForLocalBundles: 0
m_Timeout: 0
m_ChunkedTransfer: 0
m_RedirectLimit: -1
m_RetryCount: 0
m_BuildPath:
m_Id: c177911d3f5ed754588b22d7ec9ed060
m_LoadPath:
m_Id: 0625bc81bb6ebfe4badeca8150066832
m_BundleMode: 2
m_AssetBundleProviderType:
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
m_UseDefaultSchemaSettings: 0
m_SelectedPathPairIndex: 0
m_BundleNaming: 0
m_AssetLoadMode: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5cfb32127ee8a24e9a702950663dc4c2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
m_Name: UISounds_ContentUpdateGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.ContentUpdateGroupSchema
m_Group: {fileID: 11400000, guid: bd1a450260484850da61f533f9b6b17a, type: 2}
m_StaticContent: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6dfe3b626615e5ea1b39251624a4c98c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,73 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
m_Name: UISounds
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: UISounds
m_GUID: 952fa753cff242529845c3df21690cd6
m_SerializeEntries:
- m_GUID: 1983ca5906382590d9638c6c751d8571
m_Address: Assets/Resources_moved/Audio/UI/launch_dnmenu1.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2044ec9a33380e7239855e26a9d8bcc5
m_Address: Assets/Resources_moved/Audio/UI/launch_selectmenu.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4c9ce2b91ab2587cf8279e7d743d348b
m_Address: Assets/Resources_moved/Audio/UI/613916__drni__solar-inverter-humming-static-noise.flac
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 55c3ef7828ec424a59b3d4ceb1cdaece
m_Address: Assets/Resources_moved/Audio/UI/launch_upmenu1.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 670b67ade842b46af81fee330d074f9f
m_Address: Assets/Resources_moved/Audio/UI/buttonclickrelease.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 749408a9b44d2581783d04d903ec0f72
m_Address: Assets/Resources_moved/Audio/UI/valve_sound.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7eaa3bbea72a3b313878e71bc992c5fd
m_Address: Assets/Resources_moved/Audio/UI/launch_select2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 89a9e669f83bef966b15cdd2da6d4f77
m_Address: Assets/Resources_moved/Audio/UI/buttonrollover.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9472c0e087e023ce9b93dfc75ffff25b
m_Address: Assets/Resources_moved/Audio/UI/buttonclick.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: d9b04c3e60dd01e77807be9f484d8e82
m_Address: Assets/Resources_moved/Audio/UI/launch_select1.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: c6c4cec5a69c4d144a5dfabd0405f447, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: 5cfb32127ee8a24e9a702950663dc4c2, type: 2}
- {fileID: 11400000, guid: 6dfe3b626615e5ea1b39251624a4c98c, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bd1a450260484850da61f533f9b6b17a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2effcda6ca972d34c85ec6e106aa4021 guid: 5313cc04f8ca14597b338b65bee3093d
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
@@ -0,0 +1,28 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7e3976da977cb49238499ea3b4c237ae, type: 3}
m_Name: ProfileDataSourceSettings
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.ProfileDataSourceSettings
profileGroupTypes:
- m_GroupTypePrefix: Built-In
m_Variables:
- m_Suffix: BuildPath
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
- m_Suffix: LoadPath
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
environments: []
currentEnvironment:
id:
projectId:
projectGenesisId:
name:
isDefault: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a5b15ef261c372546828bde22c50fbb3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a849b8376c6cae04b8dd2b8743cf2fb1 guid: 5fd003c2e081890428485bfb959fa404
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9d6b79a067be4ebc97601337f35b808a
timeCreated: 1769346033
+37
View File
@@ -0,0 +1,37 @@
using System.Collections.Generic;
using Code.Infrastructure.App;
using Code.Infrastructure.SceneLoader;
using Reflex.Attributes;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
namespace Code.Debug
{
public class SceneChooser : MonoBehaviour
{
[Inject] private SceneLoader _sceneLoader;
[Inject] private AppStateMachine _stateMachine;
public void ChooseScene(int id)
{
_sceneLoader.LoadSceneAsync((SceneId)id, LoadSceneMode.Additive).Forget();
}
public void ChooseState(int id)
{
_stateMachine.SwitchState((AppStates)id);
}
public void SwitchPlatformer()
{
_stateMachine.SwitchState(AppStates.Platformer).AllowStateTransition(AppStates.MainMenu);
}
[SerializeField] private List<Button> buttons;
public void EnableButtons()
{
foreach (var button in buttons) button.interactable = true;
}
}
}
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 72527bc5589647428bb4575953d13a90
timeCreated: 1769346042
+2 -2
View File
@@ -1,3 +1,3 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 07cf07a937934e0094469237b5865b60 guid: 2f828f4a304e46578e63d3803c9a889d
timeCreated: 1766350980 timeCreated: 1769522070
-3
View File
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: b03c560586d24e78b3fee9249e2f3d61
timeCreated: 1766605332
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: b44837d95edd481087730e30635ab5fc
timeCreated: 1766605342
@@ -1,483 +0,0 @@
using System.Collections.Generic;
using KinematicCharacterController;
using UnityEngine;
namespace Code.Example.Liminal.Character
{
public enum CharacterState
{
Default,
}
public enum OrientationMethod
{
TowardsCamera,
TowardsMovement,
}
public class PlayerCharacterInputs
{
public float MoveAxisForward;
public float MoveAxisRight;
public Quaternion CameraRotation;
public bool CrouchDown;
public bool CrouchUp;
}
public struct AICharacterInputs
{
public Vector3 MoveVector;
public Vector3 LookVector;
}
public enum BonusOrientationMethod
{
None,
TowardsGravity,
TowardsGroundSlopeAndGravity,
}
public class LiminalCharacterController : MonoBehaviour, ICharacterController
{
public KinematicCharacterMotor Motor;
[Header("Stable Movement")] public float MaxStableMoveSpeed = 10f;
public float StableMovementSharpness = 15f;
public float OrientationSharpness = 10f;
public bool InfinitelySharpRotation;
public OrientationMethod OrientationMethod = OrientationMethod.TowardsCamera;
[Header("Air Movement")] public float MaxAirMoveSpeed = 15f;
public float AirAccelerationSpeed = 15f;
public float Drag = 0.1f;
[Header("Misc")] public List<Collider> IgnoredColliders = new List<Collider>();
public BonusOrientationMethod BonusOrientationMethod = BonusOrientationMethod.None;
public float BonusOrientationSharpness = 10f;
public Vector3 Gravity = new Vector3(0, -30f, 0);
// public Transform MeshRoot;
public float CrouchedCapsuleHeight = 1f;
public CharacterState CurrentCharacterState { get; private set; }
private Collider[] _probedColliders = new Collider[8];
private RaycastHit[] _probedHits = new RaycastHit[8];
private Vector3 _moveInputVector;
private Vector3 _lookInputVector;
private Vector3 _internalVelocityAdd = Vector3.zero;
private bool _shouldBeCrouching = false;
private bool _isCrouching = false;
public void Teleport(Vector3 position, Quaternion rotation)
{
Motor.SetPosition(position);
Motor.SetRotation(rotation);
}
private void Awake()
{
// Handle initial state
TransitionToState(CharacterState.Default);
// Assign the characterController to the motor
Motor.CharacterController = this;
}
/// <summary>
/// Handles movement state transitions and enter/exit callbacks
/// </summary>
public void TransitionToState(CharacterState newState)
{
CharacterState tmpInitialState = CurrentCharacterState;
OnStateExit(tmpInitialState, newState);
CurrentCharacterState = newState;
OnStateEnter(newState, tmpInitialState);
}
/// <summary>
/// Event when entering a state
/// </summary>
private void OnStateEnter(CharacterState state, CharacterState fromState)
{
switch (state)
{
case CharacterState.Default:
{
break;
}
}
}
/// <summary>
/// Event when exiting a state
/// </summary>
private void OnStateExit(CharacterState state, CharacterState toState)
{
switch (state)
{
case CharacterState.Default:
{
break;
}
}
}
/// <summary>
/// This is called every frame by ExamplePlayer in order to tell the character what its inputs are
/// </summary>
public void SetInputs(PlayerCharacterInputs inputs)
{
// Clamp input
Vector3 moveInputVector =
Vector3.ClampMagnitude(new Vector3(inputs.MoveAxisRight, 0f, inputs.MoveAxisForward), 1f);
// Calculate camera direction and rotation on the character plane
Vector3 cameraPlanarDirection =
Vector3.ProjectOnPlane(inputs.CameraRotation * Vector3.forward, Motor.CharacterUp).normalized;
if (cameraPlanarDirection.sqrMagnitude == 0f)
{
cameraPlanarDirection = Vector3.ProjectOnPlane(inputs.CameraRotation * Vector3.up, Motor.CharacterUp)
.normalized;
}
Quaternion cameraPlanarRotation = Quaternion.LookRotation(cameraPlanarDirection, Motor.CharacterUp);
switch (CurrentCharacterState)
{
case CharacterState.Default:
{
// Move and look inputs
_moveInputVector = cameraPlanarRotation * moveInputVector;
switch (OrientationMethod)
{
case OrientationMethod.TowardsCamera:
_lookInputVector = cameraPlanarDirection;
break;
case OrientationMethod.TowardsMovement:
_lookInputVector = _moveInputVector.normalized;
break;
}
// Crouching input
if (inputs.CrouchDown)
{
_shouldBeCrouching = true;
if (!_isCrouching)
{
_isCrouching = true;
Motor.SetCapsuleDimensions(0.5f, CrouchedCapsuleHeight, CrouchedCapsuleHeight * 0.5f);
// MeshRoot.localScale = new Vector3(1f, 0.5f, 1f);
}
}
else if (inputs.CrouchUp)
{
_shouldBeCrouching = false;
}
break;
}
}
}
/// <summary>
/// This is called every frame by the AI script in order to tell the character what its inputs are
/// </summary>
public void SetInputs(ref AICharacterInputs inputs)
{
_moveInputVector = inputs.MoveVector;
_lookInputVector = inputs.LookVector;
}
private Quaternion _tmpTransientRot;
/// <summary>
/// (Called by KinematicCharacterMotor during its update cycle)
/// This is called before the character begins its movement update
/// </summary>
public void BeforeCharacterUpdate(float deltaTime)
{
}
/// <summary>
/// (Called by KinematicCharacterMotor during its update cycle)
/// This is where you tell your character what its rotation should be right now.
/// This is the ONLY place where you should set the character's rotation
/// </summary>
public void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
{
switch (CurrentCharacterState)
{
case CharacterState.Default:
{
if (!InfinitelySharpRotation)
{
if (_lookInputVector.sqrMagnitude > 0f && OrientationSharpness > 0f)
{
// Smoothly interpolate from current to target look direction
Vector3 smoothedLookInputDirection = Vector3.Slerp(Motor.CharacterForward,
_lookInputVector, 1 - Mathf.Exp(-OrientationSharpness * deltaTime)).normalized;
// Set the current rotation (which will be used by the KinematicCharacterMotor)
currentRotation =
Quaternion.LookRotation(smoothedLookInputDirection, Motor.CharacterUp);
}
}
else
{
currentRotation = Quaternion.LookRotation(_lookInputVector, Motor.CharacterUp);
}
Vector3 currentUp = (currentRotation * Vector3.up);
if (BonusOrientationMethod == BonusOrientationMethod.TowardsGravity)
{
// Rotate from current up to invert gravity
Vector3 smoothedGravityDir = Vector3.Slerp(currentUp, -Gravity.normalized,
1 - Mathf.Exp(-BonusOrientationSharpness * deltaTime));
currentRotation = Quaternion.FromToRotation(currentUp, smoothedGravityDir) * currentRotation;
}
else if (BonusOrientationMethod == BonusOrientationMethod.TowardsGroundSlopeAndGravity)
{
if (Motor.GroundingStatus.IsStableOnGround)
{
Vector3 initialCharacterBottomHemiCenter =
Motor.TransientPosition + (currentUp * Motor.Capsule.radius);
Vector3 smoothedGroundNormal = Vector3.Slerp(Motor.CharacterUp,
Motor.GroundingStatus.GroundNormal,
1 - Mathf.Exp(-BonusOrientationSharpness * deltaTime));
currentRotation = Quaternion.FromToRotation(currentUp, smoothedGroundNormal) *
currentRotation;
// Move the position to create a rotation around the bottom hemi center instead of around the pivot
Motor.SetTransientPosition(initialCharacterBottomHemiCenter +
(currentRotation * Vector3.down * Motor.Capsule.radius));
}
else
{
Vector3 smoothedGravityDir = Vector3.Slerp(currentUp, -Gravity.normalized,
1 - Mathf.Exp(-BonusOrientationSharpness * deltaTime));
currentRotation = Quaternion.FromToRotation(currentUp, smoothedGravityDir) *
currentRotation;
}
}
else
{
Vector3 smoothedGravityDir = Vector3.Slerp(currentUp, Vector3.up,
1 - Mathf.Exp(-BonusOrientationSharpness * deltaTime));
currentRotation = Quaternion.FromToRotation(currentUp, smoothedGravityDir) * currentRotation;
}
break;
}
}
}
/// <summary>
/// (Called by KinematicCharacterMotor during its update cycle)
/// This is where you tell your character what its velocity should be right now.
/// This is the ONLY place where you can set the character's velocity
/// </summary>
public void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime)
{
switch (CurrentCharacterState)
{
case CharacterState.Default:
{
// Ground movement
if (Motor.GroundingStatus.IsStableOnGround)
{
float currentVelocityMagnitude = currentVelocity.magnitude;
Vector3 effectiveGroundNormal = Motor.GroundingStatus.GroundNormal;
// Reorient velocity on slope
currentVelocity = Motor.GetDirectionTangentToSurface(currentVelocity, effectiveGroundNormal) *
currentVelocityMagnitude;
// Calculate target velocity
Vector3 inputRight = Vector3.Cross(_moveInputVector, Motor.CharacterUp);
Vector3 reorientedInput = Vector3.Cross(effectiveGroundNormal, inputRight).normalized *
_moveInputVector.magnitude;
Vector3 targetMovementVelocity = reorientedInput * MaxStableMoveSpeed;
// Smooth movement Velocity
currentVelocity = Vector3.Lerp(currentVelocity, targetMovementVelocity,
1f - Mathf.Exp(-StableMovementSharpness * deltaTime));
}
// Air movement
else
{
// Add move input
if (_moveInputVector.sqrMagnitude > 0f)
{
Vector3 addedVelocity = _moveInputVector * AirAccelerationSpeed * deltaTime;
Vector3 currentVelocityOnInputsPlane =
Vector3.ProjectOnPlane(currentVelocity, Motor.CharacterUp);
// Limit air velocity from inputs
if (currentVelocityOnInputsPlane.magnitude < MaxAirMoveSpeed)
{
// clamp addedVel to make total vel not exceed max vel on inputs plane
Vector3 newTotal = Vector3.ClampMagnitude(currentVelocityOnInputsPlane + addedVelocity,
MaxAirMoveSpeed);
addedVelocity = newTotal - currentVelocityOnInputsPlane;
}
else
{
// Make sure added vel doesn't go in the direction of the already-exceeding velocity
if (Vector3.Dot(currentVelocityOnInputsPlane, addedVelocity) > 0f)
{
addedVelocity = Vector3.ProjectOnPlane(addedVelocity,
currentVelocityOnInputsPlane.normalized);
}
}
// Prevent air-climbing sloped walls
if (Motor.GroundingStatus.FoundAnyGround)
{
if (Vector3.Dot(currentVelocity + addedVelocity, addedVelocity) > 0f)
{
Vector3 perpenticularObstructionNormal = Vector3
.Cross(Vector3.Cross(Motor.CharacterUp, Motor.GroundingStatus.GroundNormal),
Motor.CharacterUp).normalized;
addedVelocity =
Vector3.ProjectOnPlane(addedVelocity, perpenticularObstructionNormal);
}
}
// Apply added velocity
currentVelocity += addedVelocity;
}
// Gravity
currentVelocity += Gravity * deltaTime;
// Drag
currentVelocity *= (1f / (1f + (Drag * deltaTime)));
}
// Take into account additive velocity
if (_internalVelocityAdd.sqrMagnitude > 0f)
{
currentVelocity += _internalVelocityAdd;
_internalVelocityAdd = Vector3.zero;
}
break;
}
}
}
/// <summary>
/// (Called by KinematicCharacterMotor during its update cycle)
/// This is called after the character has finished its movement update
/// </summary>
public void AfterCharacterUpdate(float deltaTime)
{
switch (CurrentCharacterState)
{
case CharacterState.Default:
{
// Handle uncrouching
if (_isCrouching && !_shouldBeCrouching)
{
// Do an overlap test with the character's standing height to see if there are any obstructions
Motor.SetCapsuleDimensions(0.5f, 2f, 1f);
if (Motor.CharacterOverlap(
Motor.TransientPosition,
Motor.TransientRotation,
_probedColliders,
Motor.CollidableLayers,
QueryTriggerInteraction.Ignore) > 0)
{
// If obstructions, just stick to crouching dimensions
Motor.SetCapsuleDimensions(0.5f, CrouchedCapsuleHeight, CrouchedCapsuleHeight * 0.5f);
}
else
{
// If no obstructions, uncrouch
// MeshRoot.localScale = new Vector3(1f, 1f, 1f);
_isCrouching = false;
}
}
break;
}
}
}
public void PostGroundingUpdate(float deltaTime)
{
// Handle landing and leaving ground
if (Motor.GroundingStatus.IsStableOnGround && !Motor.LastGroundingStatus.IsStableOnGround)
{
OnLanded();
}
else if (!Motor.GroundingStatus.IsStableOnGround && Motor.LastGroundingStatus.IsStableOnGround)
{
OnLeaveStableGround();
}
}
public bool IsColliderValidForCollisions(Collider coll)
{
if (IgnoredColliders.Count == 0)
{
return true;
}
if (IgnoredColliders.Contains(coll))
{
return false;
}
return true;
}
public void OnGroundHit(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint,
ref HitStabilityReport hitStabilityReport)
{
}
public void OnMovementHit(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint,
ref HitStabilityReport hitStabilityReport)
{
}
public void AddVelocity(Vector3 velocity)
{
switch (CurrentCharacterState)
{
case CharacterState.Default:
{
_internalVelocityAdd += velocity;
break;
}
}
}
public void ProcessHitStabilityReport(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint,
Vector3 atCharacterPosition, Quaternion atCharacterRotation, ref HitStabilityReport hitStabilityReport)
{
}
protected void OnLanded()
{
}
protected void OnLeaveStableGround()
{
}
public void OnDiscreteCollisionDetected(Collider hitCollider)
{
}
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: ba1cb0200be742ec8d680ad8b2d662cb
timeCreated: 1766610552
-3
View File
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: d7569a6973424ff5802b1635c5338316
timeCreated: 1766611137
@@ -1,18 +0,0 @@
using KinematicCharacterController;
using UnityEngine;
namespace Code.Example.Liminal.Player
{
public class PlayerAnimator : MonoBehaviour
{
private static readonly int Velocity = Animator.StringToHash("Velocity");
[SerializeField] private Animator animator;
[SerializeField] private KinematicCharacterMotor characterMotor;
private void Update()
{
animator.SetFloat(Velocity, characterMotor.Velocity.magnitude);
}
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: e79636518658432a99481e476aeebc66
timeCreated: 1766610269
@@ -1,7 +0,0 @@
namespace Code.Example.Liminal.Player
{
public class PlayerFactory
{
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 60b7c1aa1c8c4189a2b442d2b4c628eb
timeCreated: 1766652945
@@ -1,74 +0,0 @@
using System;
using Code.Example.Liminal.Character;
using Code.Infrastructure.Camera;
using Code.Infrastructure.Camera.CameraStates;
using Code.Infrastructure.Input;
using Reflex.Attributes;
using UnityEngine;
using UnityEngine.InputSystem;
namespace Code.Example.Liminal.Player
{
public class PlayerMovementController : MonoBehaviour
{
[SerializeField] private LiminalCharacterController characterController;
private PlayerCharacterInputs _currentInputs = new();
private IInputService _inputService;
private CameraStateMachine _cameraStateMachine;
public Transform PlayerHeadPoint;
[Inject]
private void Construct(IInputService inputService, CameraStateMachine stateMachine)
{
_inputService = inputService;
_inputService.BindActionPerformed((int) ActionMappings.Gameplay, (int) GameplayActions.Move, OnMovePerformed);
_inputService.BindActionCancel((int) ActionMappings.Gameplay, (int) GameplayActions.Move, OnMoveCanceled);
_inputService.BindActionPerformed((int) ActionMappings.Gameplay, (int) GameplayActions.Crouch, OnCrouchPerformed);
_inputService.BindActionCancel((int) ActionMappings.Gameplay, (int) GameplayActions.Crouch, OnCrouchCanceled);
_cameraStateMachine = stateMachine;
((FirstPersonCameraState)stateMachine.CurrentBaseState).SetPlayer(this);
}
private void Awake()
{
_currentInputs.MoveAxisForward = 0;
_currentInputs.MoveAxisRight = 0;
_currentInputs.CrouchUp = true;
_currentInputs.CrouchDown = false;
_currentInputs.CameraRotation = Quaternion.identity;
}
public void SetCameraRotation(Quaternion rotation) => _currentInputs.CameraRotation = rotation;
private void OnMovePerformed(InputAction.CallbackContext context)
{
_currentInputs.MoveAxisForward = context.ReadValue<Vector2>().y;
_currentInputs.MoveAxisRight = context.ReadValue<Vector2>().x;
}
private void OnMoveCanceled(InputAction.CallbackContext context)
{
_currentInputs.MoveAxisForward = 0;
_currentInputs.MoveAxisRight = 0;
}
private void OnCrouchPerformed(InputAction.CallbackContext context)
{
_currentInputs.CrouchDown = true;
_currentInputs.CrouchUp = false;
}
private void OnCrouchCanceled(InputAction.CallbackContext context)
{
_currentInputs.CrouchUp = true;
_currentInputs.CrouchDown = false;
}
private void Update()
{
characterController.SetInputs(_currentInputs);
}
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 8dd688d33c434f999d0ff7cd0553f1ee
timeCreated: 1766611089
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 36ea829cf56649b4a025c709390a457c
timeCreated: 1770736333
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 95e867912f25463e8ae222819491ee0d
timeCreated: 1770905985
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9df78f95b3ad416cb1a0a786f0b22365
timeCreated: 1771423438
@@ -0,0 +1,100 @@
using System.Collections.Generic;
using Code.Infrastructure.Audio;
using Cysharp.Threading.Tasks;
using PrimeTween;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class Bee : Entity
{
[SerializeField] private List<Transform> partolPoints;
[SerializeField] private bool onPatrol = true;
private int _currentPatrolPoint;
private Vector3 _velocity = new Vector3(1,1,1);
[SerializeField] private Transform _currentTarget;
private Tween _patrolAction;
private float _attackThreshold = 0.5f;
[Inject] private IAudioService _audioService;
[SerializeField] private EntityHealth health;
private void Start()
{
health.OnEntityDamage = OnEntityDamage;
health.OnEntityDeath = OnEntityDeath;
}
private void OnEntityDeath()
{
animator.SetBool(Died, true);
animator.SetTrigger(OnDeath);
Die().Forget();
}
private async UniTaskVoid Die()
{
await UniTask.WaitForSeconds(1);
_audioService.PlayOneShot(AudioNames.Platformer, 3 , AudioGroupType.SFX);
Destroy(gameObject);
}
private void OnEntityDamage(int obj)
{
_audioService.PlayOneShot(AudioNames.Platformer, 2, AudioGroupType.SFX);
UnityEngine.Debug.Log(gameObject.name + " damaged");
animator.SetTrigger(OnHit);
}
protected override void Move()
{
if (onPatrol && !_patrolAction.isAlive)
{
_patrolAction = Tween
.PositionAtSpeed(transform,partolPoints[_currentPatrolPoint].position, 0.5f)
.OnComplete(target: this, target => target.OnControlPointReached());
}
else if(_currentTarget)
{
TryAttack();
var direction = _currentTarget.position - transform.position;
direction.Normalize();
var targetPosition = _currentTarget.position + direction * -2f;
UnityEngine.Debug.DrawLine(transform.position, targetPosition, Color.red);
transform.position = Vector3.SmoothDamp(transform.position,_currentTarget.position,ref _velocity, 1f);
// Tween
// .PositionAtSpeed(transform, _currentTarget.position, 1f).OnUpdate(transform, );
// // .OnComplete(OnControlPointReached);
}
}
private void TryAttack()
{
if ((transform.position - _currentTarget.position).magnitude < _attackThreshold) _currentTarget.GetComponent<EntityHealth>().GiveDamage(1);
}
private void OnControlPointReached()
{
if (++_currentPatrolPoint >= partolPoints.Count) _currentPatrolPoint = 0;
}
public void GotTarget(Transform other)
{
onPatrol = false;
_currentTarget = other;
_patrolAction.Stop();
}
public void LostTarget()
{
onPatrol = true;
_currentTarget = null;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2abf74ae7a894c5abc850fe852fdf4e7
timeCreated: 1771433363
@@ -0,0 +1,14 @@
using System;
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class BeeRadar : MonoBehaviour
{
[SerializeField] private Bee bee;
private void OnTriggerEnter2D(Collider2D other) => bee.GotTarget(other.transform);
private void OnTriggerExit2D(Collider2D other) => bee.LostTarget();
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 582294c360404f6d952d9e28bde1fbea
timeCreated: 1771434696
@@ -0,0 +1,103 @@
using System;
using Code.Infrastructure.Audio;
using Code.Infrastructure.Configs;
using Cysharp.Threading.Tasks;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class Boar : Entity
{
[SerializeField] private Vector2 groundLeft;
[SerializeField] private Vector2 groundRight;
private bool _directionRight;
private float _acceleration = 3f;
[SerializeField] private EntityHealth health;
[Inject] private IAudioService _audioService;
private Transform _target;
private float _attackThreshold = 0.5f;
private void Start()
{
health.OnEntityDamage = OnEntityDamage;
health.OnEntityDeath = OnEntityDeath;
}
private void OnEntityDeath()
{
animator.SetBool(Died, true);
animator.SetTrigger(OnDeath);
Die().Forget();
}
private async UniTaskVoid Die()
{
await UniTask.WaitForSeconds(1);
_audioService.PlayOneShot(AudioNames.Platformer, 3 , AudioGroupType.SFX);
Destroy(gameObject);
}
private void OnEntityDamage(int obj)
{
_audioService.PlayOneShot(AudioNames.Platformer, 2, AudioGroupType.SFX);
UnityEngine.Debug.Log(gameObject.name + " damaged");
animator.SetTrigger(OnHit);
}
protected override void Move()
{
if (health.IsDead) return;
if (_target)
{
TryAttack();
_directionRight = (_target.position - transform.position).x > float.Epsilon;
UnityEngine.Debug.DrawLine(transform.position, (transform.position + (_target.position - transform.position)), Color.salmon);
CheckupDirection();
rigidbody2D.linearVelocityX = _directionRight ? 0.5f : -0.5f;
rigidbody2D.linearVelocityX *= _acceleration;
}
else
{
CheckupDirection();
rigidbody2D.linearVelocityX = _directionRight ? 0.5f : -0.5f;
}
}
protected override void HandleFlipX() => spriteRenderer.flipX = rigidbody2D.linearVelocity.x > -0.01f;
private void CheckupDirection()
{
if (_directionRight)
{
if (!Physics2D.OverlapPoint((Vector2)transform.position + groundRight,
LayerMasks.Masks[LayerMaskType.PlatformerGround]))
_directionRight = false;
}
else if (!Physics2D.OverlapPoint((Vector2)transform.position + groundLeft,
LayerMasks.Masks[LayerMaskType.PlatformerGround]))
_directionRight = true;
}
private void TryAttack()
{
if ((transform.position - _target.position).magnitude < _attackThreshold) _target.GetComponent<EntityHealth>().GiveDamage(1);
}
public void GotTarget(Transform target)
{
_target = target;
}
public void LostTarget()
{
_target = null;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8a21daf0f518490daeacea92cc2dee2d
timeCreated: 1772187830
@@ -0,0 +1,19 @@
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class BoarRadar : MonoBehaviour
{
[SerializeField] private Boar boar;
private void OnTriggerEnter2D(Collider2D other)
{
boar.GotTarget(other.transform);
}
private void OnTriggerExit2D(Collider2D other)
{
boar.LostTarget();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e0976ba0c1904671ac17f194f8694aa1
timeCreated: 1772187891
@@ -0,0 +1,12 @@
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class PlayerCollisionDamager : MonoBehaviour
{
private void OnTriggerStay2D(Collider2D other)
{
other.GetComponent<EntityHealth>().GiveDamage(1);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 55c5190afe54409f89d7a16c315e48f9
timeCreated: 1774276433
@@ -0,0 +1,64 @@
using Code.Infrastructure.Audio;
using Code.Infrastructure.Configs;
using Cysharp.Threading.Tasks;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Entity.Enemies
{
public class Snail : Entity
{
[SerializeField] private Vector2 groundLeft;
[SerializeField] private Vector2 groundRight;
[SerializeField] private bool _directionRight;
[SerializeField] private EntityHealth health;
[Inject] private IAudioService _audioService;
private void Start()
{
health.OnEntityDamage = OnEntityDamage;
health.OnEntityDeath = OnEntityDeath;
}
private void OnEntityDeath()
{
animator.SetBool(Died, true);
animator.SetTrigger(OnDeath);
Die().Forget();
}
private async UniTaskVoid Die()
{
await UniTask.WaitForSeconds(1);
_audioService.PlayOneShot(AudioNames.Platformer, 3 , AudioGroupType.SFX);
Destroy(gameObject);
}
private void OnEntityDamage(int obj)
{
_audioService.PlayOneShot(AudioNames.Platformer, 2, AudioGroupType.SFX);
UnityEngine.Debug.Log(gameObject.name + " damaged");
animator.SetTrigger(OnHit);
}
protected override void Move()
{
CheckupDirection();
rigidbody2D.linearVelocityX = _directionRight ? 0.5f : -0.5f;
}
protected override void HandleFlipX() => spriteRenderer.flipX = rigidbody2D.linearVelocity.x > -0.01f;
private void CheckupDirection()
{
if (_directionRight)
{
if (!Physics2D.OverlapPoint((Vector2)transform.position + groundRight,
LayerMasks.Masks[LayerMaskType.PlatformerGround]))
_directionRight = false;
}
else if (!Physics2D.OverlapPoint((Vector2)transform.position + groundLeft,
LayerMasks.Masks[LayerMaskType.PlatformerGround]))
_directionRight = true;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4bb753139de944f69f426cbc1ec9ec92
timeCreated: 1771430576
@@ -0,0 +1,98 @@
using Code.Infrastructure.Configs;
using Code.Infrastructure.EventBus;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Entity
{
public interface IGameplayFreezeable : IGlobalSubscriber
{
void Freeze();
void UnFreeze();
}
public abstract class Entity : MonoBehaviour, IGameplayFreezeable
{
protected static readonly int VelocityY = Animator.StringToHash("VelocityY");
protected static readonly int VelocityX = Animator.StringToHash("VelocityX");
protected static readonly int OnGround = Animator.StringToHash("OnGround");
protected static readonly int OnHit = Animator.StringToHash("OnHit");
protected static readonly int OnDeath = Animator.StringToHash("OnDeath");
protected static readonly int Died = Animator.StringToHash("Died");
[SerializeField] protected new Rigidbody2D rigidbody2D;
[SerializeField] protected Animator animator;
[SerializeField] protected SpriteRenderer spriteRenderer;
[SerializeField] private Vector2 groundPoint;
private PlatformerEntityData _data; // TODO
protected bool isFreezed = true;
protected bool onGround;
private EventBus _eventBus;
private Vector2 _frozenVelocity;
public void SetData(PlatformerEntityData data)
{
_data = data;
}
[Inject]
private void Construct(EventBus eventBus)
{
_eventBus = eventBus;
_eventBus.Subscribe(this);
}
protected virtual void OnDestroy()
{
_eventBus.Unsubscribe(this);
}
public void Freeze()
{
_frozenVelocity = rigidbody2D.linearVelocity;
rigidbody2D.linearVelocity = Vector2.zero;
rigidbody2D.bodyType = RigidbodyType2D.Kinematic;
isFreezed = true;
}
public void UnFreeze()
{
rigidbody2D.linearVelocity = _frozenVelocity;
rigidbody2D.bodyType = RigidbodyType2D.Dynamic;
isFreezed = false;
}
protected virtual void Update()
{
if(isFreezed) return;
animator.SetFloat(VelocityX, rigidbody2D.linearVelocityX);
animator.SetFloat(VelocityY, rigidbody2D.linearVelocityY);
}
protected virtual void HandleFlipX() => spriteRenderer.flipX = rigidbody2D.linearVelocity.x < 0.01f;
protected virtual void FixedUpdate()
{
if(isFreezed) return;
onGround = CheckGround();
animator.SetBool(OnGround, onGround);
Move();
if(rigidbody2D.linearVelocity.x is > 0.01f or < -0.01f) HandleFlipX();
}
protected virtual bool CheckGround()
{
UnityEngine.Debug.DrawLine(transform.position,(Vector2)transform.position + groundPoint, Color.green);
return Physics2D.OverlapPoint((Vector2)transform.position + groundPoint, LayerMasks.Masks[LayerMaskType.PlatformerGround]);
}
protected abstract void Move();
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f4b8cd0fdb9e4c258acd1f5898f193d1
timeCreated: 1770905992
@@ -0,0 +1,24 @@
using System;
using Unity.Collections;
using UnityEngine;
namespace Code.Example.Platformer.Entity
{
public class EntityGUID : MonoBehaviour
{
[SerializeField, ReadOnly] private string _id = GenerateId();
public string Id => _id;
[ContextMenu("Reset Id")]
private void ResetId()
{
_id = GenerateId();
}
private static string GenerateId()
{
return Guid.NewGuid().ToString();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 597458061f454fbc9767838561ac16b6
timeCreated: 1773761214
@@ -0,0 +1,64 @@
using System;
using Code.Infrastructure.EventBus;
using Cysharp.Threading.Tasks;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Entity
{
public class EntityHealth : MonoBehaviour
{
private int _health;
private int _maxHealth;
private float _damageThreshold;
public void Setup(int maxHealth, float damageThreshold)
{
_maxHealth = maxHealth;
_health = maxHealth;
_damageThreshold = damageThreshold;
}
public bool IsDead { get; private set; }
private bool _isDamageable = true;
[Inject] private EventBus _eventBus;
public Action<int> OnEntityHeal;
public Action<int> OnEntityDamage;
public Action OnEntityDeath;
private async UniTaskVoid WaitThreshold()
{
await UniTask.WaitForSeconds(_damageThreshold);
_isDamageable = true;
}
public void GiveDamage(int damage)
{
if (!_isDamageable) return;
_health -= damage;
_isDamageable = false;
OnEntityDamage?.Invoke(_health);
if(_health <= 0)
{
IsDead = true;
OnEntityDeath?.Invoke();
}
WaitThreshold().Forget();
}
public void Heal(int heal)
{
if (IsDead) return;
if (_health + heal > _maxHealth) _health = _maxHealth;
else _health += heal;
OnEntityHeal?.Invoke(_health);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a3078030faef42b5bddd46a7c5c91d95
timeCreated: 1773058870
@@ -0,0 +1,127 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Code.Infrastructure.Configs;
using Code.Infrastructure.EventBus;
using Cysharp.Threading.Tasks;
using Reflex.Core;
using Reflex.Injectors;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using Object = UnityEngine.Object;
namespace Code.Example.Platformer.Entity
{
public interface IPlatformerEnemyFactory
{
UniTaskVoid WarmEnemy(PlatformerEntityType enemyType);
void ReleaseEnemy(PlatformerEntityType racerType);
void SpawnEnemy(
PlatformerEntityType enemyType,
Vector3 position);
}
public class PlatformerEnemyFactory : IPlatformerEnemyFactory, IDisposable
{
private EventBus _eventBus;
private string _enemyConfigsLabel;
private AsyncOperationHandle<IList<PlatformerEntitySettingsConfig>> _enemyConfigsHandle;
private Dictionary<PlatformerEntityType, AsyncOperationHandle<GameObject>> _enemyPrefabsHandle = new();
private Dictionary<PlatformerEntityType, PlatformerEntitySettingsConfig> _enemyConfigs;
public PlatformerEnemyFactory(IConfigLocator configLocator, EventBus eventBus)
{
_eventBus = eventBus;
_enemyConfigsLabel = configLocator.TryGetManyConfigAssetReferences<PlatformerEntitySettingsConfig>();
LoadConfigs().Forget();
}
private async UniTaskVoid LoadConfigs()
{
_enemyConfigsHandle = Addressables.LoadAssetsAsync<PlatformerEntitySettingsConfig>(_enemyConfigsLabel);
await _enemyConfigsHandle.ToUniTask();
_enemyConfigs = _enemyConfigsHandle.Result.ToDictionary(x => x.EntityData.type);
_eventBus.RaiseEvent<IPlatformerEnemyFactoryInitializedHandle>(x => x.PlatformerEnemyFactoryInitialized());
}
public async UniTaskVoid WarmEnemy(PlatformerEntityType enemyType)
{
if (enemyType == PlatformerEntityType.Player) return;
if (_enemyPrefabsHandle.ContainsKey(enemyType))
{
_eventBus.RaiseEvent<IPlatformerEnemyLoadedHandle>(x => x.PlatformerEnemyLoaded(enemyType, null));
return;
}
UnityEngine.Debug.LogWarning($"Enemy loaded {enemyType}");
_enemyPrefabsHandle.Add(enemyType,
Addressables.LoadAssetAsync<GameObject>(_enemyConfigs[enemyType].prefabReference));
await _enemyPrefabsHandle[enemyType].ToUniTask();
var entity = _enemyPrefabsHandle[enemyType].Result.GetComponent<Entity>();
_eventBus.RaiseEvent<IPlatformerEnemyLoadedHandle>(x => x.PlatformerEnemyLoaded(enemyType, entity));
}
public void ReleaseEnemy(PlatformerEntityType racerType)
{
_enemyPrefabsHandle[racerType].Release();
_enemyPrefabsHandle.Remove(racerType);
}
public void SpawnEnemy(
PlatformerEntityType enemyType,
Vector3 position)
{
if (enemyType == PlatformerEntityType.Player) return;
var gameObject = Object.Instantiate(_enemyPrefabsHandle[enemyType].Result, position, Quaternion.identity);
var entity = gameObject.GetComponent<Entity>();
entity.SetData(_enemyConfigs[enemyType].EntityData);
var health = gameObject.GetComponent<EntityHealth>();
health.Setup(_enemyConfigs[enemyType].EntityData.maxHealth, _enemyConfigs[enemyType].EntityData.damageRecieveThreshold);
GameObjectInjector.InjectObject(gameObject, Container.RootContainer);
_eventBus.RaiseEvent<IPlatformerEnemySpawnedHandle>(x=>x.PlatformerEnemySpawned(entity));
}
public void Dispose()
{
UnityEngine.Debug.LogWarning($"Enemies released");
foreach (var prefab in _enemyPrefabsHandle)
prefab.Value.Release();
_enemyPrefabsHandle.Clear();
_enemyConfigsHandle.Release();
}
}
public interface IPlatformerEnemyFactoryInitializedHandle : IGlobalSubscriber
{
public void PlatformerEnemyFactoryInitialized();
}
public interface IPlatformerEnemyLoadedHandle : IGlobalSubscriber
{
public void PlatformerEnemyLoaded(PlatformerEntityType type, Entity entity);
}
public interface IPlatformerEnemySpawnedHandle : IGlobalSubscriber
{
public void PlatformerEnemySpawned(Entity entity);
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 49fd97d8a6464d3e86d6ea215949d1f5
timeCreated: 1771423258
@@ -0,0 +1,39 @@
using System;
using Code.Infrastructure.Generators;
using UnityEngine.AddressableAssets;
using UnityEngine.Serialization;
namespace Code.Example.Platformer.Entity
{
[Serializable]
public struct PlatformerEntityData
{
public string name;
public float speed;
public float acceleration;
public int damage;
public PlatformerEntityType type;
public int maxHealth;
public float damageRecieveThreshold;
}
public enum PlatformerEntityType
{
Player,
Boar,
Bee,
Snail
}
[Config("Configs/Gameplay/Platformer/EntitySettings", true)]
public class PlatformerEntitySettings
{
[ToConfig] public PlatformerEntityData EntityData;
[ToConfig] public AssetReference prefabReference;
}
[Config("", false, true)]
public class PlatformerPlayerSettings
{ }
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6116fb7cbe9c49a9863b83f85375096a
timeCreated: 1773066580
@@ -0,0 +1,111 @@
using System;
using Code.Infrastructure.Configs;
using Code.Infrastructure.EventBus;
using Cysharp.Threading.Tasks;
using Reflex.Core;
using Reflex.Injectors;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using Object = UnityEngine.Object;
namespace Code.Example.Platformer.Entity
{
public interface IPlatformerPlayerFactory
{
UniTaskVoid WarmPlayer();
void ReleasePlayer();
void SpawnPlayer(Vector3 position);
}
public class PlatformerPlayerFactory : IPlatformerPlayerFactory, IDisposable
{
private EventBus _eventBus;
private AssetReference _playerConfigReference;
private AsyncOperationHandle<PlatformerEntitySettingsConfig> _playerConfigHandle;
private AsyncOperationHandle<GameObject> _playerPrefabHandle;
private PlatformerEntitySettingsConfig _playerConfig;
public PlatformerPlayerFactory(IConfigLocator configLocator, EventBus eventBus)
{
_eventBus = eventBus;
_playerConfigReference = configLocator.TryGetConfigAssetReference<PlatformerPlayerSettingsConfig>();
LoadConfigs().Forget();
}
private async UniTaskVoid LoadConfigs()
{
_playerConfigHandle = Addressables.LoadAssetAsync<PlatformerEntitySettingsConfig>(_playerConfigReference);
await _playerConfigHandle.ToUniTask();
_playerConfig = _playerConfigHandle.Result;
_eventBus.RaiseEvent<IPlatformerPlayerFactoryInitializedHandle>(x => x.PlatformerPlayerFactoryInitialized());
}
public async UniTaskVoid WarmPlayer()
{
if (_playerPrefabHandle.IsValid())
{
_eventBus.RaiseEvent<IPlatformerPlayerLoadedHandle>(x => x.PlatformerPlayerLoaded());
return;
}
UnityEngine.Debug.LogWarning($"Player loaded");
_playerPrefabHandle = Addressables.LoadAssetAsync<GameObject>(_playerConfig.prefabReference);
await _playerPrefabHandle.ToUniTask();
_eventBus.RaiseEvent<IPlatformerPlayerLoadedHandle>(x => x.PlatformerPlayerLoaded());
}
public void ReleasePlayer()
{
_playerPrefabHandle.Release();
}
public void SpawnPlayer(Vector3 position)
{
var player = Object.Instantiate(_playerPrefabHandle.Result, position, Quaternion.identity);
var racer = player.GetComponent<Entity>();
racer.SetData(_playerConfig.EntityData);
var health = player.GetComponent<EntityHealth>();
health.Setup(_playerConfig.EntityData.maxHealth, _playerConfig.EntityData.damageRecieveThreshold);
GameObjectInjector.InjectObject(player, Container.RootContainer); // TODO САМОЕ НЕСТАБИЛЬНОЕ ДЕРЬМО ВО ВСЕЛЕННОЙ КОНТЕЙНЕР ДОЛЖЕН БЫТЬ КОНТЕКСТНЫМ
_eventBus.RaiseEvent<IPlatformerPlayerSpawnedHandle>(
x => x.PlatformerPlayerSpawned(player.GetComponent<Entity>()));
}
public void Dispose()
{
UnityEngine.Debug.LogWarning($"Player released");
if(_playerPrefabHandle.IsValid()) _playerPrefabHandle.Release();
_playerConfigHandle.Release();
}
}
public interface IPlatformerPlayerFactoryInitializedHandle : IGlobalSubscriber
{
public void PlatformerPlayerFactoryInitialized();
}
public interface IPlatformerPlayerLoadedHandle : IGlobalSubscriber
{
public void PlatformerPlayerLoaded();
}
public interface IPlatformerPlayerSpawnedHandle : IGlobalSubscriber
{
public void PlatformerPlayerSpawned(Entity entity);
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 70a3deb8fbb44749b5aeea7b3997a459
timeCreated: 1773136472
@@ -0,0 +1,166 @@
using Code.Infrastructure.Audio;
using Code.Infrastructure.Configs;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.Input;
using Reflex.Attributes;
using UnityEngine;
using UnityEngine.InputSystem;
namespace Code.Example.Platformer.Entity
{
public class PlayerEntity : Entity
{
private static readonly int OnAttack = Animator.StringToHash("OnAttack");
private IInputService _inputService;
[Inject]
private void Construct(IInputService inputService, IAudioService audioService, EventBus eventBus)
{
_eventBus = eventBus;
_audioService = audioService;
_inputService = inputService;
_inputService.BindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Move,
MovementPerformed);
_inputService.BindActionCancelled((int)ActionMappings.Platformer, (int)PlatformerActions.Move,
MovementCancelled);
_inputService.BindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Jump, JumpPerformed);
_inputService.BindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Attack, AttackPerformed);
_inputService.BindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Sprint, SprintPerformed);
_inputService.BindActionCancelled((int)ActionMappings.Platformer, (int)PlatformerActions.Sprint, SprintCancelled);
//cameraFactory.GetCinematicCamera(CameraMode.Platformer).Follow = transform; , CameraFactory cameraFactory
}
protected override void OnDestroy()
{
base.OnDestroy();
if(!health.IsDead) UnbindControls();
}
private void UnbindControls()
{
_inputService.UnbindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Move,
MovementPerformed);
_inputService.UnbindActionCancelled((int)ActionMappings.Platformer, (int)PlatformerActions.Move,
MovementCancelled);
_inputService.UnbindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Jump, JumpPerformed);
_inputService.UnbindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Attack, AttackPerformed);
_inputService.UnbindActionPerformed((int)ActionMappings.Platformer, (int)PlatformerActions.Sprint, SprintPerformed);
_inputService.UnbindActionCancelled((int)ActionMappings.Platformer, (int)PlatformerActions.Sprint, SprintCancelled);
}
private float _acceleration = 1f;
protected override void Move()
{
rigidbody2D.linearVelocityX = _moveDirection.x * 2f * _acceleration;
}
private Vector2 _moveDirection;
private IAudioService _audioService;
private void MovementPerformed(InputAction.CallbackContext callbackContext) =>
_moveDirection = callbackContext.ReadValue<Vector2>();
private void MovementCancelled(InputAction.CallbackContext callbackContext) =>
_moveDirection = Vector2.zero;
private void JumpPerformed(InputAction.CallbackContext callbackContext)
{
if (!onGround) return;
rigidbody2D.AddForceY(100f);
_acceleration = 1f;
_audioService.PlayOneShot(AudioNames.Platformer, 6, AudioGroupType.SFX);
}
[SerializeField] private Vector2 attackOffset;
private void AttackPerformed(InputAction.CallbackContext callbackContext)
{
if (!onGround) return;
//
//
_audioService.PlayOneShot(AudioNames.Platformer, 1, AudioGroupType.SFX);
animator.SetBool(OnAttack, true);
}
public void CastAttack()
{
var damagedOnes =
Physics2D.OverlapPointAll((Vector2)transform.position + attackOffset, LayerMasks.Masks[LayerMaskType.PlatformerEnemy]);
if (damagedOnes == null) return;
foreach (var damaged in damagedOnes)
{
damaged.gameObject.GetComponent<EntityHealth>().GiveDamage(1);
}
}
private void SprintPerformed(InputAction.CallbackContext callbackContext)
{
if (!onGround) return;
//
_acceleration = 3f;
}
private void SprintCancelled(InputAction.CallbackContext callbackContext)
{
_acceleration = 1f;
}
public void AttackEnd() => animator.SetBool(OnAttack, false);
[SerializeField] private EntityHealth health;
private EventBus _eventBus;
private void Start()
{
health.OnEntityDeath = OnEntityDeath;
health.OnEntityDamage = OnEntityDamage;
}
private void OnEntityDamage(int obj)
{
UnityEngine.Debug.Log("Player damaged");
_audioService.PlayOneShot(AudioNames.Platformer, 8, AudioGroupType.SFX);
_audioService.ApplyParameter(
"PlatformerDamage",
1f,
0.5f,
() => _audioService.ApplyParameter(
"PlatformerDamage",
5000f,
1f));
_eventBus.RaiseEvent<IPlayerDamagedHandle>(x=>x.PlayerDamaged());
}
private void OnEntityDeath()
{
_moveDirection = Vector2.zero;
animator.SetBool(Died, true);
UnbindControls();
_eventBus.RaiseEvent<IPlayerDiedHandle>(x=>x.PlayerDied());
// Destroy(gameObject, 1f);
}
}
public interface IPlayerDiedHandle : IGlobalSubscriber
{
void PlayerDied();
}
public interface IPlayerDamagedHandle : IGlobalSubscriber
{
void PlayerDamaged();
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6d5abb60d772491cbad21bb3a3689054
timeCreated: 1770908525
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 50745373fe25451191a647170efe16d9
timeCreated: 1773067033
@@ -0,0 +1,14 @@
using Code.Infrastructure.EventBus;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Example.Platformer.Level
{
public class LevelEndTrigger : MonoBehaviour
{
[Inject] private EventBus _eventBus;
private void OnTriggerEnter2D(Collider2D other) =>
_eventBus.RaiseEvent<IPlayerReachedFinishHandle>(x=> x.PlayerReachedFinish());
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 8241eab603dc4d86bb4bac79c0cb9740
timeCreated: 1774254263
@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Code.Example.Platformer.Level
{
[Serializable]
public struct PlatformerFirstLevelData
{
[SerializeField] public List<Transform> enemySpawnPoints;
[SerializeField] public List<Transform> playerCheckPoints;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 23a7f57640a141dc866ceb89058c2f71
timeCreated: 1773067046
@@ -0,0 +1,28 @@
using Code.Example.Platformer.Level;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.SceneLoader;
using Reflex.Core;
using UnityEngine;
namespace Code.Example.Platformer
{
public class Platformer2SceneInstaller :
MonoBehaviour,
IInstaller
{
// [SerializeField] private PlatformerCanvas gameplayPlatformerCanvas;
[SerializeField] private PlatformerFirstLevelData firstLevelData;
public void InstallBindings(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterValue(firstLevelData);
containerBuilder.OnContainerBuilt += OnContainerBuild;
}
private void OnContainerBuild(Container container)
{
container.Resolve<EventBus>()
.RaiseEvent<IOnPlatformer2SceneLoadedHandler>(x => x.OnPlatformer2SceneInitialized(container));
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9f7e699014b54f2ca9338e1168db97e3
timeCreated: 1774253993
@@ -0,0 +1,28 @@
using Code.Example.Platformer.Level;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.SceneLoader;
using Reflex.Core;
using UnityEngine;
namespace Code.Example.Platformer
{
public class Platformer3SceneInstaller:
MonoBehaviour,
IInstaller
{
// [SerializeField] private PlatformerCanvas gameplayPlatformerCanvas;
[SerializeField] private PlatformerFirstLevelData firstLevelData;
public void InstallBindings(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterValue(firstLevelData);
containerBuilder.OnContainerBuilt += OnContainerBuild;
}
private void OnContainerBuild(Container container)
{
container.Resolve<EventBus>()
.RaiseEvent<IOnPlatformer3SceneLoadedHandler>(x => x.OnPlatformer3SceneInitialized(container));
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f8ad38e6ff54474d8df1d26cb18c2d09
timeCreated: 1774254152
@@ -0,0 +1,16 @@
using UnityEngine;
namespace Code.Example.Platformer
{
public class PlatformerSceneData : MonoBehaviour
{
public Transform Player;
public LevelData levelData;
}
[System.Serializable]
public struct LevelData
{
// public List<Transform> enemyPoints;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fdfd83cbde8f4fbd97802ac19f2f32e5
timeCreated: 1771423037
@@ -0,0 +1,59 @@
using System;
using Code.Example.Platformer.Entity;
using Code.Example.Platformer.Level;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.Loadings;
using Code.Infrastructure.SceneLoader;
using Reflex.Core;
using Reflex.Enums;
using UnityEngine;
using Resolution = Reflex.Enums.Resolution;
namespace Code.Example.Platformer
{
public class PlatformerEnemySceneInstaller :
MonoBehaviour,
IInstaller,
IPlatformerEnemyFactoryInitializedHandle,
IPlatformerPlayerFactoryInitializedHandle,
IDisposable
{
private Loading _sceneInit;
private Container _container;
private void LoadingComplete()
{
_container.Resolve<EventBus>()
.RaiseEvent<IOnPlatformerSceneLoadedHandler>(x => x.OnPlatformerSceneInitialized(_container));
}
public void InstallBindings(ContainerBuilder containerBuilder)
{
// Enemies
// Player
// Container
_sceneInit = new(3, LoadingComplete);
containerBuilder.Parent.Resolve<EventBus>().Subscribe(this);
containerBuilder.RegisterType(typeof(PlatformerEnemyFactory), new []{typeof(IPlatformerEnemyFactory)}, Lifetime.Scoped, Resolution.Eager);
containerBuilder.RegisterType(typeof(PlatformerPlayerFactory), new []{typeof(IPlatformerPlayerFactory)}, Lifetime.Scoped, Resolution.Eager);
containerBuilder.OnContainerBuilt += OnContainerBuild;
}
private void OnContainerBuild(Container container)
{
_container = container;
_sceneInit.DoProgress();
}
public void PlatformerEnemyFactoryInitialized() => _sceneInit.DoProgress();
public void PlatformerPlayerFactoryInitialized() => _sceneInit.DoProgress();
public void Dispose()
{
_container.Resolve<EventBus>().Unsubscribe(this);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0aa23aea61d74467889be39a550c9922
timeCreated: 1770736749
@@ -0,0 +1,297 @@
using Code.Example.Platformer.Entity;
using Code.Example.Platformer.Level;
using Code.Infrastructure.App;
using Code.Infrastructure.Audio;
using Code.Infrastructure.Camera;
using Code.Infrastructure.EventBus;
using Code.Infrastructure.Generators;
using Code.Infrastructure.Input;
using Code.Infrastructure.Loadings;
using Code.Infrastructure.SceneLoader;
using Code.Infrastructure.UI;
using Code.Infrastructure.UI.Panels;
using Reflex.Core;
using Unity.Cinemachine;
using UnityEngine.SceneManagement;
namespace Code.Example.Platformer
{
public interface IPlayerReachedFinishHandle : IGlobalSubscriber
{
void PlayerReachedFinish();
}
[State(typeof(AppStates),typeof(AppStateMachineContext))]
[StateRaisingEvent]
public partial class PlatformerState :
IOnPlatformerSceneLoadedHandler,
IOnPlatformer2SceneLoadedHandler,
IOnPlatformer3SceneLoadedHandler,
ICinematicMachineHandle,
IPlatformerEnemyLoadedHandle,
IPlatformerPlayerLoadedHandle,
IPlatformerPlayerSpawnedHandle,
IReadyToPlayHandle,
IPlayerReachedFinishHandle,
ILoadingPanelOpenedHandle,
ILoadingPanelClosedHandle,
IPlatformerEnemySpawnedHandle,
IPlayerDiedHandle
{
private IPlatformerEnemyFactory _enemyFactory;
private IPlatformerPlayerFactory _playerFactory;
private PlatformerFirstLevelData _currentLevelData;
private Entity.Entity _playerEntity;
private IAudioFactory _audioFactory;
private Container _fixdamncontainer;
private Loading _loading;
public PlatformerState(AppStateMachineContext context, EventBus eventBus) : base(context, eventBus)
{
}
public override AppStates myState => AppStates.Platformer;
protected override void OnEnterState()
{
EventBus.Subscribe(this);
// LoadingScreen
_loading = new(1, StartInitialLoading);
Context.UIService.OpenPanel(UIPanelType.Loading);
}
protected override void OnExitState()
{
_enemyFactory.ReleaseEnemy(PlatformerEntityType.Bee);
_enemyFactory.ReleaseEnemy(PlatformerEntityType.Snail);
_enemyFactory.ReleaseEnemy(PlatformerEntityType.Boar);
_playerFactory.ReleasePlayer();
Context.CameraFactory.ReleaseCinemachineCamera(CameraMode.Platformer);
Context.InputService.DisableMap(ActionMappings.Platformer);
Context.AudioService.ChangeGroupVolume(
AudioGroupType.Music,
0f,
0.5f,
ReleasePlatformerMusic);
EventBus.Unsubscribe(this);
}
private void ReleasePlatformerMusic()
{
Context.AudioService.CancelMusic(AudioNames.Platformer, 0);
Context.AudioService.CancelMusic(AudioNames.Platformer, 7);
_audioFactory.ReleaseAudios(AudioNames.Platformer);
}
private void StartInitialLoading()
{
// Dependency scene
// Level scene
// Camera
// Enemy snail
// Enemy bee
// Enemy boar
// Player
// Music
_loading = new(8, InitialLoadingCompleted);
Context.AudioService.ChangeGroupVolume(
AudioGroupType.Music,
1f,
0.5f,
() => Context.AudioService.PlayRepeatedly(AudioNames.Platformer,0, AudioGroupType.Music));
Context.SceneLoader.LoadSceneAsync(SceneId.Platformer, LoadSceneMode.Single).Forget();
Context.InputService.EnableMap(ActionMappings.Platformer);
Context.CameraFactory.LoadCinemachineCamera(CameraMode.Platformer).Forget();
}
private void InitialLoadingCompleted()
{
_loading = new Loading(2, CloseLevel1LoadingScreen);
_enemyFactory.SpawnEnemy(PlatformerEntityType.Snail, _currentLevelData.enemySpawnPoints[0].position);
_playerFactory.SpawnPlayer(_currentLevelData.playerCheckPoints[0].position);
}
private void CloseLevel1LoadingScreen()
{
Context.UIService.ClosePanel(UIPanelType.Loading);
EventBus.RaiseEvent<IGameplayFreezeable>(x=> x.UnFreeze());
}
public void CinemachineLoaded(CinemachineCamera cinemachineCamera)
{
_loading.DoProgress();
}
public void PlatformerEnemyLoaded(PlatformerEntityType type, Entity.Entity entity)
{
if(entity) _loading.DoProgress();
}
public void PlatformerPlayerLoaded()
{
_loading.DoProgress();
}
public void PlatformerPlayerSpawned(Entity.Entity entity)
{
_playerEntity = entity;
Context.CameraFactory.GetCinematicCamera(CameraMode.Platformer).Follow = entity.transform;
_loading.DoProgress();
}
public void PlatformerEnemySpawned(Entity.Entity entity)
{
_loading.DoProgress();
}
public void OnReadyToPlay(AudioNames groupName)
{
if(groupName == AudioNames.Platformer) _loading.DoProgress();
}
public void PlayerReachedFinish()
{
_loading = new Loading(1, StartLevel2Loading);
Context.AudioService.ChangeGroupVolume(
AudioGroupType.Music,
0f,
0.5f,
() => Context.AudioService.CancelMusic(AudioNames.Platformer, 0));
Context.UIService.OpenPanel(UIPanelType.Loading);
EventBus.RaiseEvent<IGameplayFreezeable>(x=> x.Freeze());
SceneManager.MoveGameObjectToScene(_playerEntity.gameObject, Context.SceneLoader.GetScene(SceneId.Platformer));
}
private void StartLevel2Loading()
{
_loading = new(2, StartLevel2Gameplay);
Context.SceneLoader.UnloadSceneAsync(SceneId.Platformer2).Forget();
Context.SceneLoader.LoadSceneAsync(SceneId.Platformer3, LoadSceneMode.Additive).Forget();
}
private void StartLevel2Gameplay()
{
Context.AudioService.ChangeGroupVolume(
AudioGroupType.Music,
1f,
0.5f,
() => Context.AudioService.PlayRepeatedly(AudioNames.Platformer,7, AudioGroupType.Music));
Context.UIService.ClosePanel(UIPanelType.Loading);
EventBus.RaiseEvent<IGameplayFreezeable>(x=> x.UnFreeze());
}
public void OnPlatformerSceneLoaded()
{
Context.SceneLoader.LoadSceneAsync(SceneId.Platformer2, LoadSceneMode.Additive).Forget();
}
public void OnPlatformerSceneInitialized(Container container)
{
_fixdamncontainer = container;
_audioFactory = container.Resolve<IAudioFactory>();
_audioFactory.LoadAudioClips(AudioNames.Platformer);
_enemyFactory = container.Resolve<IPlatformerEnemyFactory>();
_enemyFactory.WarmEnemy(PlatformerEntityType.Bee);
_enemyFactory.WarmEnemy(PlatformerEntityType.Boar);
_enemyFactory.WarmEnemy(PlatformerEntityType.Snail);
_playerFactory = container.Resolve<IPlatformerPlayerFactory>();
_playerFactory.WarmPlayer();
_loading.DoProgress();
}
public void OnPlatformer2SceneLoaded()
{
SceneManager.SetActiveScene(Context.SceneLoader.GetScene(SceneId.Platformer2));
}
public void OnPlatformer2SceneInitialized(Container container)
{
_currentLevelData = container.Resolve<PlatformerFirstLevelData>();
_loading.DoProgress();
}
public void OnPlatformer3SceneLoaded()
{
SceneManager.SetActiveScene(Context.SceneLoader.GetScene(SceneId.Platformer3));
_enemyFactory.SpawnEnemy(PlatformerEntityType.Boar, _currentLevelData.enemySpawnPoints[0].position);
_playerEntity.transform.position = _currentLevelData.playerCheckPoints[0].position;
_loading.DoProgress();
}
public void OnPlatformer3SceneInitialized(Container container)
{
_currentLevelData = container.Resolve<PlatformerFirstLevelData>();
_loading.DoProgress();
}
public void LoadingPanelOpened(UIPanel panel)
{
_loading.DoProgress();
}
public void LoadingPanelClosed()
{
}
public void PlayerDied()
{
_loading = new(2, EndGameLoading);
Context.AudioService.ChangeGroupVolume(
AudioGroupType.Music,
0f,
0.5f,
OffTheMusic);
Context.UIService.OpenPanel(UIPanelType.Loading);
}
private void OffTheMusic()
{
ReleasePlatformerMusic();
_loading.DoProgress();
}
private void EndGameLoading()
{
Context.StateMachine.SwitchState(AppStates.MainMenu)
.AllowStateTransition(AppStates.Platformer);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 823e3299b52c48a8869581e7c27ef9a8
timeCreated: 1770736342
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b5da862624174a36ac3ace9058b79513
timeCreated: 1770737039
@@ -0,0 +1,10 @@
using UnityEngine;
namespace Code.Example.Platformer.UI
{
public class PlatformerCanvas : MonoBehaviour
{
[SerializeField] private Canvas gameplayPlatformerCanvas;
public Canvas GameplayPlatformerCanvas => gameplayPlatformerCanvas;
}
}
Loaded 100 of 1327 files, more files were not shown because too many files have changed in this diff. Show more