diff --git a/.idea/.idea.SpringJam2026/.idea/.gitignore b/.idea/.idea.SpringJam2026/.idea/.gitignore
new file mode 100644
index 0000000..b832d32
--- /dev/null
+++ b/.idea/.idea.SpringJam2026/.idea/.gitignore
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/modules.xml
+/contentModel.xml
+/projectSettingsUpdater.xml
+/.idea.SpringJam2026.iml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.idea.SpringJam2026/.idea/encodings.xml b/.idea/.idea.SpringJam2026/.idea/encodings.xml
new file mode 100644
index 0000000..df87cf9
--- /dev/null
+++ b/.idea/.idea.SpringJam2026/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.SpringJam2026/.idea/indexLayout.xml b/.idea/.idea.SpringJam2026/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/.idea/.idea.SpringJam2026/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.SpringJam2026/.idea/vcs.xml b/.idea/.idea.SpringJam2026/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/.idea.SpringJam2026/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Audio.meta b/Assets/Audio.meta
new file mode 100644
index 0000000..f667c47
--- /dev/null
+++ b/Assets/Audio.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b10a72e91499a049a7d1cb5eaaff22a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Audio/Mixer.mixer b/Assets/Audio/Mixer.mixer
new file mode 100644
index 0000000..7fb4bed
--- /dev/null
+++ b/Assets/Audio/Mixer.mixer
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!244 &-3949334563703725858
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 6a64b31f7106fd649ac1d09ffb9c1de3
+ m_EffectName: Attenuation
+ m_MixLevel: c61c9ef126882764b9f53fe11a46279b
+ m_Parameters: []
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!243 &-1895876000600688667
+AudioMixerGroupController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SFX
+ m_AudioMixer: {fileID: 24100000}
+ m_GroupID: a4f2a28be87e0364094bb1d7a39c569b
+ m_Children: []
+ m_Volume: e5edf156b5583234ea186613db89f0a9
+ m_Pitch: 585f7da2b5a100544a7a069ed7e8c620
+ m_Send: 00000000000000000000000000000000
+ m_Effects:
+ - {fileID: 7885612715040600379}
+ m_UserColorIndex: 0
+ m_Mute: 0
+ m_Solo: 0
+ m_BypassEffects: 0
+--- !u!241 &24100000
+AudioMixerController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Mixer
+ m_OutputGroup: {fileID: 0}
+ m_MasterGroup: {fileID: 24300002}
+ m_Snapshots:
+ - {fileID: 24500006}
+ m_StartSnapshot: {fileID: 24500006}
+ m_SuspendThreshold: -80
+ m_EnableSuspend: 1
+ m_UpdateMode: 0
+ m_ExposedParameters: []
+ m_AudioMixerGroupViews:
+ - guids:
+ - a91a32fc69b0ddf42ab6e369c317ef9f
+ - 7bcc70d03de667b46851631a6b3895bf
+ - a4f2a28be87e0364094bb1d7a39c569b
+ name: View
+ m_CurrentViewIndex: 0
+ m_TargetSnapshot: {fileID: 24500006}
+--- !u!243 &24300002
+AudioMixerGroupController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Master
+ m_AudioMixer: {fileID: 24100000}
+ m_GroupID: a91a32fc69b0ddf42ab6e369c317ef9f
+ m_Children:
+ - {fileID: 8781117415510498633}
+ - {fileID: -1895876000600688667}
+ m_Volume: fd947e8d92a1f6b4db6d36fd6004c5b1
+ m_Pitch: f8089fda1f3107042b8fe422b3418f30
+ m_Send: 00000000000000000000000000000000
+ m_Effects:
+ - {fileID: 24400004}
+ m_UserColorIndex: 0
+ m_Mute: 0
+ m_Solo: 0
+ m_BypassEffects: 0
+--- !u!244 &24400004
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 6ac6070f73647d1488c0cf372859549c
+ m_EffectName: Attenuation
+ m_MixLevel: 59c004ab3e6193a459b965ab98ad8fd9
+ m_Parameters: []
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!245 &24500006
+AudioMixerSnapshotController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Snapshot
+ m_AudioMixer: {fileID: 24100000}
+ m_SnapshotID: 1c7da3d91b34da5439d3d7e45150a919
+ m_FloatValues:
+ 1d26ff9ed06e75b4dbe006ce579a9a18: -30.32013
+ m_TransitionOverrides: {}
+--- !u!244 &7885612715040600379
+AudioMixerEffectController:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_EffectID: 3efa35ece7689ca4fbfba80fc35d9169
+ m_EffectName: Attenuation
+ m_MixLevel: b61196c75a6135a4b9e949de3a6840d3
+ m_Parameters: []
+ m_SendTarget: {fileID: 0}
+ m_EnableWetMix: 0
+ m_Bypass: 0
+--- !u!243 &8781117415510498633
+AudioMixerGroupController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BGM
+ m_AudioMixer: {fileID: 24100000}
+ m_GroupID: 7bcc70d03de667b46851631a6b3895bf
+ m_Children: []
+ m_Volume: 1d26ff9ed06e75b4dbe006ce579a9a18
+ m_Pitch: bfff2be80435e874394a9eef89ad61ea
+ m_Send: 00000000000000000000000000000000
+ m_Effects:
+ - {fileID: -3949334563703725858}
+ m_UserColorIndex: 0
+ m_Mute: 0
+ m_Solo: 0
+ m_BypassEffects: 0
diff --git a/Assets/Audio/Mixer.mixer.meta b/Assets/Audio/Mixer.mixer.meta
new file mode 100644
index 0000000..d60c49f
--- /dev/null
+++ b/Assets/Audio/Mixer.mixer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b8f5fa5f6f2c53443a6d2fc322b400eb
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 24100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Audio/Tracks.meta b/Assets/Audio/Tracks.meta
new file mode 100644
index 0000000..adbd90b
--- /dev/null
+++ b/Assets/Audio/Tracks.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6e662f100adebe44a918678dcdf7e161
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/Bootstrap.unity b/Assets/Scenes/Bootstrap.unity
new file mode 100644
index 0000000..4c2613f
--- /dev/null
+++ b/Assets/Scenes/Bootstrap.unity
@@ -0,0 +1,459 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &1327356647
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1327356648}
+ - component: {fileID: 1327356650}
+ - component: {fileID: 1327356649}
+ m_Layer: 0
+ m_Name: SFX
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1327356648
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327356647}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1327356649
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327356647}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3aa11a50d65aa9c4686dd3b7f2a220b8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Management.SFX
+ maxActiveClips: 3
+--- !u!82 &1327356650
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1327356647}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: -1895876000600688667, guid: b8f5fa5f6f2c53443a6d2fc322b400eb, type: 2}
+ m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
+ m_PlayOnAwake: 0
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 0
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!1 &1671688483
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1671688485}
+ - component: {fileID: 1671688484}
+ m_Layer: 0
+ m_Name: Services
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1671688484
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671688483}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f9cdc7ee755e99449aa3018a2d23390c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Management.Services
+ bgm: {fileID: 1755353617}
+ sfx: {fileID: 1327356649}
+--- !u!4 &1671688485
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671688483}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1755353616
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1755353619}
+ - component: {fileID: 1755353618}
+ - component: {fileID: 1755353617}
+ m_Layer: 0
+ m_Name: BGM
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1755353617
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1755353616}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 55abe2d11904a494eb58403d6d7abfc1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Management.BGM
+--- !u!82 &1755353618
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1755353616}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 8781117415510498633, guid: b8f5fa5f6f2c53443a6d2fc322b400eb, type: 2}
+ m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
+ m_PlayOnAwake: 0
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 0
+ DopplerLevel: 0
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 1
+ BypassListenerEffects: 0
+ BypassReverbZones: 1
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!4 &1755353619
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1755353616}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1671688485}
+ - {fileID: 1755353619}
+ - {fileID: 1327356648}
diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/Bootstrap.unity.meta
similarity index 100%
rename from Assets/Scenes/SampleScene.unity.meta
rename to Assets/Scenes/Bootstrap.unity.meta
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
deleted file mode 100644
index 7b420f6..0000000
--- a/Assets/Scenes/SampleScene.unity
+++ /dev/null
@@ -1,352 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 3
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 0
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &519420028
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 519420032}
- - component: {fileID: 519420031}
- - component: {fileID: 519420029}
- - component: {fileID: 519420030}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &519420029
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 519420028}
- m_Enabled: 1
---- !u!114 &519420030
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 519420028}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_RenderShadows: 1
- m_RequiresDepthTextureOption: 2
- m_RequiresOpaqueTextureOption: 2
- m_CameraType: 0
- m_Cameras: []
- m_RendererIndex: -1
- m_VolumeLayerMask:
- serializedVersion: 2
- m_Bits: 1
- m_VolumeTrigger: {fileID: 0}
- m_RenderPostProcessing: 0
- m_Antialiasing: 0
- m_AntialiasingQuality: 2
- m_StopNaN: 0
- m_Dithering: 0
- m_ClearDepth: 1
- m_AllowXRRendering: 1
- m_RequiresDepthTexture: 0
- m_RequiresColorTexture: 0
- m_Version: 2
---- !u!20 &519420031
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 519420028}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 2
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 34
- orthographic: 1
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 0
- m_HDR: 1
- m_AllowMSAA: 0
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 0
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &519420032
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 519420028}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &619394800
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 619394802}
- - component: {fileID: 619394801}
- m_Layer: 0
- m_Name: Global Light 2D
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &619394801
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 619394800}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_ComponentVersion: 1
- m_LightType: 4
- m_BlendStyleIndex: 0
- m_FalloffIntensity: 0.5
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_Intensity: 1
- m_LightVolumeIntensity: 1
- m_LightVolumeIntensityEnabled: 0
- m_ApplyToSortingLayers: 00000000
- m_LightCookieSprite: {fileID: 0}
- m_DeprecatedPointLightCookieSprite: {fileID: 0}
- m_LightOrder: 0
- m_OverlapOperation: 0
- m_NormalMapDistance: 3
- m_NormalMapQuality: 2
- m_UseNormalMap: 0
- m_ShadowIntensityEnabled: 0
- m_ShadowIntensity: 0.75
- m_ShadowVolumeIntensityEnabled: 0
- m_ShadowVolumeIntensity: 0.75
- m_Vertices:
- - position: {x: 0.9985302, y: 0.9985302, z: 0}
- color: {r: 0.70710677, g: 0.70710677, b: 0, a: 0}
- uv: {x: 0, y: 0}
- - position: {x: 0.9985302, y: 0.9985302, z: 0}
- color: {r: 0, g: 0, b: 0, a: 1}
- uv: {x: 0, y: 0}
- - position: {x: -0.9985302, y: 0.9985302, z: 0}
- color: {r: -0.70710677, g: 0.70710677, b: 0, a: 0}
- uv: {x: 0, y: 0}
- - position: {x: -0.9985302, y: 0.9985302, z: 0}
- color: {r: 0, g: 0, b: 0, a: 1}
- uv: {x: 0, y: 0}
- - position: {x: -0.99853003, y: -0.9985304, z: 0}
- color: {r: -0.70710665, g: -0.7071069, b: 0, a: 0}
- uv: {x: 0, y: 0}
- - position: {x: -0.99853003, y: -0.9985304, z: 0}
- color: {r: 0, g: 0, b: 0, a: 1}
- uv: {x: 0, y: 0}
- - position: {x: 0.99853003, y: -0.9985304, z: 0}
- color: {r: 0.70710665, g: -0.7071069, b: 0, a: 0}
- uv: {x: 0, y: 0}
- - position: {x: 0.99853003, y: -0.9985304, z: 0}
- color: {r: 0, g: 0, b: 0, a: 1}
- uv: {x: 0, y: 0}
- - position: {x: 0, y: 0, z: 0}
- color: {r: 0, g: 0, b: 0, a: 1}
- uv: {x: 0, y: 0}
- m_Triangles: 030001000800020000000100030002000100050003000800040002000300050004000300070005000800060004000500070006000500010007000800000006000700010000000700
- m_LocalBounds:
- m_Center: {x: 0, y: -0.00000011920929, z: 0}
- m_Extent: {x: 0.9985302, y: 0.99853027, z: 0}
- m_PointLightInnerAngle: 360
- m_PointLightOuterAngle: 360
- m_PointLightInnerRadius: 0
- m_PointLightOuterRadius: 1
- m_ShapeLightParametricSides: 5
- m_ShapeLightParametricAngleOffset: 0
- m_ShapeLightParametricRadius: 1
- m_ShapeLightFalloffSize: 0.5
- m_ShapeLightFalloffOffset: {x: 0, y: 0}
- m_ShapePath:
- - {x: -0.5, y: -0.5, z: 0}
- - {x: 0.5, y: -0.5, z: 0}
- - {x: 0.5, y: 0.5, z: 0}
- - {x: -0.5, y: 0.5, z: 0}
---- !u!4 &619394802
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 619394800}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta
new file mode 100644
index 0000000..1ab0266
--- /dev/null
+++ b/Assets/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f51bce1c67186040bf8484ffe4dcb6b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Management.meta b/Assets/Scripts/Management.meta
new file mode 100644
index 0000000..43489be
--- /dev/null
+++ b/Assets/Scripts/Management.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5148c566cee97d24bb58b772b79bdd61
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Management/BGM.cs b/Assets/Scripts/Management/BGM.cs
new file mode 100644
index 0000000..63b498e
--- /dev/null
+++ b/Assets/Scripts/Management/BGM.cs
@@ -0,0 +1,81 @@
+using System.Collections;
+using UnityEngine;
+
+namespace Management
+{
+ [RequireComponent(typeof(AudioSource))]
+ public class BGM : MonoBehaviour
+ {
+ private static BGM _instance;
+ private AudioSource _audioSource;
+ private float _originalVolume;
+
+ public void FadeIn(AudioClip clip, float t = 1f)
+ {
+ if (clip == null)
+ {
+ Debug.LogWarning("BGM: Selected clip is null");
+ return;
+ }
+
+ StopAllCoroutines();
+ if (t <= 0)
+ {
+ _audioSource.Stop();
+ _audioSource.clip = clip;
+ _audioSource.Play();
+ _audioSource.volume = _originalVolume;
+ }
+ else
+ {
+ StartCoroutine(FadeInRoutine(clip, t));
+ }
+ }
+
+ private IEnumerator FadeInRoutine(AudioClip clip, float t)
+ {
+ var timer = 0f;
+ var startVolume = _audioSource.volume;
+ var fadeInTarget = _audioSource.isPlaying ? t / 2f : t;
+
+ if (_audioSource.isPlaying)
+ {
+ while (timer < t / 2f)
+ {
+ timer += Time.deltaTime;
+ _audioSource.volume = Mathf.Lerp(startVolume, 0f, timer / (t / 2f));
+ yield return null;
+ }
+
+ _audioSource.volume = 0f;
+ timer = 0f;
+ }
+
+ _audioSource.Stop();
+ _audioSource.clip = clip;
+ _audioSource.Play();
+
+ while (timer < fadeInTarget)
+ {
+ timer += Time.deltaTime;
+ _audioSource.volume = Mathf.Lerp(0f, _originalVolume, timer / fadeInTarget);
+ yield return null;
+ }
+ _audioSource.volume = _originalVolume;
+ }
+
+ private void Awake()
+ {
+ if (_instance != null && _instance != this)
+ {
+ Destroy(gameObject);
+ return;
+ }
+
+ _instance = this;
+ _audioSource = GetComponent();
+ _originalVolume = _audioSource.volume;
+ DontDestroyOnLoad(gameObject);
+ }
+ }
+}
diff --git a/Assets/Scripts/Management/BGM.cs.meta b/Assets/Scripts/Management/BGM.cs.meta
new file mode 100644
index 0000000..890e2ae
--- /dev/null
+++ b/Assets/Scripts/Management/BGM.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 55abe2d11904a494eb58403d6d7abfc1
\ No newline at end of file
diff --git a/Assets/Scripts/Management/SFX.cs b/Assets/Scripts/Management/SFX.cs
new file mode 100644
index 0000000..89b3df0
--- /dev/null
+++ b/Assets/Scripts/Management/SFX.cs
@@ -0,0 +1,49 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Management
+{
+ [RequireComponent(typeof(AudioSource))]
+ public class SFX : MonoBehaviour
+ {
+ [SerializeField] private int maxActiveClips;
+
+ private static SFX _instance;
+ private AudioSource _audioSource;
+ private Dictionary _clipsInProgress;
+
+ public void PlayOneShot(AudioClip clip, float volume = 1f)
+ {
+ if (clip == null) return;
+ if (!_clipsInProgress.TryAdd(clip, 1))
+ {
+ if (_clipsInProgress[clip] >= maxActiveClips) return;
+ _clipsInProgress[clip]++;
+ }
+
+ _audioSource.PlayOneShot(clip, volume);
+ StartCoroutine(ClearClip(clip));
+ }
+
+ private IEnumerator ClearClip(AudioClip clip)
+ {
+ yield return new WaitForSeconds(clip.length);
+ _clipsInProgress[clip]--;
+ if (_clipsInProgress[clip] <= 0) _clipsInProgress.Remove(clip);
+ }
+
+ private void Awake()
+ {
+ if (_instance != null && _instance != this)
+ {
+ Destroy(gameObject);
+ return;
+ }
+
+ _instance = this;
+ DontDestroyOnLoad(gameObject);
+ _audioSource = GetComponent();
+ }
+ }
+}
diff --git a/Assets/Scripts/Management/SFX.cs.meta b/Assets/Scripts/Management/SFX.cs.meta
new file mode 100644
index 0000000..8d806a9
--- /dev/null
+++ b/Assets/Scripts/Management/SFX.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 3aa11a50d65aa9c4686dd3b7f2a220b8
\ No newline at end of file
diff --git a/Assets/Scripts/Management/Services.cs b/Assets/Scripts/Management/Services.cs
new file mode 100644
index 0000000..e60fe09
--- /dev/null
+++ b/Assets/Scripts/Management/Services.cs
@@ -0,0 +1,26 @@
+using UnityEngine;
+
+namespace Management
+{
+ public class Services : MonoBehaviour
+ {
+ public static Services Instance { get; private set; }
+ public BGM BGM => bgm;
+ public SFX SFX => sfx;
+
+ [SerializeField] private BGM bgm;
+ [SerializeField] private SFX sfx;
+
+ private void Awake()
+ {
+ if (Instance != null && Instance != this)
+ {
+ Destroy(gameObject);
+ return;
+ }
+
+ Instance = this;
+ DontDestroyOnLoad(gameObject);
+ }
+ }
+}
diff --git a/Assets/Scripts/Management/Services.cs.meta b/Assets/Scripts/Management/Services.cs.meta
new file mode 100644
index 0000000..1d084a1
--- /dev/null
+++ b/Assets/Scripts/Management/Services.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: f9cdc7ee755e99449aa3018a2d23390c
\ No newline at end of file
diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset
index d712d2d..aa5a77e 100644
--- a/ProjectSettings/EditorBuildSettings.asset
+++ b/ProjectSettings/EditorBuildSettings.asset
@@ -6,7 +6,7 @@ EditorBuildSettings:
serializedVersion: 2
m_Scenes:
- enabled: 1
- path: Assets/Scenes/SampleScene.unity
+ path: Assets/Scenes/Bootstrap.unity
guid: 8c9cfa26abfee488c85f1582747f6a02
m_configObjects:
com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json
new file mode 100644
index 0000000..ede5887
--- /dev/null
+++ b/ProjectSettings/SceneTemplateSettings.json
@@ -0,0 +1,121 @@
+{
+ "templatePinStates": [],
+ "dependencyTypeInfos": [
+ {
+ "userAdded": false,
+ "type": "UnityEngine.AnimationClip",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.Animations.AnimatorController",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.AnimatorOverrideController",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.Audio.AudioMixerController",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.ComputeShader",
+ "defaultInstantiationMode": 1
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Cubemap",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.GameObject",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.LightingDataAsset",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.LightingSettings",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Material",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.MonoScript",
+ "defaultInstantiationMode": 1
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.PhysicsMaterial",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.PhysicsMaterial2D",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Rendering.VolumeProfile",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEditor.SceneAsset",
+ "defaultInstantiationMode": 1
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Shader",
+ "defaultInstantiationMode": 1
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.ShaderVariantCollection",
+ "defaultInstantiationMode": 1
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Texture",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Texture2D",
+ "defaultInstantiationMode": 0
+ },
+ {
+ "userAdded": false,
+ "type": "UnityEngine.Timeline.TimelineAsset",
+ "defaultInstantiationMode": 0
+ }
+ ],
+ "defaultDependencyTypeInfo": {
+ "userAdded": false,
+ "type": "",
+ "defaultInstantiationMode": 1
+ },
+ "newSceneOverride": 0
+}
\ No newline at end of file