Weapon Switching

This commit is contained in:
Stedd 2022-10-24 21:57:15 +02:00
parent f624dace6d
commit 9277811681
9 changed files with 315 additions and 77 deletions

View File

@ -781,30 +781,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3} m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3}
m_PrefabInstance: {fileID: 1215845398} m_PrefabInstance: {fileID: 1215845398}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &449506739 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1218087889432038952, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
m_PrefabInstance: {fileID: 8204767108263278737}
m_PrefabAsset: {fileID: 0}
--- !u!114 &449506742
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 449506739}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
m_Name:
m_EditorClassIdentifier:
_ammoType: 1
_maxBeltAmmoAmount: 0
_maxMagAmmoAmount: 0
_currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 0
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
--- !u!1 &520203987 --- !u!1 &520203987
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2143,6 +2119,25 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 925195241} m_GameObject: {fileID: 925195241}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &942203718 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 160269183453626702, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
m_PrefabInstance: {fileID: 8204767108263278737}
m_PrefabAsset: {fileID: 0}
--- !u!114 &942203720
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 942203718}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 51cf941944fb27e43863c290683f7068, type: 3}
m_Name:
m_EditorClassIdentifier:
_weapons: []
_currentWeapon: 0
--- !u!1001 &945433442 --- !u!1001 &945433442
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3145,30 +3140,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3} m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3}
m_PrefabInstance: {fileID: 304950691} m_PrefabInstance: {fileID: 304950691}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &1483687393 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3273242134651530650, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
m_PrefabInstance: {fileID: 8204767108263278737}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1483687396
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1483687393}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
m_Name:
m_EditorClassIdentifier:
_ammoType: 3
_maxBeltAmmoAmount: 0
_maxMagAmmoAmount: 0
_currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 0
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
--- !u!1001 &1486746696 --- !u!1001 &1486746696
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3917,7 +3888,18 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 8616685848737228372, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} m_CorrespondingSourceObject: {fileID: 8616685848737228372, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
m_PrefabInstance: {fileID: 8204767108263278737} m_PrefabInstance: {fileID: 8204767108263278737}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!114 &1859157931 --- !u!114 &1859157935 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5420857361349278248, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
m_PrefabInstance: {fileID: 8204767108263278737}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1859157918}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e087ecce43ebbff45a1b360637807d93, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1859157939
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@ -3926,16 +3908,11 @@ MonoBehaviour:
m_GameObject: {fileID: 1859157918} m_GameObject: {fileID: 1859157918}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b8a4e9bfb741aa96889e5df5a06cba, type: 3} m_Script: {fileID: 11500000, guid: 51cf941944fb27e43863c290683f7068, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_fovNormal: 40 _weapons: []
_senseNormal: 1 _currentWeapon: 0
_fovZoom: 20
_senseZoom: 0.5
_input: {fileID: 0}
_camera: {fileID: 1850161070}
_zoomedIn: 0
--- !u!20 &1874573760 stripped --- !u!20 &1874573760 stripped
Camera: Camera:
m_CorrespondingSourceObject: {fileID: 9005220659476430821, guid: 2d3a85ecde41a8246a79669975912b74, type: 3} m_CorrespondingSourceObject: {fileID: 9005220659476430821, guid: 2d3a85ecde41a8246a79669975912b74, type: 3}
@ -4380,6 +4357,10 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Weapon value: Weapon
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _fpCamera
value:
objectReference: {fileID: 1874573760}
- target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: fireAction.m_Id propertyPath: fireAction.m_Id
value: 2bf4429a-ac42-4cc4-9a14-0dadc769fd99 value: 2bf4429a-ac42-4cc4-9a14-0dadc769fd99
@ -4392,14 +4373,22 @@ PrefabInstance:
propertyPath: reloadAction.m_Id propertyPath: reloadAction.m_Id
value: e5dd7aae-807b-46fc-8c1a-a6e621305625 value: e5dd7aae-807b-46fc-8c1a-a6e621305625
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _timeBetweenReloads
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 335461055095249328, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: reloadAction.m_Name propertyPath: reloadAction.m_Name
value: Reload value: Reload
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1218087889432038952, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 1218087889432038952, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _fpCamera
value:
objectReference: {fileID: 1874573760}
- target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: fireAction.m_Id propertyPath: fireAction.m_Id
value: 95062357-7b41-46da-81a2-d1977a9c523b value: 95062357-7b41-46da-81a2-d1977a9c523b
@ -4412,17 +4401,21 @@ PrefabInstance:
propertyPath: reloadAction.m_Id propertyPath: reloadAction.m_Id
value: b6e2ceaf-6126-4eb9-8b2e-91b3dc0253b4 value: b6e2ceaf-6126-4eb9-8b2e-91b3dc0253b4
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _timeBetweenReloads
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 2132953286740742962, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: reloadAction.m_Name propertyPath: reloadAction.m_Name
value: Reload value: Reload
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3273242134651530650, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 3273242134651530650, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3360281265970703093, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 3360281265970703093, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: m_IsActive propertyPath: m_IsActive
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4641286401744272850, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 4641286401744272850, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _fpCamera propertyPath: _fpCamera
@ -4432,14 +4425,22 @@ PrefabInstance:
propertyPath: _BulletImpact propertyPath: _BulletImpact
value: value:
objectReference: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3} objectReference: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
- target: {fileID: 4641286401744272850, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _timeBetweenReloads
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 5428686084875064986, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 5428686084875064986, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: MuzzleFlash value: MuzzleFlash
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6980118021907165246, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 6326861089322885425, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _ammoType propertyPath: m_IsActive
value: 2 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _fpCamera
value:
objectReference: {fileID: 1874573760}
- target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: fireAction.m_Id propertyPath: fireAction.m_Id
value: 974fe4ce-65be-4370-b772-71ca6290711e value: 974fe4ce-65be-4370-b772-71ca6290711e
@ -4452,10 +4453,26 @@ PrefabInstance:
propertyPath: reloadAction.m_Id propertyPath: reloadAction.m_Id
value: 9a13135e-9c14-4a7a-a277-378fc4a31eae value: 9a13135e-9c14-4a7a-a277-378fc4a31eae
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _timeBetweenReloads
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: reloadAction.m_Name propertyPath: reloadAction.m_Name
value: Reload value: Reload
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7329372699192146221, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _input
value:
objectReference: {fileID: 1859157935}
- target: {fileID: 7329372699192146221, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _camera
value:
objectReference: {fileID: 1850161070}
- target: {fileID: 8155002089127812808, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _camera
value:
objectReference: {fileID: 1850161070}
- target: {fileID: 8294200720936265358, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3} - target: {fileID: 8294200720936265358, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
propertyPath: _gameOverCanvas propertyPath: _gameOverCanvas
value: value:

View File

@ -41,6 +41,8 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 4838220252604734} - component: {fileID: 4838220252604734}
- component: {fileID: 971410133006304364} - component: {fileID: 971410133006304364}
- component: {fileID: 1537282594975695390}
- component: {fileID: 7047714336720636310}
m_Layer: 0 m_Layer: 0
m_Name: Crossbow m_Name: Crossbow
m_TagString: Untagged m_TagString: Untagged
@ -77,6 +79,51 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3} m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_range: 100
_weaponDamage: 100
_timeBetweenShots: 2
_fpCamera: {fileID: 0}
_muzzleFlash: {fileID: 0}
_bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
_ammo: {fileID: 1537282594975695390}
--- !u!114 &1537282594975695390
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1519058888169846}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
m_Name:
m_EditorClassIdentifier:
_ammoType: 1
_maxBeltAmmoAmount: 10
_maxMagAmmoAmount: 1
_currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 0
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
--- !u!114 &7047714336720636310
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1519058888169846}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b8a4e9bfb741aa96889e5df5a06cba, type: 3}
m_Name:
m_EditorClassIdentifier:
_fovNormal: 40
_senseNormal: 1
_fovZoom: 20
_senseZoom: 0.5
_input: {fileID: 0}
_camera: {fileID: 0}
_zoomedIn: 0
--- !u!1 &1768035638187606 --- !u!1 &1768035638187606
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -93,6 +93,7 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 4531602420244830} - component: {fileID: 4531602420244830}
- component: {fileID: 3010920642945371858} - component: {fileID: 3010920642945371858}
- component: {fileID: 4085014607242062707}
m_Layer: 0 m_Layer: 0
m_Name: Handgun m_Name: Handgun
m_TagString: Untagged m_TagString: Untagged
@ -128,3 +129,29 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3} m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_range: 100
_weaponDamage: 50
_timeBetweenShots: 1
_fpCamera: {fileID: 0}
_muzzleFlash: {fileID: 0}
_bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
_ammo: {fileID: 4085014607242062707}
--- !u!114 &4085014607242062707
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1082139071658744}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
m_Name:
m_EditorClassIdentifier:
_ammoType: 3
_maxBeltAmmoAmount: 20
_maxMagAmmoAmount: 4
_currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 0
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}

