Compare commits
2 Commits
b61b79c82e
...
67910bf6c8
| Author | SHA1 | Date | |
|---|---|---|---|
| 67910bf6c8 | |||
| 45d3fe8c21 |
BIN
.gemini-workspace-history/session-2026-06-04-23-01.json.gz
Normal file
68
.idea/.idea.HALLUCINATE/.idea/workspace.xml
generated
@@ -4,20 +4,79 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f9183c68-daf0-43b8-be4c-fad79983f91b" name="Changes" comment="" />
|
||||
<list default="true" id="f9183c68-daf0-43b8-be4c-fad79983f91b" name="Changes" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.HALLUCINATE/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.HALLUCINATE/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/POLY STYLE - Fantasy Treasure Chest.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/Fusion.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/Fusion/Assemblies.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/FusionDemos.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/FusionMenu.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/PhotonLibs.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Photon/PhotonLibs/netstandard2.0.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Complete Balloons Set.pdf" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Complete Balloons Set.pdf.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Demo.unity" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Demo.unity.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloon1.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloon1.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloon2.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloon2.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloonLong1.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloonLong1.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloonLong2.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Pixel/PixelBalloonLong2.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_1.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_1.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_10.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_10.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_2.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_2.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_3.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_3.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_4.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_4.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_5.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_5.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_6.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_6.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_7.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_7.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_8.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_8.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_9.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Realistic/balloon_9.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_heart1.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_heart1.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_heart2.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_heart2.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_star1.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_star1.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_star2.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Qookie Games/Balloons Free/Shapes/balloon_star2.png.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Camera/vThirdPersonCamera.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Camera/vThirdPersonCamera.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Camera/vThirdPersonCameraState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Camera/vThirdPersonCameraState.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/CharacterController/vThirdPersonInput.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/CharacterController/vThirdPersonInput.cs" 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="EmbeddingIndexingInfo">
|
||||
<option name="cachedIndexableFilesCount" value="80" />
|
||||
<option name="cachedIndexableFilesCount" value="76" />
|
||||
<option name="fileBasedEmbeddingIndicesEnabled" value="true" />
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="file://$PROJECT_DIR$/Assets/InventoryData.json" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Audio/AudioManager.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/Network/BasicSpawner.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/UI/LobbyController.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
@@ -25,6 +84,7 @@
|
||||
<setting file="file://$PROJECT_DIR$/Assets/UI/MainPanelSettings.asset" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.render-pipelines.core@04ab0eefa0c3/Editor/Utilities/LocalizationHelper.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.timeline@7f8b2fb101b6/Editor/Localization/Localization.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.ugui@bb329a87fcdc/Runtime/UGUI/EventSystem/EventSystem.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.wooshii.foldericons@201a18f355d3/FolderIcons/Editor/FolderIcons.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="McpProjectServerCommands">
|
||||
@@ -95,7 +155,7 @@
|
||||
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||
<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">
|
||||
<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" />
|
||||
@@ -106,7 +166,6 @@
|
||||
<option name="selectedOptions">
|
||||
<list />
|
||||
</option>
|
||||
<option name="useMixedMode" value="false" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Attach to" type="UnityDevicePlayer" factoryName="UnityAttachToDevicePlayer">
|
||||
@@ -172,7 +231,6 @@
|
||||
<workItem from="1780364354282" duration="4357000" />
|
||||
<workItem from="1780409218377" duration="9852000" />
|
||||
<workItem from="1780494322686" duration="643000" />
|
||||
<workItem from="1780565492235" duration="309000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
||||
75
Assets/InventoryData.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"itemReferences": [
|
||||
{
|
||||
"amount": 1,
|
||||
"id": 10,
|
||||
"attributes": [
|
||||
{
|
||||
"name": 2,
|
||||
"value": 36,
|
||||
"isOpen": false,
|
||||
"isBool": false
|
||||
},
|
||||
{
|
||||
"name": 6,
|
||||
"value": 8,
|
||||
"isOpen": false,
|
||||
"isBool": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"equipAreas": [
|
||||
{
|
||||
"slotsData": [
|
||||
{
|
||||
"hasItem": true,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
}
|
||||
],
|
||||
"indexOfSelectedSlot": 0
|
||||
},
|
||||
{
|
||||
"slotsData": [
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
}
|
||||
],
|
||||
"indexOfSelectedSlot": 0
|
||||
},
|
||||
{
|
||||
"slotsData": [
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
},
|
||||
{
|
||||
"hasItem": false,
|
||||
"indexOfItem": 0
|
||||
}
|
||||
],
|
||||
"indexOfSelectedSlot": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea7d09efcbeafdd4690e2b2b3236d043
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
guid: 760274f8c30c80848a1fb1c5dc64a2d5
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 921c5d99d764f7e4184745c7ab001a30
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c862e7051fa82514e8cb688cd9667d93
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed59a5af28246c141afd7603a3a94af3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2fdd0acc5f279f54299e93076a7ad92d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: da4f77c9ec1cc314ca268a68c1441354
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2c2915ce8b97ca744bfd4f5ea2471af1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f934eecf73f7e0e438ff1a0fffa1893e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -3271,9 +3271,9 @@ GameObject:
|
||||
- component: {fileID: 114525927984870190}
|
||||
- component: {fileID: 832688648}
|
||||
- component: {fileID: 6688537537024804213}
|
||||
- component: {fileID: 1505227404007521061}
|
||||
- component: {fileID: -3829962440237222997}
|
||||
- component: {fileID: -3602722895466718484}
|
||||
- component: {fileID: 1505227404007521061}
|
||||
m_Layer: 8
|
||||
m_Name: vShooterMelee_Inventory
|
||||
m_TagString: Player
|
||||
@@ -4686,6 +4686,20 @@ MonoBehaviour:
|
||||
defaultDamageEffects:
|
||||
- {fileID: 120346, guid: b8f2fe1ee1a01724cb72f5b0e6bd2eef, type: 3}
|
||||
customDamageEffects: []
|
||||
--- !u!114 &1505227404007521061
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 146720}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 16509f68a17b8004096bcf4acce328d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerInventory
|
||||
treasuresCollected: 0
|
||||
totalTreasuresNeeded: 3
|
||||
--- !u!114 &-3829962440237222997
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5065,20 +5079,6 @@ MonoBehaviour:
|
||||
m_DefaultActionMap: Player
|
||||
m_SplitScreenIndex: -1
|
||||
m_Camera: {fileID: 0}
|
||||
--- !u!114 &1505227404007521061
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 146720}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 16509f68a17b8004096bcf4acce328d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerInventory
|
||||
treasuresCollected: 0
|
||||
totalTreasuresNeeded: 3
|
||||
--- !u!1 &149606
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6981,8 +6981,8 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 479055091}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.1953007, y: 0.3776701, z: -0.08181581, w: 0.90140396}
|
||||
m_LocalPosition: {x: -3.63204, y: 2.8947582, z: 1.3276315}
|
||||
m_LocalRotation: {x: 0.1953007, y: 0.37767014, z: -0.081815824, w: 0.90140396}
|
||||
m_LocalPosition: {x: -3.632039, y: 2.8947582, z: 1.3276312}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@@ -7001,7 +7001,109 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 1a1bfe72fbc87d04e885296b53e91c66, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
mainTarget: {fileID: 0}
|
||||
mainTarget: {fileID: 404034}
|
||||
inputReader: {fileID: -3829962440237222997}
|
||||
fpvTarget: {fileID: 463090}
|
||||
fpvFOV: 80
|
||||
transitionDuration: 0.3
|
||||
characterFading:
|
||||
useCharacterFading: 1
|
||||
minVisibleDistance: 1.2
|
||||
fullyHiddenDistance: 0.6
|
||||
characterRenderers: []
|
||||
occlusionTransparency:
|
||||
useTransparency: 1
|
||||
transparencyLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
fadeAlpha: 0.3
|
||||
dynamicFOV:
|
||||
useDynamicFOV: 1
|
||||
tpvSprintFOV: 70
|
||||
fpvSprintFOV: 95
|
||||
fovSmoothTime: 5
|
||||
shakeManager:
|
||||
useShake: 1
|
||||
shakeFrequency: 25
|
||||
decayCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
enableFallImpactShake: 1
|
||||
minFallHeightForShake: 2
|
||||
maxFallHeightForShake: 10
|
||||
minFallShakeIntensity: 0.5
|
||||
maxFallShakeIntensity: 3
|
||||
minFallShakeDuration: 0.2
|
||||
maxFallShakeDuration: 0.8
|
||||
fallHeightToIntensityCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 1
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 1
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
fallHeightToDurationCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 1
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 1
|
||||
inSlope: 1
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
_smoothBetweenState: 6
|
||||
_smoothCameraRotation: 12
|
||||
_smoothSwitchSide: 2
|
||||
@@ -7021,7 +7123,7 @@ MonoBehaviour:
|
||||
behindTargetSmoothRotation: 1
|
||||
lockCamera: 0
|
||||
offsetMouse: {x: 0, y: 0}
|
||||
indexList: 1
|
||||
indexList: 12
|
||||
indexLookPoint: 0
|
||||
offSetPlayerPivot: 0
|
||||
distance: 5
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AI; // Cần thiết để dùng NavMesh
|
||||
using Hallucinate.Audio;
|
||||
|
||||
[RequireComponent(typeof(NavMeshAgent))] // Tự động thêm component này nếu chưa có
|
||||
public class EnemyAI : MonoBehaviour
|
||||
@@ -28,6 +29,11 @@ public class EnemyAI : MonoBehaviour
|
||||
public float minShootDelay = 1f;
|
||||
public float maxShootDelay = 3f;
|
||||
|
||||
[Header("Audio")]
|
||||
public string alertSound = "Enemy_Alert";
|
||||
public string shootSound = "Enemy_Shoot";
|
||||
private bool hasSpottedPlayer; // Để chỉ kêu alert 1 lần
|
||||
|
||||
private float nextShootTime;
|
||||
private NavMeshAgent agent;
|
||||
|
||||
@@ -37,10 +43,10 @@ public class EnemyAI : MonoBehaviour
|
||||
{
|
||||
agent = GetComponent<NavMeshAgent>();
|
||||
agent.speed = moveSpeed;
|
||||
|
||||
|
||||
// Lưu lại vị trí ban đầu để làm tâm của khu vực tuần tra
|
||||
startPosition = transform.position;
|
||||
|
||||
|
||||
nextShootTime = Time.time + Random.Range(minShootDelay, maxShootDelay);
|
||||
InitBehaviorTree();
|
||||
FindPlayer();
|
||||
@@ -109,9 +115,15 @@ public class EnemyAI : MonoBehaviour
|
||||
|
||||
if (distance <= detectRange)
|
||||
{
|
||||
if (!hasSpottedPlayer)
|
||||
{
|
||||
hasSpottedPlayer = true;
|
||||
AudioManager.Instance?.Play(alertSound, position: transform.position);
|
||||
}
|
||||
return NodeState.Success;
|
||||
}
|
||||
|
||||
hasSpottedPlayer = false; // Reset nếu player ra khỏi tầm mắt
|
||||
return NodeState.Failure;
|
||||
}
|
||||
|
||||
@@ -122,6 +134,8 @@ public class EnemyAI : MonoBehaviour
|
||||
private NodeState ActionPatrol()
|
||||
{
|
||||
// Debug.Log("Patrolling...");
|
||||
if (!agent.isActiveAndEnabled || !agent.isOnNavMesh) return NodeState.Failure;
|
||||
|
||||
agent.isStopped = false; // Đảm bảo NPC được phép di chuyển
|
||||
agent.speed = moveSpeed * 0.5f; // Đi dạo nên đi chậm lại một chút
|
||||
|
||||
@@ -137,7 +151,7 @@ public class EnemyAI : MonoBehaviour
|
||||
Vector3 randomDirection = Random.insideUnitSphere * patrolRadius;
|
||||
randomDirection += startPosition;
|
||||
NavMeshHit hit;
|
||||
|
||||
|
||||
// Đảm bảo điểm ngẫu nhiên nằm trên bề mặt NavMesh hợp lệ
|
||||
if (NavMesh.SamplePosition(randomDirection, out hit, patrolRadius, 1))
|
||||
{
|
||||
@@ -155,7 +169,9 @@ public class EnemyAI : MonoBehaviour
|
||||
if (player == null) return NodeState.Failure;
|
||||
|
||||
// Debug.Log("Chasing Player");
|
||||
|
||||
|
||||
if (!agent.isActiveAndEnabled || !agent.isOnNavMesh) return NodeState.Failure;
|
||||
|
||||
agent.isStopped = false;
|
||||
agent.speed = moveSpeed; // Phục hồi tốc độ rượt đuổi
|
||||
agent.SetDestination(player.position);
|
||||
@@ -168,7 +184,9 @@ public class EnemyAI : MonoBehaviour
|
||||
if (player == null) return NodeState.Failure;
|
||||
|
||||
// Debug.Log("Focus and Shoot!");
|
||||
|
||||
|
||||
if (!agent.isActiveAndEnabled || !agent.isOnNavMesh) return NodeState.Failure;
|
||||
|
||||
// Dừng NavMeshAgent lại để đứng bắn, tránh bị trượt
|
||||
agent.isStopped = true;
|
||||
|
||||
@@ -196,6 +214,7 @@ public class EnemyAI : MonoBehaviour
|
||||
{
|
||||
if (laserPrefab == null || firePoint == null) return;
|
||||
Instantiate(laserPrefab, firePoint.position, firePoint.rotation);
|
||||
AudioManager.Instance?.Play(shootSound, position: transform.position);
|
||||
// Debug.Log("Laser Shot!");
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Text;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.Networking;
|
||||
using Hallucinate.Audio;
|
||||
|
||||
[Serializable]
|
||||
public class Part
|
||||
@@ -44,12 +45,17 @@ public class GerminiNPC : MonoBehaviour
|
||||
public float interactionDistance = 5f; // Khoảng cách tối đa để nói chuyện
|
||||
public Transform playerTransform; // Gán transform của Player vào đây
|
||||
|
||||
[Header("Audio")]
|
||||
public string startTalkSound = "NPC_Interact";
|
||||
public string responseSound = "NPC_Response";
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Keyboard.current != null && Keyboard.current.fKey.wasPressedThisFrame)
|
||||
{
|
||||
if (CanSeePlayer())
|
||||
{
|
||||
AudioManager.Instance?.Play(startTalkSound, position: transform.position);
|
||||
StartCoroutine(GetGerminiReponse());
|
||||
}
|
||||
else
|
||||
@@ -121,6 +127,7 @@ public class GerminiNPC : MonoBehaviour
|
||||
{
|
||||
var npcResponse = geminiResponse.candidates[0].content.parts[0].text;
|
||||
Debug.Log($"<color=green>Tom:</color> {npcResponse}");
|
||||
AudioManager.Instance?.Play(responseSound, position: transform.position);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
using UnityEngine;
|
||||
using Hallucinate.Audio;
|
||||
|
||||
public class LaserProjectile : MonoBehaviour
|
||||
{
|
||||
public float speed = 5f;
|
||||
public float lifeTime = 5f;
|
||||
|
||||
[Header("Audio")]
|
||||
public string hitSound = "Laser_Hit";
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Destroy(gameObject, lifeTime);
|
||||
@@ -24,6 +28,8 @@ public class LaserProjectile : MonoBehaviour
|
||||
{
|
||||
Debug.Log("Player Hit");
|
||||
|
||||
AudioManager.Instance?.Play(hitSound, position: transform.position);
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using Invector.vCharacterController;
|
||||
using Invector;
|
||||
using Invector.vCharacterController;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using OnlyScove.Scripts;
|
||||
|
||||
namespace Invector.vCamera
|
||||
{
|
||||
@@ -28,6 +30,19 @@ namespace Invector.vCamera
|
||||
#region inspector properties
|
||||
|
||||
public Transform mainTarget;
|
||||
public InputReader inputReader;
|
||||
|
||||
[Header("First Person View")]
|
||||
public Transform fpvTarget;
|
||||
[SerializeField] protected float fpvFOV = 80f;
|
||||
[SerializeField] protected float transitionDuration = 0.3f;
|
||||
|
||||
[Header("Modular Features")]
|
||||
[SerializeField] protected CameraCharacterFading characterFading = new CameraCharacterFading();
|
||||
[SerializeField] protected CameraOcclusionTransparency occlusionTransparency = new CameraOcclusionTransparency();
|
||||
[SerializeField] protected CameraDynamicFOV dynamicFOV = new CameraDynamicFOV();
|
||||
[SerializeField] protected CameraShakeManager shakeManager = new CameraShakeManager();
|
||||
|
||||
[Tooltip("Lerp speed between Camera States")]
|
||||
[SerializeField] protected float _smoothBetweenState = 6f;
|
||||
public virtual float smoothBetweenState { get { return _smoothBetweenState; } set { _smoothBetweenState = value; } }
|
||||
@@ -195,10 +210,68 @@ namespace Invector.vCamera
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
|
||||
Init();
|
||||
}
|
||||
|
||||
protected virtual void OnEnable()
|
||||
{
|
||||
if (inputReader != null)
|
||||
{
|
||||
inputReader.OnToggleViewEvent += ToggleCameraView;
|
||||
inputReader.OnSwitchSideEvent += ToggleSwitchSide;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnDisable()
|
||||
{
|
||||
if (inputReader != null)
|
||||
{
|
||||
inputReader.OnToggleViewEvent -= ToggleCameraView;
|
||||
inputReader.OnSwitchSideEvent -= ToggleSwitchSide;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void ToggleSwitchSide()
|
||||
{
|
||||
SwitchRight(switchRight > 0);
|
||||
}
|
||||
|
||||
public virtual void ToggleCameraView()
|
||||
{
|
||||
Debug.Log($"[vThirdPersonCamera] ToggleCameraView called. Current Mode: {currentState.cameraMode}");
|
||||
if (currentState.cameraMode == TPCameraMode.FirstPerson)
|
||||
{
|
||||
Debug.Log("[vThirdPersonCamera] Switching to Default (TPV)");
|
||||
ChangeState("Default");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[vThirdPersonCamera] Switching to FirstPerson");
|
||||
ChangeState("FirstPerson");
|
||||
|
||||
// If the state was not found in the list, Invector might have reverted it to Default.
|
||||
// We force it here by creating a temporary state if necessary.
|
||||
if (currentState.cameraMode != TPCameraMode.FirstPerson)
|
||||
{
|
||||
Debug.Log("[vThirdPersonCamera] FirstPerson state not found in list, creating a temporary one to prevent revert.");
|
||||
vThirdPersonCameraState fpState = new vThirdPersonCameraState("FirstPerson");
|
||||
fpState.cameraMode = TPCameraMode.FirstPerson;
|
||||
fpState.defaultDistance = 0;
|
||||
fpState.height = 0;
|
||||
fpState.fov = fpvFOV;
|
||||
|
||||
lerpState = fpState;
|
||||
currentState.CopyState(fpState);
|
||||
currentStateName = "FirstPerson";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void TriggerFallImpactShake(float fallHeight)
|
||||
{
|
||||
shakeManager.TriggerFallImpactShake(fallHeight);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Init camera.
|
||||
/// </summary>
|
||||
@@ -209,6 +282,9 @@ namespace Invector.vCamera
|
||||
return;
|
||||
}
|
||||
|
||||
if (inputReader == null) inputReader = mainTarget.GetComponent<InputReader>();
|
||||
if (inputReader == null) inputReader = GameObject.FindObjectOfType<InputReader>();
|
||||
|
||||
firstUpdated = true;
|
||||
useSmooth = true;
|
||||
targetLookAt.rotation = startUsingTargetRotation ? mainTarget.rotation : transform.rotation;
|
||||
@@ -256,6 +332,8 @@ namespace Invector.vCamera
|
||||
currentTargetPos = new Vector3(currentTarget.position.x, currentTarget.position.y + offSetPlayerPivot, currentTarget.position.z) + currentTarget.transform.up * lerpState.height;
|
||||
targetLookAt.position = currentTargetPos;
|
||||
|
||||
dynamicFOV.Initialize(currentState.fov, fpvFOV);
|
||||
|
||||
isInit = true;
|
||||
}
|
||||
|
||||
@@ -292,7 +370,19 @@ namespace Invector.vCamera
|
||||
case TPCameraMode.FixedPoint:
|
||||
CameraFixed();
|
||||
break;
|
||||
case TPCameraMode.FirstPerson:
|
||||
CameraMovement();
|
||||
break;
|
||||
}
|
||||
|
||||
// Modular Features
|
||||
if (inputReader != null)
|
||||
{
|
||||
dynamicFOV.HandleDynamicFOV(targetCamera, inputReader,
|
||||
currentState.cameraMode == TPCameraMode.FirstPerson ? CameraController.CameraViewMode.FirstPerson : CameraController.CameraViewMode.ThirdPerson);
|
||||
}
|
||||
shakeManager.HandleShake();
|
||||
transform.position += shakeManager.ShakeOffset;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -799,6 +889,12 @@ namespace Invector.vCamera
|
||||
currentState.CopyState(lerpState);
|
||||
}
|
||||
|
||||
if (currentState.cameraMode == TPCameraMode.FirstPerson)
|
||||
{
|
||||
HandleFirstPersonMovement();
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentState.useZoom)
|
||||
{
|
||||
currentZoom = Mathf.Clamp(currentZoom, currentState.minDistance, currentState.maxDistance);
|
||||
@@ -918,9 +1014,44 @@ namespace Invector.vCamera
|
||||
_euler.z = 0;
|
||||
var _rot = Quaternion.Euler(_euler + currentState.rotationOffSet);
|
||||
selfRigidbody.MoveRotation(Quaternion.Lerp(startRotation, _rot, transformWeight));
|
||||
|
||||
// Apply Fading and Transparency
|
||||
characterFading.HandleCharacterFading(distance);
|
||||
occlusionTransparency.HandleTransparency(transform, targetPos);
|
||||
|
||||
movementSpeed = Vector2.zero;
|
||||
}
|
||||
|
||||
protected virtual void HandleFirstPersonMovement()
|
||||
{
|
||||
if (fpvTarget == null) return;
|
||||
|
||||
distance = 0;
|
||||
targetCamera.fieldOfView = fpvFOV;
|
||||
|
||||
// Position
|
||||
current_cPos = fpvTarget.position;
|
||||
targetLookAt.position = current_cPos;
|
||||
selfRigidbody.MovePosition(current_cPos);
|
||||
|
||||
// Rotation
|
||||
float _mouseY = Mathf.LerpAngle(mouseYStart, mouseY, transformWeight);
|
||||
float _mouseX = Mathf.LerpAngle(mouseXStart, mouseX, transformWeight);
|
||||
Quaternion newRot = Quaternion.Euler(_mouseY + offsetMouse.y, _mouseX + offsetMouse.x, 0);
|
||||
targetLookAt.rotation = useSmooth ? Quaternion.Lerp(targetLookAt.rotation, newRot, smoothCameraRotation * Time.fixedDeltaTime) : newRot;
|
||||
|
||||
selfRigidbody.MoveRotation(targetLookAt.rotation);
|
||||
|
||||
// Sync player body rotation (Yaw only)
|
||||
if (mainTarget != null)
|
||||
{
|
||||
mainTarget.rotation = Quaternion.Euler(0, targetLookAt.eulerAngles.y, 0);
|
||||
}
|
||||
|
||||
characterFading.HandleCharacterFading(0); // Fully hide character head if desired, or set to distance 0 for full hidden
|
||||
occlusionTransparency.HandleTransparency(transform, fpvTarget.position);
|
||||
}
|
||||
|
||||
protected virtual void CameraFixed()
|
||||
{
|
||||
if (useSmooth)
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Invector
|
||||
{
|
||||
public enum TPCameraMode
|
||||
{
|
||||
FreeDirectional,
|
||||
FixedAngle,
|
||||
FixedPoint,
|
||||
FirstPerson
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class vThirdPersonCameraState
|
||||
{
|
||||
@@ -56,6 +64,60 @@ namespace Invector
|
||||
fixedAngle = Vector2.zero;
|
||||
cameraMode = TPCameraMode.FreeDirectional;
|
||||
}
|
||||
|
||||
public void CopyState(vThirdPersonCameraState state)
|
||||
{
|
||||
this.Name = state.Name;
|
||||
this.forward = state.forward;
|
||||
this.right = state.right;
|
||||
this.defaultDistance = state.defaultDistance;
|
||||
this.maxDistance = state.maxDistance;
|
||||
this.minDistance = state.minDistance;
|
||||
this.height = state.height;
|
||||
this.smooth = state.smooth;
|
||||
this.smoothDamp = state.smoothDamp;
|
||||
this.xMouseSensitivity = state.xMouseSensitivity;
|
||||
this.yMouseSensitivity = state.yMouseSensitivity;
|
||||
this.yMinLimit = state.yMinLimit;
|
||||
this.yMaxLimit = state.yMaxLimit;
|
||||
this.xMinLimit = state.xMinLimit;
|
||||
this.xMaxLimit = state.xMaxLimit;
|
||||
this.rotationOffSet = state.rotationOffSet;
|
||||
this.cullingHeight = state.cullingHeight;
|
||||
this.cullingMinDist = state.cullingMinDist;
|
||||
this.fov = state.fov;
|
||||
this.useZoom = state.useZoom;
|
||||
this.fixedAngle = state.fixedAngle;
|
||||
this.lookPoints = state.lookPoints;
|
||||
this.cameraMode = state.cameraMode;
|
||||
}
|
||||
|
||||
public void Slerp(vThirdPersonCameraState state, float t)
|
||||
{
|
||||
this.Name = state.Name;
|
||||
this.forward = Mathf.Lerp(this.forward, state.forward, t);
|
||||
this.right = Mathf.Lerp(this.right, state.right, t);
|
||||
this.defaultDistance = Mathf.Lerp(this.defaultDistance, state.defaultDistance, t);
|
||||
this.maxDistance = Mathf.Lerp(this.maxDistance, state.maxDistance, t);
|
||||
this.minDistance = Mathf.Lerp(this.minDistance, state.minDistance, t);
|
||||
this.height = Mathf.Lerp(this.height, state.height, t);
|
||||
this.smooth = Mathf.Lerp(this.smooth, state.smooth, t);
|
||||
this.smoothDamp = Mathf.Lerp(this.smoothDamp, state.smoothDamp, t);
|
||||
this.xMouseSensitivity = Mathf.Lerp(this.xMouseSensitivity, state.xMouseSensitivity, t);
|
||||
this.yMouseSensitivity = Mathf.Lerp(this.yMouseSensitivity, state.yMouseSensitivity, t);
|
||||
this.yMinLimit = Mathf.Lerp(this.yMinLimit, state.yMinLimit, t);
|
||||
this.yMaxLimit = Mathf.Lerp(this.yMaxLimit, state.yMaxLimit, t);
|
||||
this.xMinLimit = Mathf.Lerp(this.xMinLimit, state.xMinLimit, t);
|
||||
this.xMaxLimit = Mathf.Lerp(this.xMaxLimit, state.xMaxLimit, t);
|
||||
this.rotationOffSet = Vector3.Lerp(this.rotationOffSet, state.rotationOffSet, t);
|
||||
this.cullingHeight = Mathf.Lerp(this.cullingHeight, state.cullingHeight, t);
|
||||
this.cullingMinDist = Mathf.Lerp(this.cullingMinDist, state.cullingMinDist, t);
|
||||
this.fov = Mathf.Lerp(this.fov, state.fov, t);
|
||||
this.useZoom = state.useZoom;
|
||||
this.fixedAngle = Vector2.Lerp(this.fixedAngle, state.fixedAngle, t);
|
||||
this.lookPoints = state.lookPoints;
|
||||
this.cameraMode = state.cameraMode;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
@@ -66,11 +128,4 @@ namespace Invector
|
||||
public Vector3 eulerAngle;
|
||||
public bool freeRotation;
|
||||
}
|
||||
|
||||
public enum TPCameraMode
|
||||
{
|
||||
FreeDirectional,
|
||||
FixedAngle,
|
||||
FixedPoint
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Collections;
|
||||
using Hallucinate.Audio; // Import namespace for AudioManager
|
||||
|
||||
public class FinishGate : MonoBehaviour
|
||||
{
|
||||
@@ -18,6 +19,11 @@ public class FinishGate : MonoBehaviour
|
||||
public GameObject winStar2;
|
||||
public GameObject winStar3;
|
||||
|
||||
[Header("Cài đặt Âm thanh")]
|
||||
public string winSound = "UI_Win";
|
||||
public string warningSound = "UI_Warning";
|
||||
public string clickSound = "UI_Click";
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Time.timeScale = 1f;
|
||||
@@ -76,6 +82,8 @@ public class FinishGate : MonoBehaviour
|
||||
winPanel.SetActive(true);
|
||||
UpdateWinStarsUI(count); // Hiện số sao tương ứng trên bảng kết thúc
|
||||
}
|
||||
|
||||
AudioManager.PlayGlobal(winSound); // Chạy âm thanh thắng cuộc
|
||||
|
||||
Time.timeScale = 0f;
|
||||
Cursor.lockState = CursorLockMode.None;
|
||||
@@ -86,18 +94,23 @@ public class FinishGate : MonoBehaviour
|
||||
{
|
||||
if (ui == null) yield break;
|
||||
ui.SetActive(true);
|
||||
|
||||
if (ui == warningUI) AudioManager.PlayGlobal(warningSound); // Chạy âm thanh cảnh báo
|
||||
|
||||
yield return new WaitForSeconds(3f);
|
||||
ui.SetActive(false);
|
||||
}
|
||||
|
||||
public void RestartGame()
|
||||
{
|
||||
AudioManager.PlayGlobal(clickSound); // Âm thanh click nút
|
||||
Time.timeScale = 1f;
|
||||
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
|
||||
}
|
||||
|
||||
public void QuitGame()
|
||||
{
|
||||
AudioManager.PlayGlobal(clickSound); // Âm thanh click nút
|
||||
Application.Quit();
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.EditorApplication.isPlaying = false;
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using Hallucinate.Audio;
|
||||
|
||||
public class TreasureItem : MonoBehaviour
|
||||
{
|
||||
[Header("Cài đặt UI thông báo")]
|
||||
public GameObject notificationText; // Text "Đã nhặt Cổ vật"
|
||||
|
||||
[Header("Cài đặt Âm thanh")]
|
||||
public string pickupSound = "Item_Pickup";
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.CompareTag("Player"))
|
||||
@@ -29,6 +33,12 @@ public class TreasureItem : MonoBehaviour
|
||||
// 3. Kích hoạt trạng thái truy đuổi cho toàn bộ Enemy AI
|
||||
SetEnemiesAlertState(true);
|
||||
|
||||
// 4. Chạy âm thanh nhặt đồ
|
||||
if (AudioManager.Instance != null)
|
||||
{
|
||||
AudioManager.Instance.Play(pickupSound, position: transform.position);
|
||||
}
|
||||
|
||||
if (notificationText != null)
|
||||
{
|
||||
StopAllCoroutines();
|
||||
|
||||
@@ -164,6 +164,7 @@ namespace OnlyScove.Scripts
|
||||
{
|
||||
if (context.performed)
|
||||
{
|
||||
Debug.Log("[InputReader] ToggleView Action Performed!");
|
||||
wasToggleViewPressed = true;
|
||||
OnToggleViewEvent?.Invoke();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections;
|
||||
using Invector;
|
||||
using OnlyScove.Scripts;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
@@ -485,10 +486,7 @@ namespace Invector.vCharacterController
|
||||
|
||||
public virtual void StrafeInput()
|
||||
{
|
||||
if (inputReader != null && inputReader.ConsumeToggleView())
|
||||
{
|
||||
cc.Strafe();
|
||||
}
|
||||
// Removed inputReader.ConsumeToggleView() logic that was incorrectly triggering Strafe
|
||||
}
|
||||
|
||||
public virtual void SprintInput()
|
||||
@@ -610,6 +608,10 @@ namespace Invector.vCharacterController
|
||||
{
|
||||
tpCamera.ChangeState(customCameraState, customlookAtPoint, smoothCameraState);
|
||||
}
|
||||
else if (tpCamera.currentState.cameraMode == TPCameraMode.FirstPerson)
|
||||
{
|
||||
// Do nothing, let FirstPerson mode stay active
|
||||
}
|
||||
else if (cc.isCrouching)
|
||||
{
|
||||
tpCamera.ChangeState("Crouch", true);
|
||||
|
||||
@@ -310,3 +310,30 @@ MonoBehaviour:
|
||||
eulerAngle: {x: 24.449335, y: 135.46579, z: 0.001277386}
|
||||
freeRotation: 1
|
||||
cameraMode: 2
|
||||
- Name: FirstPerson
|
||||
forward: 70
|
||||
right: 0
|
||||
defaultDistance: 0
|
||||
maxDistance: 0
|
||||
minDistance: 0
|
||||
height: 0
|
||||
smooth: 10
|
||||
smoothDamp: 0
|
||||
xMouseSensitivity: 3
|
||||
yMouseSensitivity: 3
|
||||
yMinLimit: -40
|
||||
yMaxLimit: 80
|
||||
xMinLimit: -360
|
||||
xMaxLimit: 360
|
||||
rotationOffSet: {x: 0, y: 0, z: 0}
|
||||
cullingHeight: 0.2
|
||||
cullingMinDist: 0.1
|
||||
fov: 113.1
|
||||
useZoom: 0
|
||||
fixedAngle: {x: 0, y: 0}
|
||||
lookPoints:
|
||||
- pointName: point_01
|
||||
positionPoint: {x: 6.950366, y: 2.8947582, z: -24.111038}
|
||||
eulerAngle: {x: 24.449337, y: 315.46573, z: 0.0012745722}
|
||||
freeRotation: 1
|
||||
cameraMode: 3
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
],
|
||||
"bindings": [
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "978bfe49-cc26-4a3d-ab7b-7d7a29327403",
|
||||
"path": "<Gamepad>/leftStick",
|
||||
"interactions": "",
|
||||
@@ -281,7 +281,7 @@
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "c1f7a91b-d0fd-4a62-997e-7fb9b69bf235",
|
||||
"path": "<Gamepad>/rightStick",
|
||||
"interactions": "",
|
||||
@@ -292,7 +292,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Pointer",
|
||||
"id": "8c8e490b-c610-4785-884f-f04217b23ca4",
|
||||
"path": "<Pointer>/delta",
|
||||
"interactions": "",
|
||||
@@ -303,7 +303,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91",
|
||||
"path": "<Gamepad>/rightShoulder",
|
||||
"interactions": "",
|
||||
@@ -314,7 +314,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "05f6913d-c316-48b2-a6bb-e225f14c7960",
|
||||
"path": "<Mouse>/leftButton",
|
||||
"interactions": "",
|
||||
@@ -325,7 +325,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6",
|
||||
"path": "<Gamepad>/leftStickPress",
|
||||
"interactions": "",
|
||||
@@ -336,7 +336,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "f2e9ba44-c423-42a7-ad56-f20975884794",
|
||||
"path": "<Keyboard>/leftShift",
|
||||
"interactions": "",
|
||||
@@ -347,7 +347,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "eb40bb66-4559-4dfa-9a2f-820438abb426",
|
||||
"path": "<Keyboard>/space",
|
||||
"interactions": "",
|
||||
@@ -358,7 +358,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "daba33a1-ad0c-4742-a909-43ad1cdfbeb6",
|
||||
"path": "<Gamepad>/buttonSouth",
|
||||
"interactions": "",
|
||||
@@ -369,7 +369,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "1c04ea5f-b012-41d1-a6f7-02e963b52893",
|
||||
"path": "<Keyboard>/e",
|
||||
"interactions": "",
|
||||
@@ -380,7 +380,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "b3f66d0b-7751-423f-908b-a11c5bd95930",
|
||||
"path": "<Gamepad>/buttonNorth",
|
||||
"interactions": "",
|
||||
@@ -391,7 +391,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "36e52cba-0905-478e-a818-f4bfcb9f3b9a",
|
||||
"path": "<Keyboard>/c",
|
||||
"interactions": "",
|
||||
@@ -402,7 +402,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "a2b3c4d5-e6f7-a8b9-c0d1-e2f3a4b5c6d7",
|
||||
"path": "<Gamepad>/rightStickPress",
|
||||
"interactions": "",
|
||||
@@ -413,7 +413,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "b1c2d3e4-f5a6-b7c8-d9e0-f1a2b3c4d5e6",
|
||||
"path": "<Keyboard>/q",
|
||||
"interactions": "",
|
||||
@@ -424,7 +424,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "c1d2e3f4-a5b6-c7d8-e9f0-a1b2c3d4e5f6",
|
||||
"path": "<Gamepad>/buttonEast",
|
||||
"interactions": "",
|
||||
@@ -435,7 +435,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "d1e2f3a4-b5c6-d7e8-f9a0-b1c2d3e4f5a6",
|
||||
"path": "<Keyboard>/alpha1",
|
||||
"interactions": "",
|
||||
@@ -446,7 +446,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "e1f2a3b4-c5d6-e7f8-a9b0-c1d2e3f4a5b6",
|
||||
"path": "<Keyboard>/leftAlt",
|
||||
"interactions": "",
|
||||
@@ -457,7 +457,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "f1a2b3c4-d5e6-f7a8-b9c0-d1e2f3a4b5c6",
|
||||
"path": "<Gamepad>/rightTrigger",
|
||||
"interactions": "",
|
||||
@@ -468,7 +468,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6",
|
||||
"path": "<Mouse>/rightButton",
|
||||
"interactions": "",
|
||||
@@ -479,7 +479,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "b1c2d3e4-f5a6-b7c8-d9e0-f1a2b3c4d5e7",
|
||||
"path": "<Gamepad>/leftShoulder",
|
||||
"interactions": "",
|
||||
@@ -490,7 +490,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "c1d2e3f4-a5b6-c7d8-e9f0-a1b2c3d4e5f7",
|
||||
"path": "<Mouse>/rightButton",
|
||||
"interactions": "",
|
||||
@@ -501,7 +501,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "d1e2f3a4-b5c6-d7e8-f9a0-b1c2d3e4f5a7",
|
||||
"path": "<Gamepad>/leftTrigger",
|
||||
"interactions": "",
|
||||
@@ -512,7 +512,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "e1f2a3b4-c5d6-e7f8-a9b0-c1d2e3f4a5b7",
|
||||
"path": "<Keyboard>/r",
|
||||
"interactions": "",
|
||||
@@ -523,7 +523,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "f1a2b3c4-d5e6-f7a8-b9c0-d1e2f3a4b5c7",
|
||||
"path": "<Gamepad>/leftShoulder",
|
||||
"interactions": "",
|
||||
@@ -534,7 +534,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d7",
|
||||
"path": "<Keyboard>/tab",
|
||||
"interactions": "",
|
||||
@@ -545,7 +545,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "b1c2d3e4-f5a6-b7c8-d9e0-f1a2b3c4d5e8",
|
||||
"path": "<Gamepad>/dpad/down",
|
||||
"interactions": "",
|
||||
@@ -556,7 +556,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "c1d2e3f4-a5b6-c7d8-e9f0-a1b2c3d4e5f8",
|
||||
"path": "<Keyboard>/z",
|
||||
"interactions": "",
|
||||
@@ -567,7 +567,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "d1e2f3a4-b5c6-d7e8-f9a0-b1c2d3e4f5a8",
|
||||
"path": "<Gamepad>/dpad/up",
|
||||
"interactions": "",
|
||||
@@ -578,7 +578,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "1534dc16-a6aa-499d-9c3a-22b47347b52a",
|
||||
"path": "<Keyboard>/1",
|
||||
"interactions": "",
|
||||
@@ -589,7 +589,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "25060bbd-a3a6-476e-8fba-45ae484aad05",
|
||||
"path": "<Gamepad>/dpad/left",
|
||||
"interactions": "",
|
||||
@@ -600,7 +600,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "cbac6039-9c09-46a1-b5f2-4e5124ccb5ed",
|
||||
"path": "<Keyboard>/2",
|
||||
"interactions": "",
|
||||
@@ -611,7 +611,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "e15ca19d-e649-4852-97d5-7fe8ccc44e94",
|
||||
"path": "<Gamepad>/dpad/right",
|
||||
"interactions": "",
|
||||
@@ -622,7 +622,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "530195d8-9983-48c9-b5cf-305ee78dd292",
|
||||
"path": "<Mouse>/scroll",
|
||||
"interactions": "",
|
||||
@@ -633,9 +633,9 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "f365517f-5a04-4d18-afa0-369ab80e0c54",
|
||||
"path": "<Keyboard>/f2",
|
||||
"path": "<Keyboard>/f1",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
@@ -644,8 +644,8 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"id": "f1g2h3i4-j5k6-l7m8-n9o0-p1q2r3s4t5u6",
|
||||
"name": "Mouse",
|
||||
"id": "8d4f7e2a-1b6c-4903-a5d2-f8c9b1e0a3d6",
|
||||
"path": "<Mouse>/middleButton",
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
@@ -655,7 +655,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "048282c5-5a5b-4ab2-9777-a20889af4532",
|
||||
"path": "<Gamepad>/rightStickPress",
|
||||
"interactions": "",
|
||||
@@ -881,7 +881,7 @@
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Gamepad",
|
||||
"id": "fb8277d4-c5cd-4663-9dc7-ee3f0b506d90",
|
||||
"path": "<Gamepad>/dpad",
|
||||
"interactions": "",
|
||||
@@ -1046,7 +1046,7 @@
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Submit",
|
||||
"id": "9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc",
|
||||
"path": "*/{Submit}",
|
||||
"interactions": "",
|
||||
@@ -1057,7 +1057,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Cancel",
|
||||
"id": "82627dcc-3b13-4ba9-841d-e4b746d6553e",
|
||||
"path": "*/{Cancel}",
|
||||
"interactions": "",
|
||||
@@ -1068,7 +1068,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "c52c8e0b-8179-41d3-b8a1-d149033bbe86",
|
||||
"path": "<Mouse>/position",
|
||||
"interactions": "",
|
||||
@@ -1079,7 +1079,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Pen",
|
||||
"id": "e1394cbc-336e-44ce-9ea8-6007ed6193f7",
|
||||
"path": "<Pen>/position",
|
||||
"interactions": "",
|
||||
@@ -1090,7 +1090,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Touch",
|
||||
"id": "5693e57a-238a-46ed-b5ae-e64e6e574302",
|
||||
"path": "<Touchscreen>/touch*/position",
|
||||
"interactions": "",
|
||||
@@ -1101,7 +1101,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "4faf7dc9-b979-4210-aa8c-e808e1ef89f5",
|
||||
"path": "<Mouse>/leftButton",
|
||||
"interactions": "",
|
||||
@@ -1112,7 +1112,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Pen",
|
||||
"id": "8d66d5ba-88d7-48e6-b1cd-198bbfef7ace",
|
||||
"path": "<Pen>/tip",
|
||||
"interactions": "",
|
||||
@@ -1123,7 +1123,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Touch",
|
||||
"id": "47c2a644-3ebc-4dae-a106-589b7ca75b59",
|
||||
"path": "<Touchscreen>/touch*/press",
|
||||
"interactions": "",
|
||||
@@ -1134,7 +1134,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "XR",
|
||||
"id": "bb9e6b34-44bf-4381-ac63-5aa15d19f677",
|
||||
"path": "<XRController>/trigger",
|
||||
"interactions": "",
|
||||
@@ -1145,7 +1145,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "38c99815-14ea-4617-8627-164d27641299",
|
||||
"path": "<Mouse>/scroll",
|
||||
"interactions": "",
|
||||
@@ -1156,7 +1156,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "4c191405-5738-4d4b-a523-c6a301dbf754",
|
||||
"path": "<Mouse>/rightButton",
|
||||
"interactions": "",
|
||||
@@ -1167,7 +1167,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Mouse",
|
||||
"id": "24066f69-da47-44f3-a07e-0015fb02eb2e",
|
||||
"path": "<Mouse>/middleButton",
|
||||
"interactions": "",
|
||||
@@ -1178,7 +1178,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "XR",
|
||||
"id": "7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77",
|
||||
"path": "<XRController>/devicePosition",
|
||||
"interactions": "",
|
||||
@@ -1189,7 +1189,7 @@
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "XR",
|
||||
"id": "23e01e3a-f935-4948-8d8b-9bcac77714fb",
|
||||
"path": "<XRController>/deviceRotation",
|
||||
"interactions": "",
|
||||
@@ -1233,7 +1233,7 @@
|
||||
"isPartOfComposite": true
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "Keyboard",
|
||||
"id": "7b81fba6-40c0-412f-8836-6385914c8a3f",
|
||||
"path": "<Keyboard>/escape",
|
||||
"interactions": "",
|
||||
|
||||
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 324 B After Width: | Height: | Size: 324 B |
|
Before Width: | Height: | Size: 309 B After Width: | Height: | Size: 309 B |
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -30,6 +30,7 @@ TagManager:
|
||||
- CoverPoint
|
||||
- Interactable
|
||||
- AIAction
|
||||
- Check
|
||||
layers:
|
||||
- Default
|
||||
- TransparentFX
|
||||
|
||||