diff --git a/Assets/Art/Prefabs/Characters/Pulver/Pulver.prefab b/Assets/Art/Prefabs/Characters/Pulver/Pulver.prefab index acfbe841..5a58a00e 100644 --- a/Assets/Art/Prefabs/Characters/Pulver/Pulver.prefab +++ b/Assets/Art/Prefabs/Characters/Pulver/Pulver.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 2121127948713986199} m_Layer: 0 m_Name: Pulver - m_TagString: Untagged + m_TagString: CharacterArt m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Art/Prefabs/Characters/Trafalgar/Trafalgar.prefab b/Assets/Art/Prefabs/Characters/Trafalgar/Trafalgar.prefab index 484e601f..9527d221 100644 --- a/Assets/Art/Prefabs/Characters/Trafalgar/Trafalgar.prefab +++ b/Assets/Art/Prefabs/Characters/Trafalgar/Trafalgar.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 3714001194702331617} m_Layer: 0 m_Name: Trafalgar - m_TagString: Untagged + m_TagString: CharacterArt m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/External/AstarPathfindingProject/Editor/AstarUpdateChecker.cs b/Assets/External/AstarPathfindingProject/Editor/AstarUpdateChecker.cs index f79c47b4..1b478013 100644 --- a/Assets/External/AstarPathfindingProject/Editor/AstarUpdateChecker.cs +++ b/Assets/External/AstarPathfindingProject/Editor/AstarUpdateChecker.cs @@ -34,7 +34,7 @@ namespace Pathfinding { const double updateCheckRate = 1F; /// URL to the version file containing the latest version number. - const string updateURL = "http://www.arongranberg.com/astar/version.php"; + const string updateURL = "https://www.arongranberg.com/astar/version.php"; /// Last time an update check was made public static System.DateTime lastUpdateCheck { diff --git a/Assets/Scripts/FollowerController.cs b/Assets/Scripts/FollowerController.cs index e0ffa773..3278d7f5 100644 --- a/Assets/Scripts/FollowerController.cs +++ b/Assets/Scripts/FollowerController.cs @@ -28,9 +28,22 @@ public class FollowerController : MonoBehaviour public float stopThreshold = 0.1f; // Stop moving when within this distance private float playerMaxSpeed = 5f; + private Animator animator; + private Transform artTransform; + void Awake() { aiPath = GetComponent(); + // Find art prefab and animator + artTransform = transform.Find("CharacterArt"); + if (artTransform != null) + { + animator = artTransform.GetComponent(); + } + else + { + animator = GetComponentInChildren(); // fallback + } } void OnEnable() @@ -155,6 +168,23 @@ public class FollowerController : MonoBehaviour currentSpeed = 0f; } } + + // Update animator speed parameter + if (animator != null) + { + float normalizedSpeed = 0f; + if (isManualFollowing) + { + // Use currentSpeed for manual following + normalizedSpeed = currentSpeed / playerMaxSpeed; + } + else if (aiPath != null) + { + // Use aiPath velocity for pathfinding mode + normalizedSpeed = aiPath.velocity.magnitude / playerMaxSpeed; + } + animator.SetFloat("Speed", Mathf.Clamp01(normalizedSpeed)); + } } // Command follower to go to a specific point (pathfinding mode) diff --git a/Assets/Scripts/PlayerTouchController.cs b/Assets/Scripts/PlayerTouchController.cs index 385e24e5..279a8dc6 100644 --- a/Assets/Scripts/PlayerTouchController.cs +++ b/Assets/Scripts/PlayerTouchController.cs @@ -18,12 +18,24 @@ public class PlayerTouchController : MonoBehaviour, ITouchInputConsumer Rigidbody rb3d; Rigidbody2D rb2d; AIPath aiPath; // Reference to AIPath + private Animator animator; + private Transform artTransform; void Awake() { rb3d = GetComponent(); rb2d = GetComponent(); aiPath = GetComponent(); // Get AIPath component + // Find art prefab and animator + artTransform = transform.Find("CharacterArt"); + if (artTransform != null) + { + animator = artTransform.GetComponent(); + } + else + { + animator = GetComponentInChildren(); // fallback + } } void Start() @@ -70,5 +82,15 @@ public class PlayerTouchController : MonoBehaviour, ITouchInputConsumer } } + void Update() + { + // Update animator speed parameter + if (animator != null && aiPath != null) + { + float normalizedSpeed = aiPath.velocity.magnitude / aiPath.maxSpeed; + animator.SetFloat("Speed", Mathf.Clamp01(normalizedSpeed)); + } + } + // Remove FixedUpdate and MoveTowardsTarget, as AIPath handles movement } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index fa293395..ca51aafe 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,7 +3,8 @@ --- !u!78 &1 TagManager: serializedVersion: 3 - tags: [] + tags: + - CharacterArt layers: - Default - TransparentFX