View File

@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 453068} - component: {fileID: 453068}
- component: {fileID: 5719313868755367213} - component: {fileID: 5719313868755367213}
- component: {fileID: 5655468185604888337} - component: {fileID: 5655468185604888337}
- component: {fileID: 1366121443174139284}
- component: {fileID: 3316574} - component: {fileID: 3316574}
- component: {fileID: 2346984} - component: {fileID: 2346984}
m_Layer: 0 m_Layer: 0
@ -48,11 +49,12 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_range: 100 _range: 100
_weaponDamage: 25 _weaponDamage: 4
_timeBetweenShots: 0.1
_fpCamera: {fileID: 0} _fpCamera: {fileID: 0}
_muzzleFlash: {fileID: 0} _muzzleFlash: {fileID: 0}
_bulletImpact: {fileID: 0} _bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
_ammo: {fileID: 0} _ammo: {fileID: 5655468185604888337}
--- !u!114 &5655468185604888337 --- !u!114 &5655468185604888337
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -65,13 +67,32 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3} m_Script: {fileID: 11500000, guid: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_ammoType: 0 _ammoType: 2
_maxBeltAmmoAmount: 0 _maxBeltAmmoAmount: 300
_maxMagAmmoAmount: 0 _maxMagAmmoAmount: 45
_currentBeltAmmoAmount: 0 _currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 0 _currentMagAmmoAmount: 0
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2} _S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2} _S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
--- !u!114 &1366121443174139284
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 118234}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b8a4e9bfb741aa96889e5df5a06cba, type: 3}
m_Name:
m_EditorClassIdentifier:
_fovNormal: 0
_senseNormal: 0
_fovZoom: 0
_senseZoom: 0
_input: {fileID: 0}
_camera: {fileID: 0}
_zoomedIn: 0
--- !u!33 &3316574 --- !u!33 &3316574
MeshFilter: MeshFilter:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 417070} - component: {fileID: 417070}
- component: {fileID: 1703679832321447341} - component: {fileID: 1703679832321447341}
- component: {fileID: 8817107657672854186} - component: {fileID: 8817107657672854186}
- component: {fileID: 3637412066234339666}
m_Layer: 0 m_Layer: 0
m_Name: Revolver m_Name: Revolver
m_TagString: Untagged m_TagString: Untagged
@ -51,6 +52,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_range: 100 _range: 100
_weaponDamage: 25 _weaponDamage: 25
_timeBetweenShots: 0.5
_fpCamera: {fileID: 0} _fpCamera: {fileID: 0}
_muzzleFlash: {fileID: 6070271853189258210} _muzzleFlash: {fileID: 6070271853189258210}
_bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3} _bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
@ -68,12 +70,31 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_ammoType: 0 _ammoType: 0
_maxBeltAmmoAmount: 150 _maxBeltAmmoAmount: 45
_maxMagAmmoAmount: 7 _maxMagAmmoAmount: 7
_currentBeltAmmoAmount: 0 _currentBeltAmmoAmount: 0
_currentMagAmmoAmount: 3 _currentMagAmmoAmount: 3
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2} _S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2} _S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
--- !u!114 &3637412066234339666
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 117070}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b8a4e9bfb741aa96889e5df5a06cba, type: 3}
m_Name:
m_EditorClassIdentifier:
_fovNormal: 40
_senseNormal: 1
_fovZoom: 20
_senseZoom: 0.5
_input: {fileID: 0}
_camera: {fileID: 0}
_zoomedIn: 0
--- !u!1 &160878 --- !u!1 &160878
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -1,10 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class Weapon : MonoBehaviour public class Weapon : MonoBehaviour
{ {
[Header("Config")] [Header("Config")]
[SerializeField] private int _index;
[SerializeField] private float _range = 100f; [SerializeField] private float _range = 100f;
[SerializeField] private float _weaponDamage = 25f; [SerializeField] private float _weaponDamage = 25f;
[SerializeField] private float _timeBetweenShots;
[SerializeField] private float _timeBetweenReloads;
[Header("Connections")] [Header("Connections")]
[SerializeField] private Camera _fpCamera; [SerializeField] private Camera _fpCamera;
@ -12,38 +17,66 @@ public class Weapon : MonoBehaviour
[SerializeField] private GameObject _bulletImpact; [SerializeField] private GameObject _bulletImpact;
[SerializeField] private Ammo _ammo; [SerializeField] private Ammo _ammo;
[Header("State")]
[SerializeField] private bool _canShoot;
private void Awake() private void Awake()
{ {
_canShoot = true;
_fpCamera = FindObjectOfType<Camera>(); _fpCamera = FindObjectOfType<Camera>();
_muzzleFlash = GetComponentInChildren<ParticleSystem>(); _muzzleFlash = GetComponentInChildren<ParticleSystem>();
_ammo = GetComponent<Ammo>(); _ammo = GetComponent<Ammo>();
} }
public int Index
{
get => _index;
set => _index = value;
}
public void OnFire() public void OnFire()
{ {
Shoot(); if (_canShoot)
{
StartCoroutine(Shoot());
}
} }
public void OnReload() public void OnReload()
{ {
print($"Reloading {gameObject.name}"); StartCoroutine(Reload());
_ammo.Reload();
} }
private void Shoot() IEnumerator Reload()
{ {
_canShoot = false;
print($"Reloading {gameObject.name}");
_ammo.Reload();
yield return new WaitForSeconds(_timeBetweenReloads);
_canShoot = true;
}
IEnumerator Shoot()
{
_canShoot = false;
if (_ammo.CurrentMagAmmoAmount > 0) if (_ammo.CurrentMagAmmoAmount > 0)
{ {
_ammo.ModifyMagAmmo(-1); _ammo.ModifyMagAmmo(-1);
Animation(); Animation();
ProcessHit(); ProcessHit();
} }
yield return new WaitForSeconds(_timeBetweenShots);
_canShoot = true;
} }
private void Animation() private void Animation()
{
if (_muzzleFlash != null)
{ {
_muzzleFlash.Play(); _muzzleFlash.Play();
} }
}
private void ProcessHit() private void ProcessHit()
{ {

View File

@ -0,0 +1,62 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class WeaponSwitcher : MonoBehaviour
{
[Header("Config")]
[SerializeField] private Weapon[] _weapons;
[Header("State")]
[SerializeField] private int _currentWeapon;
private void OnEnable()
{
_weapons = GetComponentsInChildren<Weapon>();
var i = 0;
foreach (Weapon weapon in _weapons)
{
weapon.Index = i;
i++;
}
_currentWeapon = 0;
SelectWeapon(_currentWeapon);
}
private void SelectWeapon(int index)
{
foreach (Weapon weapon in _weapons)
{
if (weapon.Index == _currentWeapon)
{
weapon.gameObject.SetActive(true);
}
}
}
private void DeselectAllWeapons()
{
foreach (Weapon weapon in _weapons)
{
weapon.gameObject.SetActive(false);
}
}
private void Update()
{
if (Mouse.current.middleButton.wasPressedThisFrame)
{
_currentWeapon += 1;
if (_currentWeapon > _weapons.Length - 1)
{
_currentWeapon = 0;
}
DeselectAllWeapons();
SelectWeapon(_currentWeapon);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 51cf941944fb27e43863c290683f7068
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -20,7 +20,7 @@ public class WeaponZoom : MonoBehaviour
private void OnEnable() private void OnEnable()
{ {
_input = GetComponent<StarterAssetsInputs>(); _input = GetComponentInParent<StarterAssetsInputs>();
_camera = FindObjectOfType<CinemachineVirtualCamera>(); _camera = FindObjectOfType<CinemachineVirtualCamera>();
Debug.Assert(_camera != null, nameof(_camera) + " != null"); Debug.Assert(_camera != null, nameof(_camera) + " != null");
_fovNormal = _camera.m_Lens.FieldOfView; _fovNormal = _camera.m_Lens.FieldOfView;
@ -40,6 +40,5 @@ public class WeaponZoom : MonoBehaviour
_input.MouseScale = _senseNormal; _input.MouseScale = _senseNormal;
_camera.m_Lens.FieldOfView = _fovNormal; _camera.m_Lens.FieldOfView = _fovNormal;
} }
} }
} }