Initial Project Commit
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user