From 107709fcbd0d3bfc8c54bb6d3d4aa421f54f1cd4 Mon Sep 17 00:00:00 2001 From: BanarD <> Date: Thu, 30 May 2024 22:37:55 +0300 Subject: [PATCH 1/2] Network init --- Assets/DefaultNetworkPrefabs.asset | 7 +- Assets/GameAssets/Prefabs/Network.meta | 8 + .../GameAssets/Prefabs/Network/Player.prefab | 144 ++++++++++++++++++ Assets/NetworkCharacterPrefabsList.asset | 51 +++++++ Assets/NetworkCharacterPrefabsList.asset.meta | 8 + 5 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 Assets/GameAssets/Prefabs/Network.meta create mode 100644 Assets/GameAssets/Prefabs/Network/Player.prefab create mode 100644 Assets/NetworkCharacterPrefabsList.asset create mode 100644 Assets/NetworkCharacterPrefabsList.asset.meta diff --git a/Assets/DefaultNetworkPrefabs.asset b/Assets/DefaultNetworkPrefabs.asset index 0b6f21b..9d83cbe 100644 --- a/Assets/DefaultNetworkPrefabs.asset +++ b/Assets/DefaultNetworkPrefabs.asset @@ -13,4 +13,9 @@ MonoBehaviour: m_Name: DefaultNetworkPrefabs m_EditorClassIdentifier: IsDefault: 1 - List: [] + List: + - Override: 0 + Prefab: {fileID: 5443599940554632451, guid: ea740d57598a4f44b87d8a273e3e0687, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} diff --git a/Assets/GameAssets/Prefabs/Network.meta b/Assets/GameAssets/Prefabs/Network.meta new file mode 100644 index 0000000..4eec578 --- /dev/null +++ b/Assets/GameAssets/Prefabs/Network.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0225cba2f301f849b346f89246e31e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameAssets/Prefabs/Network/Player.prefab b/Assets/GameAssets/Prefabs/Network/Player.prefab new file mode 100644 index 0000000..abdeb28 --- /dev/null +++ b/Assets/GameAssets/Prefabs/Network/Player.prefab @@ -0,0 +1,144 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5443599940554632451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8111825438660922156} + - component: {fileID: 8812867934336637654} + - component: {fileID: 48006254759200972} + - component: {fileID: 6263592690199962695} + - component: {fileID: 8182763989756387243} + - component: {fileID: 7076314300317847408} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8111825438660922156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8812867934336637654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 2207179533 + InScenePlacedSourceGlobalObjectIdHash: 0 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + SpawnWithObservers: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &48006254759200972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e13d762b59f887b41a09e2546c0ec61b, type: 3} + m_Name: + m_EditorClassIdentifier: + network: {fileID: 8812867934336637654} + movement: {fileID: 6263592690199962695} + animator: {fileID: 0} + agent: {fileID: 8182763989756387243} + spawnedCharacter: {fileID: 0} + character: {fileID: 0} +--- !u!114 &6263592690199962695 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4a9691c51772914d9d24522fe29a2f4, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 48006254759200972} + agent: {fileID: 8182763989756387243} +--- !u!195 &8182763989756387243 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 2 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!114 &7076314300317847408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5443599940554632451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df2868252ab5c4d1da357e8f11f1b524, type: 3} + m_Name: + m_EditorClassIdentifier: + UseUnreliableDeltas: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 0 + SyncScaleY: 0 + SyncScaleZ: 0 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + UseQuaternionSynchronization: 0 + UseQuaternionCompression: 0 + UseHalfFloatPrecision: 0 + InLocalSpace: 0 + Interpolate: 1 + SlerpPosition: 0 diff --git a/Assets/NetworkCharacterPrefabsList.asset b/Assets/NetworkCharacterPrefabsList.asset new file mode 100644 index 0000000..e799097 --- /dev/null +++ b/Assets/NetworkCharacterPrefabsList.asset @@ -0,0 +1,51 @@ +%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: e651dbb3fbac04af2b8f5abf007ddc23, type: 3} + m_Name: NetworkCharacterPrefabsList + m_EditorClassIdentifier: + IsDefault: 0 + List: + - Override: 0 + Prefab: {fileID: 6682860585487174952, guid: 69485fc69fed49e4ca569a11515e61c5, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 7980681575316249282, guid: 8b67d9095e7525e479d23b586d274bf8, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 5290476188035930636, guid: ef0a9203c6a3e2549afbc5215718d771, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 4337341134645623851, guid: 0beb43f87d3c7c6469196925862dfd83, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 6926909877855153247, guid: 9f087ee4a2d15d04fb984c15e3e39f81, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 761940457509408271, guid: e2ac1ac7811eade40be48b54ec3772de, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + - Override: 0 + Prefab: {fileID: 2033050441728201532, guid: 27eed74be5b5aba4ab11dbe812e5e504, type: 3} + SourcePrefabToOverride: {fileID: 0} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} diff --git a/Assets/NetworkCharacterPrefabsList.asset.meta b/Assets/NetworkCharacterPrefabsList.asset.meta new file mode 100644 index 0000000..d1e0c6f --- /dev/null +++ b/Assets/NetworkCharacterPrefabsList.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c788c7935899ad84286d964164bcf6b0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: -- 2.29.2.windows.2 From c5e1eef405e03bb7d281a08783354d00187123dd Mon Sep 17 00:00:00 2001 From: BanarD Date: Thu, 30 May 2024 22:46:12 +0300 Subject: [PATCH 2/2] Player Network Fix & Player Movement --- .../Prefabs/Network/Player.prefab.meta | 7 +++ Assets/GameAssets/Scripts/PlayerMovement.cs | 56 +++++++++++-------- 2 files changed, 40 insertions(+), 23 deletions(-) create mode 100644 Assets/GameAssets/Prefabs/Network/Player.prefab.meta diff --git a/Assets/GameAssets/Prefabs/Network/Player.prefab.meta b/Assets/GameAssets/Prefabs/Network/Player.prefab.meta new file mode 100644 index 0000000..7a2327f --- /dev/null +++ b/Assets/GameAssets/Prefabs/Network/Player.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea740d57598a4f44b87d8a273e3e0687 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameAssets/Scripts/PlayerMovement.cs b/Assets/GameAssets/Scripts/PlayerMovement.cs index c7d27bb..52b250f 100644 --- a/Assets/GameAssets/Scripts/PlayerMovement.cs +++ b/Assets/GameAssets/Scripts/PlayerMovement.cs @@ -1,6 +1,4 @@ using System; -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; using UnityEngine.EventSystems; @@ -8,37 +6,50 @@ using UnityEngine.EventSystems; public class PlayerMovement : MonoBehaviour { [Header("Components")] + [SerializeField] private Player player; [SerializeField] private NavMeshAgent agent; - [SerializeField] private Animator animator; - private float lookRotationSpeed = 8f; + private bool isMoving = false; - void Awake() - { - agent = GetComponent(); - animator = GetComponent(); + private bool prepareEvent = false; + private Action onDestinationReached; - //input = new CustomActions(); - //AssignInputs(); - } + private Animator animator => player.Animator; public void MoveTo(Vector3 point, Action action = null) { agent.destination = point; - - //replace later - action?.Invoke(); + onDestinationReached = action; } + public void MoveToBlock(Vector3 point, Action action = null) + { + InteractionManager.Instance.AddBlockReason("Moving"); + MoveTo(point, () => + { + action?.Invoke(); + InteractionManager.Instance.RemoveBlockReason("Moving"); + }); + + } private void Update() { - if (!agent.pathPending && agent.remainingDistance > agent.stoppingDistance) + isMoving = !agent.pathPending && agent.remainingDistance > agent.stoppingDistance; + + if (isMoving) { + prepareEvent = true; FaceTarget(); } - ////SetAnimations(); + else if (prepareEvent) + { + prepareEvent = false; + onDestinationReached?.Invoke(); + } + + SetAnimations(); } private void FaceTarget() @@ -55,11 +66,10 @@ public class PlayerMovement : MonoBehaviour agent.destination = transform.position; } - //void SetAnimations() - //{ - // if (agent.velocity == Vector3.zero) - // { animator.Play(IDLE); } - // else - // { animator.Play(WALK); } - //} + private void SetAnimations() + { + if (!animator) return; + + animator.SetBool("Walking", agent.velocity != Vector3.zero); + } } \ No newline at end of file -- 2.29.2.windows.2