diff --git a/Assets/Prefab/CharBar.prefab b/Assets/Prefab/BarCAnvas.prefab similarity index 99% rename from Assets/Prefab/CharBar.prefab rename to Assets/Prefab/BarCAnvas.prefab index fb5d942c..a8eeed0e 100644 --- a/Assets/Prefab/CharBar.prefab +++ b/Assets/Prefab/BarCAnvas.prefab @@ -160,7 +160,7 @@ GameObject: - component: {fileID: 1271697267505620599} - component: {fileID: 482855193181693567} m_Layer: 5 - m_Name: CharBar + m_Name: BarCAnvas m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -231,7 +231,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 + m_PresetInfoIsWorld: 1 --- !u!114 &1271697267505620599 MonoBehaviour: m_ObjectHideFlags: 0 @@ -413,10 +413,10 @@ MonoBehaviour: m_Type: 3 m_PreserveAspect: 0 m_FillCenter: 1 - m_FillMethod: 4 + m_FillMethod: 1 m_FillAmount: 1 m_FillClockwise: 1 - m_FillOrigin: 2 + m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 --- !u!1 &8978451512121849335 diff --git a/Assets/Prefab/CharBar.prefab.meta b/Assets/Prefab/BarCAnvas.prefab.meta similarity index 100% rename from Assets/Prefab/CharBar.prefab.meta rename to Assets/Prefab/BarCAnvas.prefab.meta diff --git a/Assets/Resources/1/Animation/Character/TestController.controller b/Assets/Resources/1/Animation/Character/TestController.controller index be7f372f..453ec42c 100644 --- a/Assets/Resources/1/Animation/Character/TestController.controller +++ b/Assets/Resources/1/Animation/Character/TestController.controller @@ -396,7 +396,7 @@ AnimatorState: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: New State + m_Name: Death m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] diff --git a/Assets/Resources/Data/EnemyData.asset b/Assets/Resources/Data/EnemyData.asset deleted file mode 100644 index fcff94de..00000000 --- a/Assets/Resources/Data/EnemyData.asset +++ /dev/null @@ -1,33 +0,0 @@ -%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: a68fdab0e3dd421d93555195f3a2bd5b, type: 3} - m_Name: EnemyData - m_EditorClassIdentifier: - _enemies: - - spawnPos: - x: 1 - z: 1 - playerPrefab: {fileID: 742650227762578155, guid: 97b4a76c55741764e880b63d6e1514a9, - type: 3} - color: 0 - maxHP: 100 - maxMana: 100 - manaRegen: 10 - - spawnPos: - x: 9 - z: 2 - playerPrefab: {fileID: 8887939040951305984, guid: 1a81dbbd6ef62324491d9f58654ebe4b, - type: 3} - color: 1 - maxHP: 100 - maxMana: 100 - manaRegen: 10 diff --git a/Assets/Resources/Data/EnemyData.asset.meta b/Assets/Resources/Data/EnemyData.asset.meta deleted file mode 100644 index abe9e954..00000000 --- a/Assets/Resources/Data/EnemyData.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 577fce00c14ef4b4d8206e16223dfd5a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Resources/Data/UnitsData.asset b/Assets/Resources/Data/UnitsData.asset index ea3c4729..c59db65d 100644 --- a/Assets/Resources/Data/UnitsData.asset +++ b/Assets/Resources/Data/UnitsData.asset @@ -20,7 +20,7 @@ MonoBehaviour: unitPrefa: {fileID: 7527582019267571087, guid: f102085e8bc4cad4992d43b84dee1055, type: 3} color: 3 - manaRegen: 10 + manaRegen: 5 maxMana: 100 maxHP: 100 - isPlayer: 0 diff --git a/Assets/Scenes/Level 1.unity b/Assets/Scenes/Level 1.unity index f70e1c9b..9e920c6e 100644 --- a/Assets/Scenes/Level 1.unity +++ b/Assets/Scenes/Level 1.unity @@ -322,6 +322,106 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &848981950 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 848981954} + - component: {fileID: 848981953} + - component: {fileID: 848981952} + - component: {fileID: 848981951} + m_Layer: 5 + m_Name: PauseMEnu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &848981951 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848981950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &848981952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848981950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &848981953 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848981950} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &848981954 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848981950} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1257311149} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -423,6 +523,126 @@ MonoBehaviour: blendDistance: 0 weight: 1 priority: 0 +--- !u!1 &1257311148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1257311149} + - component: {fileID: 1257311152} + - component: {fileID: 1257311151} + - component: {fileID: 1257311150} + m_Layer: 5 + m_Name: Pause + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1257311149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257311148} + 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_Children: [] + m_Father: {fileID: 848981954} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 80, y: -80} + m_SizeDelta: {x: 128, y: 128} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1257311150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257311148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1257311151} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1257311151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257311148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: 1f6359cc39532464595f4eeeedb325e0, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1257311152 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257311148} + m_CullTransparentMesh: 1 --- !u!1 &1475618468 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Units/PlayerControl.cs b/Assets/Scripts/Units/PlayerControl.cs index 03132c1e..2939e302 100644 --- a/Assets/Scripts/Units/PlayerControl.cs +++ b/Assets/Scripts/Units/PlayerControl.cs @@ -32,7 +32,7 @@ namespace Chars private void DoAttack() { _unit.UnitView.AimCanvas.SetActive(false); - _unit.StartAttack(_attackDircetion); + _unit.StartAttack(); } private void AimCanvas() diff --git a/Assets/Scripts/Units/Unit.cs b/Assets/Scripts/Units/Unit.cs index e7c34547..d565b832 100644 --- a/Assets/Scripts/Units/Unit.cs +++ b/Assets/Scripts/Units/Unit.cs @@ -135,8 +135,14 @@ namespace Units private void Attacking() { + if (_direction.Equals(Vector2.zero)) + { + _direction = new Vector2(_unitView.transform.forward.x, _unitView.transform.forward.z); + } + var ball = Object.Instantiate(_weapon.objectToThrow, - _instance.transform.forward + _instance.transform.position + new Vector3(0, 2), _instance.transform.rotation); + _instance.transform.forward + _instance.transform.position + new Vector3(0, 2), + _instance.transform.rotation); ball.GetComponent().SetWeapon(_weapon); ball.transform.DOMove( new Vector3(_direction.normalized.x, @@ -178,22 +184,26 @@ namespace Units _unitView.OnHit -= Damage; _isAlive = false; _animator.SetTrigger("Death"); - } - public void StartAttack(Vector2 direction) + public void StartAttack() { if (!_isBusy && _unitView.Shoot()) { _isBusy = true; + if (!_direction.Equals(Vector2.zero)) + _unitView.transform.DOLookAt( + new Vector3(_direction.x, 0, _direction.y) + _unitView.transform.position, + 0.3f); _animator.SetTrigger("Attack"); } } public void Aim(Vector2 direction) { - _unitView.transform.LookAt(new Vector3(direction.x, 0, direction.y) + _unitView.transform.position); + _unitView.AimCanvas.transform.LookAt( + new Vector3(direction.x, 0, direction.y) + _unitView.transform.position); _direction = direction; } diff --git a/Assets/Scripts/Units/Views/UnitView.cs b/Assets/Scripts/Units/Views/UnitView.cs index 888afd06..cd0b018d 100644 --- a/Assets/Scripts/Units/Views/UnitView.cs +++ b/Assets/Scripts/Units/Views/UnitView.cs @@ -15,6 +15,7 @@ public class UnitView : MonoBehaviour public Action OnHit; [SerializeField] private GameObject barCanvas; [SerializeField] private GameObject aimCanvas; + private Stack _shootUIStack; private Stack _toReloadStack; @@ -104,7 +105,7 @@ public class UnitView : MonoBehaviour private IEnumerator Regen() { - if (_mana >= 100) + if (_mana >= 100) //TODO если пользовать ману во время регенерации, то мана не тратится. { yield break; }