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