From c1349a282865329d0e95b9f43ac350887ac80dd8 Mon Sep 17 00:00:00 2001 From: Nikita Kruglickiy Date: Sat, 16 Mar 2024 22:10:25 +0300 Subject: [PATCH 1/4] Disable build --- .gitea/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index be13d81..5f8b9f0 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -1,7 +1,7 @@ -on: - push: - branches: - - main +#on: +# push: +# branches: +# - main jobs: build: From 1bbe27ad8cc4064f7d30df84a6b5b749ed951fbe Mon Sep 17 00:00:00 2001 From: Nikita Kruglickiy Date: Sat, 16 Mar 2024 22:16:34 +0300 Subject: [PATCH 2/4] Disable build --- .gitea/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 5f8b9f0..d9d2f07 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -1,3 +1,6 @@ +on: + workflow_dispatch: + #on: # push: # branches: From faa5d9e22ca9bbba107bba244d426ec0a39ea20a Mon Sep 17 00:00:00 2001 From: Nikita Kruglickiy Date: Sat, 16 Mar 2024 23:54:50 +0300 Subject: [PATCH 3/4] =?UTF-8?q?#13=20=D0=97=D0=B2=D1=83=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D0=B4=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_Prefabs/Door Single.prefab | 2 ++ .../3D Free Modular Kit/_Prefabs/Door.prefab | 4 ++- Assets/Resources/Audio/Env.meta | 8 ++++++ Assets/Resources/Audio/Env/door-close.mp3 | 3 +++ .../Resources/Audio/Env/door-close.mp3.meta | 22 ++++++++++++++++ Assets/Resources/Audio/Env/door-close2.mp3 | 3 +++ .../Resources/Audio/Env/door-close2.mp3.meta | 22 ++++++++++++++++ Assets/Resources/Audio/Env/door-open.mp3 | 3 +++ Assets/Resources/Audio/Env/door-open.mp3.meta | 22 ++++++++++++++++ Assets/Resources/Audio/Env/door-open2.mp3 | 3 +++ .../Resources/Audio/Env/door-open2.mp3.meta | 22 ++++++++++++++++ Assets/Scenes/Space.unity | 20 ++++++++------ .../Environment/Interactive/SciFiDoor.cs | 26 ++++++++++++++++++- 13 files changed, 150 insertions(+), 10 deletions(-) create mode 100644 Assets/Resources/Audio/Env.meta create mode 100644 Assets/Resources/Audio/Env/door-close.mp3 create mode 100644 Assets/Resources/Audio/Env/door-close.mp3.meta create mode 100644 Assets/Resources/Audio/Env/door-close2.mp3 create mode 100644 Assets/Resources/Audio/Env/door-close2.mp3.meta create mode 100644 Assets/Resources/Audio/Env/door-open.mp3 create mode 100644 Assets/Resources/Audio/Env/door-open.mp3.meta create mode 100644 Assets/Resources/Audio/Env/door-open2.mp3 create mode 100644 Assets/Resources/Audio/Env/door-open2.mp3.meta diff --git a/Assets/Environment/3D Free Modular Kit/_Prefabs/Door Single.prefab b/Assets/Environment/3D Free Modular Kit/_Prefabs/Door Single.prefab index 8cc1cb4..b2a737d 100644 --- a/Assets/Environment/3D Free Modular Kit/_Prefabs/Door Single.prefab +++ b/Assets/Environment/3D Free Modular Kit/_Prefabs/Door Single.prefab @@ -165,6 +165,8 @@ MonoBehaviour: syncMode: 0 syncInterval: 0.1 state: 0 + openClip: {fileID: 8300000, guid: 9c008e5df09e6a9468f26639dc43fb1c, type: 3} + closeClip: {fileID: 8300000, guid: de03bb61d997f68419fe5c9c7eb6a3d6, type: 3} duration: 2 offset: 2.5 oCurva: diff --git a/Assets/Environment/3D Free Modular Kit/_Prefabs/Door.prefab b/Assets/Environment/3D Free Modular Kit/_Prefabs/Door.prefab index cbc08ce..e94bc8a 100644 --- a/Assets/Environment/3D Free Modular Kit/_Prefabs/Door.prefab +++ b/Assets/Environment/3D Free Modular Kit/_Prefabs/Door.prefab @@ -530,7 +530,7 @@ AudioSource: OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 8300000, guid: 089ede39b7c6649a881da9b3834212c9, type: 3} m_PlayOnAwake: 0 - m_Volume: 1 + m_Volume: 0.5 m_Pitch: 1 Loop: 0 Mute: 0 @@ -646,6 +646,8 @@ MonoBehaviour: syncMode: 0 syncInterval: 0.1 state: 0 + openClip: {fileID: 8300000, guid: 9c008e5df09e6a9468f26639dc43fb1c, type: 3} + closeClip: {fileID: 8300000, guid: de03bb61d997f68419fe5c9c7eb6a3d6, type: 3} duration: 2 offset: 2.5 oCurva: diff --git a/Assets/Resources/Audio/Env.meta b/Assets/Resources/Audio/Env.meta new file mode 100644 index 0000000..1603fa3 --- /dev/null +++ b/Assets/Resources/Audio/Env.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eeb6f6857c4a4b0439a759086260ce48 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/Env/door-close.mp3 b/Assets/Resources/Audio/Env/door-close.mp3 new file mode 100644 index 0000000..7d0f499 --- /dev/null +++ b/Assets/Resources/Audio/Env/door-close.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc0b44f20c1917979490cd21fe7a3648e46cf4b8659346801b4bf777c1d66cdf +size 25912 diff --git a/Assets/Resources/Audio/Env/door-close.mp3.meta b/Assets/Resources/Audio/Env/door-close.mp3.meta new file mode 100644 index 0000000..ddb1e0e --- /dev/null +++ b/Assets/Resources/Audio/Env/door-close.mp3.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 39e43d5108f3a1246b562f102863e60f +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/Env/door-close2.mp3 b/Assets/Resources/Audio/Env/door-close2.mp3 new file mode 100644 index 0000000..e4a1083 --- /dev/null +++ b/Assets/Resources/Audio/Env/door-close2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a4ccc424495938beca69ee15582660aa9a9cc92c98eab6f2df9db8f794b8d0d +size 27375 diff --git a/Assets/Resources/Audio/Env/door-close2.mp3.meta b/Assets/Resources/Audio/Env/door-close2.mp3.meta new file mode 100644 index 0000000..f43800e --- /dev/null +++ b/Assets/Resources/Audio/Env/door-close2.mp3.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: de03bb61d997f68419fe5c9c7eb6a3d6 +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/Env/door-open.mp3 b/Assets/Resources/Audio/Env/door-open.mp3 new file mode 100644 index 0000000..fff0709 --- /dev/null +++ b/Assets/Resources/Audio/Env/door-open.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:962c57d5822b4af558f46fcae1e7fd610de2456deff76c7524d4c19ca1c0b630 +size 20688 diff --git a/Assets/Resources/Audio/Env/door-open.mp3.meta b/Assets/Resources/Audio/Env/door-open.mp3.meta new file mode 100644 index 0000000..2a8e440 --- /dev/null +++ b/Assets/Resources/Audio/Env/door-open.mp3.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 36f2743cdc7732b479c91ebb0220c2bc +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/Env/door-open2.mp3 b/Assets/Resources/Audio/Env/door-open2.mp3 new file mode 100644 index 0000000..7c06eda --- /dev/null +++ b/Assets/Resources/Audio/Env/door-open2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3ebdaa820e6e81a653a1b34c46df5f9719bec12af6e71b5d1b279b416175a5a +size 21105 diff --git a/Assets/Resources/Audio/Env/door-open2.mp3.meta b/Assets/Resources/Audio/Env/door-open2.mp3.meta new file mode 100644 index 0000000..9eae1e9 --- /dev/null +++ b/Assets/Resources/Audio/Env/door-open2.mp3.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 9c008e5df09e6a9468f26639dc43fb1c +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Space.unity b/Assets/Scenes/Space.unity index 30a7566..a4c2f08 100644 --- a/Assets/Scenes/Space.unity +++ b/Assets/Scenes/Space.unity @@ -149,8 +149,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2719641} - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} - m_LocalPosition: {x: -3.0000353, y: 0.000001136496, z: 11.999991} + m_LocalRotation: {x: 0.22161405, y: 0.6785788, z: -0.22698912, w: 0.6624908} + m_LocalPosition: {x: -309.30713, y: 209.22267, z: 24.826782} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -7371,7 +7371,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_RootOrder - value: 5 + value: 4 objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_LocalPosition.x @@ -20502,7 +20502,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_RootOrder - value: 2 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_LocalPosition.x @@ -23785,7 +23785,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_RootOrder - value: 4 + value: 3 objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_LocalPosition.x @@ -77915,7 +77915,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 13385339066235970, guid: 66df3c5eb0b75424582840a6f8405e9b, type: 3} propertyPath: m_RootOrder - value: 7 + value: 6 objectReference: {fileID: 0} - target: {fileID: 13385339066235970, guid: 66df3c5eb0b75424582840a6f8405e9b, type: 3} propertyPath: m_LocalPosition.x @@ -144879,7 +144879,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_RootOrder - value: 3 + value: 2 objectReference: {fileID: 0} - target: {fileID: 6573182459455165619, guid: 41cf1eab2df798c4788c87b706a519d1, type: 3} propertyPath: m_LocalPosition.x @@ -144943,9 +144943,13 @@ PrefabInstance: propertyPath: sceneId value: 2022339728 objectReference: {fileID: 0} + - target: {fileID: 3933189198333053099, guid: 089b20c70699d924f8f39ed04504fe64, type: 3} + propertyPath: m_Volume + value: 0.5 + objectReference: {fileID: 0} - target: {fileID: 3933189198339639135, guid: 089b20c70699d924f8f39ed04504fe64, type: 3} propertyPath: m_RootOrder - value: 6 + value: 5 objectReference: {fileID: 0} - target: {fileID: 3933189198339639135, guid: 089b20c70699d924f8f39ed04504fe64, type: 3} propertyPath: m_LocalPosition.x diff --git a/Assets/Scripts/Environment/Interactive/SciFiDoor.cs b/Assets/Scripts/Environment/Interactive/SciFiDoor.cs index 500ed33..e178584 100644 --- a/Assets/Scripts/Environment/Interactive/SciFiDoor.cs +++ b/Assets/Scripts/Environment/Interactive/SciFiDoor.cs @@ -3,11 +3,15 @@ using System.Collections.Generic; using UnityEngine; using Mirror; +[RequireComponent(typeof(AudioSource))] public class SciFiDoor : NetworkBehaviour, IInteractable { [SyncVar] public bool state = false; + public AudioClip openClip; + public AudioClip closeClip; + public float duration = 2f, offset; public AnimationCurve oCurva; public List doorList; @@ -15,10 +19,12 @@ public class SciFiDoor : NetworkBehaviour, IInteractable private float _posX, _originX; private float _timeElapsed; + private AudioSource _audioSource; void Start() { _originX = doorList[0].localPosition.x; + _audioSource = GetComponent(); } public void Interact() { @@ -29,6 +35,10 @@ public class SciFiDoor : NetworkBehaviour, IInteractable private void CmdInteract(NetworkConnectionToClient sender = null) { state = !state; + + _audioSource.clip = state ? openClip : closeClip; + _audioSource.pitch = duration / _audioSource.clip.length; + _audioSource.Play(); } void Update() @@ -38,8 +48,22 @@ public class SciFiDoor : NetworkBehaviour, IInteractable float progress = _timeElapsed / duration; - _posX = Mathf.Lerp(_originX, _originX + offset, oCurva.Evaluate(progress)); + if (progress >= 1f) + { + _audioSource.Stop(); + + return; + } + + var t = oCurva.Evaluate(progress); + + _posX = Mathf.Lerp(_originX, _originX + offset, t); // _posX = Mathf.Lerp(_originX, _originX + offset, Mathf.SmoothStep(0, 1, progress)); + + if (_audioSource.clip) + { + _audioSource.timeSamples = Mathf.FloorToInt(Mathf.Abs(_audioSource.clip.samples * t)); + } for (int i = 1; i <= doorList.Count; i++) { From 37d1462032e920196fa2a8cfb149e4fbe1a2355d Mon Sep 17 00:00:00 2001 From: Nadar Date: Sun, 17 Mar 2024 00:00:54 +0300 Subject: [PATCH 4/4] #2 CDELAL --- .../Animations/EnemyController.controller | 445 +++++++++--------- .../Characters/Enemy/EnemyController.cs | 132 +----- .../PersonController/BasicRigidBodyPush.cs | 5 - .../PersonController/Interactions.cs | 13 +- .../PersonController/PersonController.cs | 12 +- 5 files changed, 264 insertions(+), 343 deletions(-) diff --git a/Assets/Characters/AlienCharacter/Animations/EnemyController.controller b/Assets/Characters/AlienCharacter/Animations/EnemyController.controller index 98dfd64..e5ece29 100644 --- a/Assets/Characters/AlienCharacter/Animations/EnemyController.controller +++ b/Assets/Characters/AlienCharacter/Animations/EnemyController.controller @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1101 &-6232032248366544017 +--- !u!1101 &-6818529094234887481 AnimatorStateTransition: m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} @@ -12,19 +12,71 @@ AnimatorStateTransition: m_ConditionEvent: attack m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102850212276232830} + m_DstState: {fileID: 6469307968501949992} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.38631588 + m_TransitionOffset: 0 + m_ExitTime: 0.000000018719188 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-5992129908580872030 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: attack + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6469307968501949992} m_Solo: 0 m_Mute: 0 m_IsExit: 0 serializedVersion: 3 m_TransitionDuration: 0.25 m_TransitionOffset: 0 - m_ExitTime: 0.6875 - m_HasExitTime: 0 + m_ExitTime: 0.94186044 + m_HasExitTime: 1 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1102 &-5914887121904355405 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: z fall to bite and stand 0 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 4133929114904890219} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 9175fddd2326b1545ac71cf4346baa83, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &-4063881565528374387 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -50,7 +102,7 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &-1801186109566512774 +--- !u!1101 &-3088080077202337175 AnimatorStateTransition: m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} @@ -59,19 +111,44 @@ AnimatorStateTransition: m_Name: m_Conditions: [] m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 0} + m_DstState: {fileID: 1102751178008254848} m_Solo: 0 m_Mute: 0 - m_IsExit: 1 + m_IsExit: 0 serializedVersion: 3 m_TransitionDuration: 0.25 m_TransitionOffset: 0 - m_ExitTime: 0.765625 + m_ExitTime: 0.94 m_HasExitTime: 1 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &-2680946984351937023 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: damage + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -5914887121904355405} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 1.10299 + m_TransitionOffset: 0 + m_ExitTime: 0.080844834 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &-1746738016173991043 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -106,36 +183,42 @@ AnimatorController: m_Name: EnemyController serializedVersion: 5 m_AnimatorParameters: - - m_Name: speed - m_Type: 1 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - - m_Name: attack - m_Type: 9 - m_DefaultFloat: 0 - m_DefaultInt: 0 - m_DefaultBool: 0 - m_Controller: {fileID: 9100000} - m_Name: damage m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} + - m_Name: speed + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} - m_Name: death m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: angularspeed m_Type: 1 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} + - m_Name: stun + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: attack + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -188,31 +271,6 @@ BlendTree: m_UseAutomaticThresholds: 0 m_NormalizedBlendValues: 0 m_BlendType: 3 ---- !u!1101 &1046002043389130723 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: damage - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102338065620714850} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 --- !u!1101 &1101067943808544730 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -238,78 +296,6 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &1101567344336423536 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: attack - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102850212276232830} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8655914 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101706176895985570 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: attack - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102850212276232830} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.87684727 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &1101834332879401448 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: [] - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 1102751178008254848} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8943662 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 --- !u!1101 &1101976969126293670 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -335,59 +321,6 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1102 &1102006803148897358 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: 10-death_fall_backward - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: -203655887218126122, guid: b22721dd9d763f048bbebcff37d247ad, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1102 &1102338065620714850 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: 3-great_damage_torso_front - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: -1801186109566512774} - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: -203655887218126122, guid: fcd023cdac866c54ba8bb2cae0c1a787, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: --- !u!1102 &1102467787576756274 AnimatorState: serializedVersion: 6 @@ -399,9 +332,9 @@ AnimatorState: m_Speed: 1 m_CycleOffset: 0 m_Transitions: - - {fileID: 1101567344336423536} - {fileID: 1101976969126293670} - {fileID: -4063881565528374387} + - {fileID: 8378993677699007574} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -429,7 +362,7 @@ AnimatorState: m_CycleOffset: 0 m_Transitions: - {fileID: 1101067943808544730} - - {fileID: 1101706176895985570} + - {fileID: -5992129908580872030} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -445,33 +378,6 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: ---- !u!1102 &1102850212276232830 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: 2-attack_inversed_horizontal_right_hand - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: - - {fileID: 1101834332879401448} - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: -203655887218126122, guid: 080487d9267f5544aa84f6dbe316d8cf, type: 3} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: --- !u!1107 &1107779761624041760 AnimatorStateMachine: serializedVersion: 6 @@ -483,30 +389,30 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 1102751178008254848} - m_Position: {x: 120, y: 48, z: 0} + m_Position: {x: 120, y: 50, z: 0} - serializedVersion: 1 m_State: {fileID: 1102467787576756274} - m_Position: {x: 170, y: -110, z: 0} - - serializedVersion: 1 - m_State: {fileID: 1102850212276232830} - m_Position: {x: 528, y: -144, z: 0} - - serializedVersion: 1 - m_State: {fileID: 1102338065620714850} - m_Position: {x: 630, y: 0, z: 0} - - serializedVersion: 1 - m_State: {fileID: 1102006803148897358} - m_Position: {x: 756, y: 84, z: 0} + m_Position: {x: 120, y: -110, z: 0} - serializedVersion: 1 m_State: {fileID: 2316826469527330622} - m_Position: {x: 130, y: -170, z: 0} + m_Position: {x: 120, y: -170, z: 0} + - serializedVersion: 1 + m_State: {fileID: 3530830070236652748} + m_Position: {x: 560, y: 440, z: 0} + - serializedVersion: 1 + m_State: {fileID: -5914887121904355405} + m_Position: {x: 650, y: 10, z: 0} + - serializedVersion: 1 + m_State: {fileID: 6469307968501949992} + m_Position: {x: 540, y: -170, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: - - {fileID: 1046002043389130723} + - {fileID: -2680946984351937023} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 516, y: 96, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} + m_AnyStatePosition: {x: 520, y: 100, z: 0} + m_EntryPosition: {x: 140, y: 120, z: 0} m_ExitPosition: {x: 864, y: 144, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: 1102751178008254848} @@ -522,7 +428,7 @@ AnimatorState: m_CycleOffset: 0 m_Transitions: - {fileID: -1746738016173991043} - - {fileID: -6232032248366544017} + - {fileID: -6818529094234887481} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -538,3 +444,106 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &3530830070236652748 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: z fall to bite and stand + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 9175fddd2326b1545ac71cf4346baa83, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &4133929114904890219 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: stun + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 0} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 1 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.9639423 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &6469307968501949992 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: zNeckBite + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -3088080077202337175} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -203655887218126122, guid: 44e7c5a9d9018944591bb3f85d64726b, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1101 &8378993677699007574 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: attack + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6469307968501949992} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.9375 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/Assets/Scripts/Characters/Enemy/EnemyController.cs b/Assets/Scripts/Characters/Enemy/EnemyController.cs index f5d0285..934ac9d 100644 --- a/Assets/Scripts/Characters/Enemy/EnemyController.cs +++ b/Assets/Scripts/Characters/Enemy/EnemyController.cs @@ -44,9 +44,11 @@ public partial class EnemyController : Pawn [SyncVar(hook = nameof(OnStateChanged))] private ENEMY_STATE state = ENEMY_STATE.PATROL; - - + private AudioClip skrClip, agressiveClip; + public NavMeshPath navMeshPath; + public bool isKilling = false; + [SerializeField] private bool canAttack = true; void Start() { // Time.timeScale = 10; @@ -74,9 +76,6 @@ public partial class EnemyController : Pawn navMeshPath = new NavMeshPath(); } - public NavMeshPath navMeshPath; - public bool isKilling = false; - void Update() { controller.speed = _speedMul * _runSpeed; @@ -114,15 +113,13 @@ public partial class EnemyController : Pawn // Debug.Log("da"); // _target.GetComponent().DropProp(); - if (isKilling == false) + if (canAttack && !isKilling) { RpcKillPlayer(_target); animator.SetTrigger("attack"); StartCoroutine(AfterKillTimer()); } - - isKilling = true; } } else @@ -155,68 +152,6 @@ public partial class EnemyController : Pawn SetRandomDestination(); } } - - // if (_target == null) - // { - // float pointDistance = Vector3.Distance(_patrolPoints[_currenPointId].position, transform.position); - - // if (pointDistance < 2) - // { - // _currenPointId = Random.Range(0, _patrolPoints.Length); - // } - - // controller.destination = _patrolPoints[_currenPointId].position; - - // foreach (var player in players) - // { - // float distance = Vector3.Distance(player.transform.position, transform.position); - - // if (distance < aggressionDistance) - // { - // state = ENEMY_STATE.ROTATE; - - // _target = player.transform; - // targetLayerWeight = 1f; - - // break; - // } - // } - // } - // else - // { - // if (layerWeight >= 0.9f && hasPath) - // { - // if (state == ENEMY_STATE.ROTATE) - // { - // state = ENEMY_STATE.CHASE; - // } - - // controller.destination = _target.position; - // } - - // if (controller.velocity.magnitude <= 1 && !hasPath) - // { - // _target = null; - // state = ENEMY_STATE.PATROL; - // } - - // target.position = _target.position + _target.up * 1.2f; - - // var distance = Vector3.Distance(_target.transform.position, transform.position); - - // if (distance <= 1) - // { - // _target.GetComponent().Die(); - // } - - // if (distance >= aggressionDistance) - // { - // state = ENEMY_STATE.PATROL; - - // _target = null; - // targetLayerWeight = 0f; - // } - // } } bool CalculateNewPath(Transform target) @@ -226,11 +161,8 @@ public partial class EnemyController : Pawn if (navMeshPath.status != NavMeshPathStatus.PathComplete) { return false; - } - else - { - return true; - } + } + return true; } [ClientRpc] @@ -245,9 +177,11 @@ public partial class EnemyController : Pawn IEnumerator AfterKillTimer() { - yield return new WaitForSeconds(5); - isKilling = false; + isKilling = true; _target = null; + _runSpeed = 0; + yield return new WaitForSeconds(7); + isKilling = false; aimTarget.position = transform.position; SetRandomDestination(); @@ -290,36 +224,6 @@ public partial class EnemyController : Pawn Vector3 GetRandomLocation() { - // // NavMeshTriangulation navMeshData = NavMesh.CalculateTriangulation(); - - // int maxIndices = navMeshData.indices.Length - 3; - // // Pick the first indice of a random triangle in the nav mesh - // int firstVertexSelected = Random.Range(0, maxIndices); - // int secondVertexSelected = Random.Range(0, maxIndices); - // //Spawn on Verticies - // Vector3 point = navMeshData.vertices[navMeshData.indices[firstVertexSelected]]; - - // Vector3 firstVertexPosition = navMeshData.vertices[navMeshData.indices[firstVertexSelected]]; - // Vector3 secondVertexPosition = navMeshData.vertices[navMeshData.indices[secondVertexSelected]]; - // //Eliminate points that share a similar X or Z position to stop spawining in square grid line formations - // if ((int)firstVertexPosition.x == (int)secondVertexPosition.x || - // (int)firstVertexPosition.z == (int)secondVertexPosition.z - // ) - // { - // point = GetRandomLocation(); //Re-Roll a position - I'm not happy with this recursion it could be better - // } - // else - // { - // // Select a random point on it - // point = Vector3.Lerp( - // firstVertexPosition, - // secondVertexPosition, //[t + 1]], - // Random.Range(0.05f, 0.95f) // Not using Random.value as clumps form around Verticies - // ); - // } - // //Vector3.Lerp(point, navMeshData.vertices[navMeshData.indices[t + 2]], Random.value); //Made Obsolete - - // return point; var point = navMeshData.vertices[navMeshData.indices[Random.Range(0, navMeshData.indices.Length - 3)]]; _points.Add(point); return point; @@ -357,9 +261,19 @@ public partial class EnemyController : Pawn void TakeDamageAnimation(Pawn self) { + canAttack = false; + _runSpeed = 0; animator.SetTrigger("damage"); - + // animator.SetTrigger("stun"); тут!!! hitVFX.Stop(); hitVFX.Play(); + StartCoroutine(AfterTakeDamage()); } -} + + IEnumerator AfterTakeDamage() + { + yield return new WaitForSeconds(4); + _runSpeed = 4.974f; + canAttack = true; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Characters/PersonController/BasicRigidBodyPush.cs b/Assets/Scripts/Characters/PersonController/BasicRigidBodyPush.cs index c0692f1..7459dca 100644 --- a/Assets/Scripts/Characters/PersonController/BasicRigidBodyPush.cs +++ b/Assets/Scripts/Characters/PersonController/BasicRigidBodyPush.cs @@ -9,11 +9,6 @@ public class BasicRigidBodyPush : NetworkBehaviour private CharacterController _controller; - void Start() - { - - } - private void OnControllerColliderHit(ControllerColliderHit hit) { if (!isLocalPlayer) return; diff --git a/Assets/Scripts/Characters/PersonController/Interactions.cs b/Assets/Scripts/Characters/PersonController/Interactions.cs index 7dcdcb2..78688f9 100644 --- a/Assets/Scripts/Characters/PersonController/Interactions.cs +++ b/Assets/Scripts/Characters/PersonController/Interactions.cs @@ -188,7 +188,12 @@ public class Interactions : NetworkBehaviour if (player != null) { CmdReductStamina(player); - // CmdAddDebuff(player); + CmdAddDebuff(player); + } + var alien = hitInfo.transform.gameObject.GetComponent(); + if (alien != null) + { + CmdHitAlien(alien); } } @@ -212,6 +217,12 @@ public class Interactions : NetworkBehaviour { RpcReductStamina(player); } + + [Command] + void CmdHitAlien(EnemyController alien) + { + alien.TakeDamage(); + } [ClientRpc] void RpcReductStamina(PersonController player) diff --git a/Assets/Scripts/Characters/PersonController/PersonController.cs b/Assets/Scripts/Characters/PersonController/PersonController.cs index 37ac40c..36dd27d 100644 --- a/Assets/Scripts/Characters/PersonController/PersonController.cs +++ b/Assets/Scripts/Characters/PersonController/PersonController.cs @@ -220,10 +220,6 @@ namespace StarterAssets { currentEnergy = Mathf.MoveTowards(currentEnergy, _maxEnergy, _regenerationSpeed * Time.deltaTime); } - else - { - // staminaIsChanging = false; - } if (currentEnergy <= 0) { @@ -355,7 +351,6 @@ namespace StarterAssets void TakeDamageAnimation(Pawn self) { _animator.SetTrigger("damage"); - // Debug.Log(self.GetComponent().playerName); // hitVFX.Stop(); @@ -435,9 +430,7 @@ namespace StarterAssets _verticalVelocity += Gravity * Time.deltaTime; } } - - - + private void OnDrawGizmosSelected() { Color transparentGreen = new Color(0.0f, 1.0f, 0.0f, 0.35f); @@ -449,8 +442,7 @@ namespace StarterAssets // when selected, draw a gizmo in the position of, and matching radius of, the grounded collider Gizmos.DrawSphere(new Vector3(transform.position.x, transform.position.y - GroundedOffset, transform.position.z), GroundedRadius); } - - + void CalculateFootstepTriggers() { float _controllerVelocity = ((_position - transform.position) / Time.deltaTime).magnitude;