Initial Project Commit

This commit is contained in:
2025-10-27 17:26:17 +00:00
parent 36f31d54d1
commit bc21e94bc1
5 changed files with 48 additions and 41 deletions

View File

@@ -9,9 +9,9 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 8015539583010702812}
- component: {fileID: 3587278676972554892}
- component: {fileID: 6569204325918158683}
- component: {fileID: 749274615958258337}
- component: {fileID: 3587278676972554892}
- component: {fileID: 8167086997812937973}
- component: {fileID: 8689862253730295348}
m_Layer: 0
@@ -37,19 +37,6 @@ Transform:
- {fileID: 4809187057887522556}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3587278676972554892
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2547158256837586042}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 99048001b4ebc1543911415b71049d4a, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
target: {fileID: 0}
--- !u!195 &6569204325918158683
NavMeshAgent:
m_ObjectHideFlags: 0
@@ -94,6 +81,19 @@ Animator:
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &3587278676972554892
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2547158256837586042}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 99048001b4ebc1543911415b71049d4a, type: 3}
m_Name:
m_EditorClassIdentifier: '::'
target: {fileID: 0}
--- !u!114 &8167086997812937973
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -118,6 +118,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0dac85c6432a11746b07d2f6a021e2e4, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RPG.Combat.Fighter
weaponRange: 2
--- !u!1001 &4809187057887722868
PrefabInstance:
m_ObjectHideFlags: 0

View File

@@ -323,28 +323,11 @@ Transform:
m_CorrespondingSourceObject: {fileID: 404700, guid: f88e0c5504d699d4ebb950b8944bffcb, type: 3}
m_PrefabInstance: {fileID: 1272537384}
m_PrefabAsset: {fileID: 0}
--- !u!1 &301881566 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2547158256837586042, guid: a71733727311bfb40aadb9f960845a85, type: 3}
m_PrefabInstance: {fileID: 8511385713409244773}
m_PrefabAsset: {fileID: 0}
--- !u!4 &301881567 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8015539583010702812, guid: a71733727311bfb40aadb9f960845a85, type: 3}
m_PrefabInstance: {fileID: 8511385713409244773}
m_PrefabAsset: {fileID: 0}
--- !u!114 &301881572
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 301881566}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0dac85c6432a11746b07d2f6a021e2e4, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RPG.Combat.Fighter
--- !u!1001 &345756676
PrefabInstance:
m_ObjectHideFlags: 0
@@ -1915,10 +1898,7 @@ PrefabInstance:
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 2547158256837586042, guid: a71733727311bfb40aadb9f960845a85, type: 3}
insertIndex: -1
addedObject: {fileID: 301881572}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a71733727311bfb40aadb9f960845a85, type: 3}
--- !u!1001 &8689034387179525829
PrefabInstance:

View File

@@ -1,22 +1,39 @@
using UnityEngine;
using RPG.Movement;
using UnityEngine.Rendering;
namespace RPG.Combat
{
public class Fighter : MonoBehaviour
{
[SerializeField]
private float weaponRange = 2f;
Transform target;
private void Update()
{
if(target != null)
if (target == null) return;
if (!GetIsInRange())
{
GetComponent<Mover>().MoveTo(target.position);
target = null;
}
else
{
GetComponent<Mover>().Stop();
}
}
private bool GetIsInRange()
{
return Vector3.Distance(transform.position, target.position) <= weaponRange;
}
public void Attack(CombatTarget combatTarget)
{
target = combatTarget.transform;
}
public void Cancel()
{
target = null;
}
}
}

View File

@@ -61,7 +61,7 @@ namespace RPG.Control
if (hasHit)
{
if (moveAction.IsPressed())
GetComponent<Mover>().MoveTo(hit.point);
GetComponent<Mover>().StartMoveAction(hit.point);
return true;
}
return false;

View File

@@ -1,3 +1,4 @@
using RPG.Combat;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.InputSystem;
@@ -23,16 +24,24 @@ namespace RPG.Movement
{
UpdateAnimator();
}
public void StartMoveAction(Vector3 destination)
{
GetComponent<Fighter>().Cancel();
MoveTo(destination);
}
public void MoveTo(Vector3 destination)
{
navMeshAgent.destination = destination;
navMeshAgent.isStopped = false;
}
public void Stop()
{
navMeshAgent.isStopped = true;
}
private void UpdateAnimator()
{
// This is your original code, which is correct!
// It just uses the cached variables now.
Vector3 velocity = navMeshAgent.velocity;
Vector3 localVelocity = transform.InverseTransformDirection(velocity);
float speed = localVelocity.z;