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 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 8015539583010702812} - component: {fileID: 8015539583010702812}
- component: {fileID: 3587278676972554892}
- component: {fileID: 6569204325918158683} - component: {fileID: 6569204325918158683}
- component: {fileID: 749274615958258337} - component: {fileID: 749274615958258337}
- component: {fileID: 3587278676972554892}
- component: {fileID: 8167086997812937973} - component: {fileID: 8167086997812937973}
- component: {fileID: 8689862253730295348} - component: {fileID: 8689862253730295348}
m_Layer: 0 m_Layer: 0
@@ -37,19 +37,6 @@ Transform:
- {fileID: 4809187057887522556} - {fileID: 4809187057887522556}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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 --- !u!195 &6569204325918158683
NavMeshAgent: NavMeshAgent:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -94,6 +81,19 @@ Animator:
m_AllowConstantClipSamplingOptimization: 1 m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0 m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 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 --- !u!114 &8167086997812937973
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -118,6 +118,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0dac85c6432a11746b07d2f6a021e2e4, type: 3} m_Script: {fileID: 11500000, guid: 0dac85c6432a11746b07d2f6a021e2e4, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RPG.Combat.Fighter m_EditorClassIdentifier: Assembly-CSharp::RPG.Combat.Fighter
weaponRange: 2
--- !u!1001 &4809187057887722868 --- !u!1001 &4809187057887722868
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -323,28 +323,11 @@ Transform:
m_CorrespondingSourceObject: {fileID: 404700, guid: f88e0c5504d699d4ebb950b8944bffcb, type: 3} m_CorrespondingSourceObject: {fileID: 404700, guid: f88e0c5504d699d4ebb950b8944bffcb, type: 3}
m_PrefabInstance: {fileID: 1272537384} m_PrefabInstance: {fileID: 1272537384}
m_PrefabAsset: {fileID: 0} 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 --- !u!4 &301881567 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 8015539583010702812, guid: a71733727311bfb40aadb9f960845a85, type: 3} m_CorrespondingSourceObject: {fileID: 8015539583010702812, guid: a71733727311bfb40aadb9f960845a85, type: 3}
m_PrefabInstance: {fileID: 8511385713409244773} m_PrefabInstance: {fileID: 8511385713409244773}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &345756676
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1915,10 +1898,7 @@ PrefabInstance:
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: m_AddedComponents: []
- targetCorrespondingSourceObject: {fileID: 2547158256837586042, guid: a71733727311bfb40aadb9f960845a85, type: 3}
insertIndex: -1
addedObject: {fileID: 301881572}
m_SourcePrefab: {fileID: 100100000, guid: a71733727311bfb40aadb9f960845a85, type: 3} m_SourcePrefab: {fileID: 100100000, guid: a71733727311bfb40aadb9f960845a85, type: 3}
--- !u!1001 &8689034387179525829 --- !u!1001 &8689034387179525829
PrefabInstance: PrefabInstance:

View File

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

View File

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

View File

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