parent
2dbd212481
commit
f624dace6d
|
@ -185,7 +185,7 @@
|
|||
"id": "ed66cbff-2900-4a62-8896-696503cfcd31",
|
||||
"path": "<Pointer>/delta",
|
||||
"interactions": "",
|
||||
"processors": "InvertVector2(invertX=false),ScaleVector2(x=0.05,y=0.05)",
|
||||
"processors": "InvertVector2(invertX=false),ScaleVector2(x=0.15,y=0.15)",
|
||||
"groups": "KeyboardMouse",
|
||||
"action": "Look",
|
||||
"isComposite": false,
|
||||
|
|
|
@ -398,7 +398,7 @@ Transform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 774924462}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &101430667
|
||||
PrefabInstance:
|
||||
|
@ -781,6 +781,30 @@ Transform:
|
|||
m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3}
|
||||
m_PrefabInstance: {fileID: 1215845398}
|
||||
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
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -812,7 +836,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 774924462}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -1571,6 +1595,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 1004910984}
|
||||
- {fileID: 1722452409}
|
||||
- {fileID: 925195242}
|
||||
- {fileID: 520203988}
|
||||
- {fileID: 1400272403}
|
||||
- {fileID: 89176748}
|
||||
|
@ -1966,6 +1991,158 @@ Transform:
|
|||
m_CorrespondingSourceObject: {fileID: 400000, guid: ab33e6080ae416b4d899f39fa8951b98, type: 3}
|
||||
m_PrefabInstance: {fileID: 923022665}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &925195241
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 925195242}
|
||||
- component: {fileID: 925195245}
|
||||
- component: {fileID: 925195244}
|
||||
- component: {fileID: 925195243}
|
||||
m_Layer: 5
|
||||
m_Name: MagAmmoText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &925195242
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 925195241}
|
||||
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: 774924462}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 20, y: 20}
|
||||
m_SizeDelta: {x: 400, y: 40}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &925195243
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 925195241}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 'Mag ammo: 99999'
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!114 &925195244
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 925195241}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 208857bb9f1bc8c48a08050795732b0a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_prefix: 'Mag ammo: '
|
||||
_variable: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
|
||||
_textObject: {fileID: 925195243}
|
||||
_text:
|
||||
--- !u!222 &925195245
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 925195241}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1001 &945433442
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2857,7 +3034,7 @@ RectTransform:
|
|||
- {fileID: 63075908}
|
||||
- {fileID: 1286262076}
|
||||
m_Father: {fileID: 774924462}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -2968,6 +3145,30 @@ Transform:
|
|||
m_CorrespondingSourceObject: {fileID: 400000, guid: 2b127815fd0f2074eae3a0c6a4786d0b, type: 3}
|
||||
m_PrefabInstance: {fileID: 304950691}
|
||||
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
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3269,9 +3470,10 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 1722452409}
|
||||
- component: {fileID: 1722452411}
|
||||
- component: {fileID: 1722452412}
|
||||
- component: {fileID: 1722452410}
|
||||
m_Layer: 5
|
||||
m_Name: AmmoText
|
||||
m_Name: BeltAmmoText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -3294,8 +3496,8 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 20, y: 20}
|
||||
m_SizeDelta: {x: 250, y: 40}
|
||||
m_AnchoredPosition: {x: 20, y: 60}
|
||||
m_SizeDelta: {x: 400, y: 40}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &1722452410
|
||||
MonoBehaviour:
|
||||
|
@ -3317,7 +3519,7 @@ MonoBehaviour:
|
|||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 'Ammo: 999'
|
||||
m_text: 'Belt ammo : 99999'
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
|
@ -3394,6 +3596,22 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1722452408}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1722452412
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1722452408}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 208857bb9f1bc8c48a08050795732b0a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_prefix: 'Belt ammo: '
|
||||
_variable: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
|
||||
_textObject: {fileID: 1722452410}
|
||||
_text:
|
||||
--- !u!1001 &1754370120
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3712,7 +3930,10 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_fovNormal: 40
|
||||
_senseNormal: 1
|
||||
_fovZoom: 20
|
||||
_senseZoom: 0.5
|
||||
_input: {fileID: 0}
|
||||
_camera: {fileID: 1850161070}
|
||||
_zoomedIn: 0
|
||||
--- !u!20 &1874573760 stripped
|
||||
|
@ -3966,7 +4187,7 @@ PrefabInstance:
|
|||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1834225747245264377, guid: 3a896632310e02b468121bf09411f87e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -42.2
|
||||
value: -9.2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1834225747245264377, guid: 3a896632310e02b468121bf09411f87e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
|
@ -3974,7 +4195,7 @@ PrefabInstance:
|
|||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1834225747245264377, guid: 3a896632310e02b468121bf09411f87e, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 19.77
|
||||
value: 6.2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1834225747245264377, guid: 3a896632310e02b468121bf09411f87e, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
|
@ -4215,6 +4436,10 @@ PrefabInstance:
|
|||
propertyPath: m_Name
|
||||
value: MuzzleFlash
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6980118021907165246, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
|
||||
propertyPath: _ammoType
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7060812621224890882, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
|
||||
propertyPath: fireAction.m_Id
|
||||
value: 974fe4ce-65be-4370-b772-71ca6290711e
|
||||
|
@ -4263,6 +4488,10 @@ PrefabInstance:
|
|||
propertyPath: m_NotificationBehavior
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8729095170121787993, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
|
||||
propertyPath: _maxHealth
|
||||
value: 50000
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8997996947095583982, guid: c5efc39a8aaf6e64ea40e9ad573e9b47, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class UIVariable : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private string _prefix;
|
||||
[SerializeField] private FloatVariable _variable;
|
||||
[SerializeField] private TextMeshProUGUI _textObject;
|
||||
[SerializeField] private string _text;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_textObject = GetComponent<TextMeshProUGUI>();
|
||||
_text = _textObject.text;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
_textObject.text = _prefix + _variable.Value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 208857bb9f1bc8c48a08050795732b0a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,106 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Ammo : MonoBehaviour
|
||||
{
|
||||
[Header("Config")]
|
||||
[SerializeField] private int _ammoType;
|
||||
[SerializeField] private int _maxBeltAmmoAmount;
|
||||
[SerializeField] private int _maxMagAmmoAmount;
|
||||
|
||||
[Header("State")]
|
||||
[SerializeField] private int _currentBeltAmmoAmount;
|
||||
[SerializeField] private int _currentMagAmmoAmount;
|
||||
|
||||
[Header("Connections")]
|
||||
[SerializeField] private FloatVariable _S_currentBeltAmmoAmount;
|
||||
[SerializeField] private FloatVariable _S_currentMagAmmoAmount;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_currentBeltAmmoAmount = _maxBeltAmmoAmount;
|
||||
_currentMagAmmoAmount = _maxMagAmmoAmount;
|
||||
}
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public int AmmoType
|
||||
{
|
||||
get => _ammoType;
|
||||
set => _ammoType = value;
|
||||
}
|
||||
|
||||
public int MaxMagAmmoAmount
|
||||
{
|
||||
get => _maxMagAmmoAmount;
|
||||
set => _maxMagAmmoAmount = value;
|
||||
}
|
||||
|
||||
public int CurrentMagAmmoAmount
|
||||
{
|
||||
get => _currentMagAmmoAmount;
|
||||
set => _currentMagAmmoAmount = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Setters
|
||||
|
||||
public void Reload()
|
||||
{
|
||||
int diff = _maxMagAmmoAmount - _currentMagAmmoAmount;
|
||||
print(diff);
|
||||
if (diff < _currentBeltAmmoAmount)
|
||||
{
|
||||
_currentBeltAmmoAmount -= diff;
|
||||
_currentMagAmmoAmount += diff;
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentMagAmmoAmount += _currentBeltAmmoAmount;
|
||||
_currentBeltAmmoAmount = 0;
|
||||
}
|
||||
|
||||
AmmoUpdate();
|
||||
}
|
||||
|
||||
public void ModifyMagAmmo(int modifyValue)
|
||||
{
|
||||
_currentMagAmmoAmount += modifyValue;
|
||||
if (_currentMagAmmoAmount > _maxMagAmmoAmount)
|
||||
{
|
||||
_currentMagAmmoAmount = _maxMagAmmoAmount;
|
||||
}
|
||||
|
||||
if (_currentMagAmmoAmount <= 0)
|
||||
{
|
||||
_currentMagAmmoAmount = 0;
|
||||
}
|
||||
|
||||
AmmoUpdate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Getters
|
||||
|
||||
public float GetMagazineAmmoFactor()
|
||||
{
|
||||
return _currentMagAmmoAmount / (float)_maxMagAmmoAmount;
|
||||
}
|
||||
|
||||
public float GetBeltAmmoFactor()
|
||||
{
|
||||
return _currentBeltAmmoAmount / (float)_maxBeltAmmoAmount;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void AmmoUpdate()
|
||||
{
|
||||
_S_currentBeltAmmoAmount.Value = _currentBeltAmmoAmount;
|
||||
_S_currentMagAmmoAmount.Value = _currentMagAmmoAmount;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 97c35481a551c3a4d9d5f0e3fe13a03d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,15 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1dc60414db7c7e84b80ebf750c4680cc, type: 3}
|
||||
m_Name: BeltAmmo
|
||||
m_EditorClassIdentifier:
|
||||
_value: 0
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f19d1fc1d5102a545800f4f8273640b1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,13 @@
|
|||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(menuName = "FloatVariable")]
|
||||
public class FloatVariable : ScriptableObject
|
||||
{
|
||||
[SerializeField] private float _value;
|
||||
|
||||
public float Value
|
||||
{
|
||||
get => _value;
|
||||
set => this._value = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1dc60414db7c7e84b80ebf750c4680cc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -10,6 +10,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 453068}
|
||||
- component: {fileID: 5719313868755367213}
|
||||
- component: {fileID: 5655468185604888337}
|
||||
- component: {fileID: 3316574}
|
||||
- component: {fileID: 2346984}
|
||||
m_Layer: 0
|
||||
|
@ -46,6 +47,31 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_range: 100
|
||||
_weaponDamage: 25
|
||||
_fpCamera: {fileID: 0}
|
||||
_muzzleFlash: {fileID: 0}
|
||||
_bulletImpact: {fileID: 0}
|
||||
_ammo: {fileID: 0}
|
||||
--- !u!114 &5655468185604888337
|
||||
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: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_ammoType: 0
|
||||
_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!33 &3316574
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1dc60414db7c7e84b80ebf750c4680cc, type: 3}
|
||||
m_Name: MagazineAmmo
|
||||
m_EditorClassIdentifier:
|
||||
_value: 0
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9a77ec14c64717643bed1c6e7a3885ae
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -10,6 +10,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 417070}
|
||||
- component: {fileID: 1703679832321447341}
|
||||
- component: {fileID: 8817107657672854186}
|
||||
m_Layer: 0
|
||||
m_Name: Revolver
|
||||
m_TagString: Untagged
|
||||
|
@ -48,11 +49,31 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 01ef216392c8f33409f2efcd91f4e510, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_range: 100
|
||||
_weaponDamage: 25
|
||||
_fpCamera: {fileID: 0}
|
||||
_muzzleFlash: {fileID: 6070271853189258210}
|
||||
_bulletImpact: {fileID: 252487699782519274, guid: 82851982cb47c134a8403ffcb052b9d2, type: 3}
|
||||
_range: 100
|
||||
_weaponDamage: 25
|
||||
_ammo: {fileID: 8817107657672854186}
|
||||
--- !u!114 &8817107657672854186
|
||||
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: 97c35481a551c3a4d9d5f0e3fe13a03d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_ammoType: 0
|
||||
_maxBeltAmmoAmount: 150
|
||||
_maxMagAmmoAmount: 7
|
||||
_currentBeltAmmoAmount: 0
|
||||
_currentMagAmmoAmount: 3
|
||||
_S_currentBeltAmmoAmount: {fileID: 11400000, guid: f19d1fc1d5102a545800f4f8273640b1, type: 2}
|
||||
_S_currentMagAmmoAmount: {fileID: 11400000, guid: 9a77ec14c64717643bed1c6e7a3885ae, type: 2}
|
||||
--- !u!1 &160878
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -2,16 +2,21 @@ using UnityEngine;
|
|||
|
||||
public class Weapon : MonoBehaviour
|
||||
{
|
||||
[Header("Config")]
|
||||
[SerializeField] private float _range = 100f;
|
||||
[SerializeField] private float _weaponDamage = 25f;
|
||||
|
||||
[Header("Connections")]
|
||||
[SerializeField] private Camera _fpCamera;
|
||||
[SerializeField] private ParticleSystem _muzzleFlash;
|
||||
[SerializeField] private GameObject _bulletImpact;
|
||||
[SerializeField] private float _range = 100f;
|
||||
[SerializeField] private float _weaponDamage = 25f;
|
||||
[SerializeField] private Ammo _ammo;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_fpCamera = FindObjectOfType<Camera>();
|
||||
_muzzleFlash = GetComponentInChildren<ParticleSystem>();
|
||||
_ammo = GetComponent<Ammo>();
|
||||
}
|
||||
|
||||
public void OnFire()
|
||||
|
@ -22,13 +27,18 @@ public class Weapon : MonoBehaviour
|
|||
public void OnReload()
|
||||
{
|
||||
print($"Reloading {gameObject.name}");
|
||||
_ammo.Reload();
|
||||
}
|
||||
|
||||
private void Shoot()
|
||||
{
|
||||
if (_ammo.CurrentMagAmmoAmount > 0)
|
||||
{
|
||||
_ammo.ModifyMagAmmo(-1);
|
||||
Animation();
|
||||
ProcessHit();
|
||||
}
|
||||
}
|
||||
|
||||
private void Animation()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue