no message
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Unity.VisualScripting.YamlDotNet.Core.Tokens;
|
||||
|
||||
namespace EasyTalk.Nodes.Tags
|
||||
{
|
||||
|
||||
8
Assets/Resources.meta
Normal file
8
Assets/Resources.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5175ed1863ade5245a3cfbb17a986f04
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -61,6 +61,9 @@ public abstract class Character : MonoBehaviour
|
||||
|
||||
[SerializeField]
|
||||
private NavMeshAgent navMeshAgent;
|
||||
[SerializeField]
|
||||
[Tooltip("Max distance used to snap this character to the nearest NavMesh point at startup.")]
|
||||
private float navMeshSnapDistance = 2f;
|
||||
|
||||
[Header("Animation Settings")]
|
||||
[SerializeField]
|
||||
@@ -156,11 +159,36 @@ public abstract class Character : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
EnsureNavMeshAgentReady();
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
UpdateMovementAnimatorParams();
|
||||
}
|
||||
|
||||
protected bool EnsureNavMeshAgentReady()
|
||||
{
|
||||
if (navMeshAgent == null || !navMeshAgent.isActiveAndEnabled)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (navMeshAgent.isOnNavMesh)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (NavMesh.SamplePosition(transform.position, out NavMeshHit hit, navMeshSnapDistance, NavMesh.AllAreas))
|
||||
{
|
||||
return navMeshAgent.Warp(hit.position) && navMeshAgent.isOnNavMesh;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void TakeDamage(int damageToTake)
|
||||
{
|
||||
if (damageToTake < 0) damageToTake = 0;
|
||||
@@ -421,7 +449,7 @@ public abstract class Character : MonoBehaviour
|
||||
if (animator == null) return;
|
||||
|
||||
float speed = 0f;
|
||||
if (navMeshAgent != null)
|
||||
if (navMeshAgent != null && navMeshAgent.isActiveAndEnabled && EnsureNavMeshAgentReady())
|
||||
{
|
||||
speed = navMeshAgent.velocity.magnitude;
|
||||
|
||||
|
||||
@@ -334,7 +334,19 @@ public class ClickToMoveInputSystem : MonoBehaviour
|
||||
{
|
||||
// fallback: try to find NavMeshAgent on player root
|
||||
var agent = Player.current.GetComponent<NavMeshAgent>();
|
||||
if (agent != null) agent.SetDestination(groundHit.point);
|
||||
if (agent != null && agent.isActiveAndEnabled)
|
||||
{
|
||||
if (agent.isOnNavMesh)
|
||||
{
|
||||
agent.SetDestination(groundHit.point);
|
||||
}
|
||||
else if (NavMesh.SamplePosition(Player.current.transform.position, out NavMeshHit hit, 2f, NavMesh.AllAreas) &&
|
||||
agent.Warp(hit.position) &&
|
||||
agent.isOnNavMesh)
|
||||
{
|
||||
agent.SetDestination(groundHit.point);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,10 +10,12 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
[Header("Rotation")]
|
||||
public bool enableSmartRotation = true;
|
||||
public float rotationSpeed = 10f;
|
||||
public float navMeshSnapDistance = 2f;
|
||||
|
||||
NavMeshAgent agent;
|
||||
Vector3 lastVelocity = Vector3.zero;
|
||||
Vector3? lookAtTarget = null; // Optional target to face when stopped
|
||||
bool navMeshSnapAttempted = false;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
@@ -24,9 +26,14 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
EnsureAgentReady();
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (agent == null) return;
|
||||
if (!EnsureAgentReady()) return;
|
||||
|
||||
// Update rotation based on movement direction
|
||||
if (enableSmartRotation)
|
||||
@@ -65,7 +72,7 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
|
||||
public void MoveTo(Vector3 worldPosition)
|
||||
{
|
||||
if (agent == null) return;
|
||||
if (!EnsureAgentReady()) return;
|
||||
agent.isStopped = false;
|
||||
agent.SetDestination(worldPosition);
|
||||
lookAtTarget = null; // Clear look target when starting new movement
|
||||
@@ -73,7 +80,7 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
|
||||
public void MoveToAndLookAt(Vector3 worldPosition, Vector3 lookTarget)
|
||||
{
|
||||
if (agent == null) return;
|
||||
if (!EnsureAgentReady()) return;
|
||||
agent.isStopped = false;
|
||||
agent.SetDestination(worldPosition);
|
||||
lookAtTarget = lookTarget; // Set look target for when we arrive
|
||||
@@ -81,7 +88,7 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
if (agent == null) return;
|
||||
if (!EnsureAgentReady()) return;
|
||||
agent.isStopped = true;
|
||||
}
|
||||
|
||||
@@ -97,11 +104,38 @@ public class NavMeshMovementController : MonoBehaviour
|
||||
|
||||
public bool IsAtDestination(float tolerance = 0.1f)
|
||||
{
|
||||
if (agent == null) return true;
|
||||
if (!EnsureAgentReady()) return true;
|
||||
return !agent.pathPending && agent.remainingDistance <= agent.stoppingDistance + tolerance;
|
||||
}
|
||||
|
||||
public Vector3 GetVelocity() => lastVelocity;
|
||||
|
||||
public float GetSpeed() => agent != null ? agent.velocity.magnitude : 0f;
|
||||
public float GetSpeed() => EnsureAgentReady() ? agent.velocity.magnitude : 0f;
|
||||
|
||||
bool EnsureAgentReady()
|
||||
{
|
||||
if (agent == null || !agent.isActiveAndEnabled)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (agent.isOnNavMesh)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (navMeshSnapAttempted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
navMeshSnapAttempted = true;
|
||||
|
||||
if (NavMesh.SamplePosition(transform.position, out NavMeshHit hit, navMeshSnapDistance, NavMesh.AllAreas))
|
||||
{
|
||||
return agent.Warp(hit.position) && agent.isOnNavMesh;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public class TriggerEvents : MonoBehaviour
|
||||
|
||||
// Fallback to NavMeshAgent
|
||||
UnityEngine.AI.NavMeshAgent agent = target.GetComponent<UnityEngine.AI.NavMeshAgent>();
|
||||
if (agent != null)
|
||||
if (agent != null && agent.isActiveAndEnabled && agent.isOnNavMesh)
|
||||
{
|
||||
agent.isStopped = true;
|
||||
agent.ResetPath();
|
||||
|
||||
@@ -53,6 +53,7 @@ MonoBehaviour:
|
||||
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||
m_ReflectionProbeBlending: 1
|
||||
m_ReflectionProbeBoxProjection: 1
|
||||
m_ReflectionProbeAtlas: 1
|
||||
m_ShadowDistance: 50
|
||||
m_ShadowCascadeCount: 1
|
||||
m_Cascade2Split: 0.25
|
||||
@@ -78,11 +79,11 @@ MonoBehaviour:
|
||||
m_UseAdaptivePerformance: 1
|
||||
m_ColorGradingMode: 0
|
||||
m_ColorGradingLutSize: 32
|
||||
m_AllowPostProcessAlphaOutput: 0
|
||||
m_UseFastSRGBLinearConversion: 1
|
||||
m_SupportDataDrivenLensFlare: 1
|
||||
m_SupportScreenSpaceLensFlare: 1
|
||||
m_GPUResidentDrawerMode: 0
|
||||
m_UseLegacyLightmaps: 0
|
||||
m_SmallMeshScreenPercentage: 0
|
||||
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
|
||||
m_ShadowType: 1
|
||||
@@ -100,23 +101,24 @@ MonoBehaviour:
|
||||
m_Keys: []
|
||||
m_Values:
|
||||
m_PrefilteringModeMainLightShadows: 3
|
||||
m_PrefilteringModeAdditionalLight: 4
|
||||
m_PrefilteringModeAdditionalLight: 3
|
||||
m_PrefilteringModeAdditionalLightShadows: 0
|
||||
m_PrefilterXRKeywords: 1
|
||||
m_PrefilteringModeForwardPlus: 1
|
||||
m_PrefilteringModeForwardPlus: 0
|
||||
m_PrefilteringModeDeferredRendering: 0
|
||||
m_PrefilteringModeScreenSpaceOcclusion: 0
|
||||
m_PrefilterDebugKeywords: 1
|
||||
m_PrefilterWriteRenderingLayers: 1
|
||||
m_PrefilterHDROutput: 1
|
||||
m_PrefilterAlphaOutput: 1
|
||||
m_PrefilterSSAODepthNormals: 1
|
||||
m_PrefilterSSAOSourceDepthLow: 1
|
||||
m_PrefilterSSAOSourceDepthMedium: 0
|
||||
m_PrefilterSSAOSourceDepthMedium: 1
|
||||
m_PrefilterSSAOSourceDepthHigh: 1
|
||||
m_PrefilterSSAOInterleaved: 0
|
||||
m_PrefilterSSAOInterleaved: 1
|
||||
m_PrefilterSSAOBlueNoise: 1
|
||||
m_PrefilterSSAOSampleCountLow: 1
|
||||
m_PrefilterSSAOSampleCountMedium: 0
|
||||
m_PrefilterSSAOSampleCountMedium: 1
|
||||
m_PrefilterSSAOSampleCountHigh: 1
|
||||
m_PrefilterDBufferMRT1: 1
|
||||
m_PrefilterDBufferMRT2: 1
|
||||
@@ -128,6 +130,10 @@ MonoBehaviour:
|
||||
m_PrefilterScreenCoord: 1
|
||||
m_PrefilterNativeRenderPass: 1
|
||||
m_PrefilterUseLegacyLightmaps: 0
|
||||
m_PrefilterBicubicLightmapSampling: 1
|
||||
m_PrefilterReflectionProbeBlending: 0
|
||||
m_PrefilterReflectionProbeBoxProjection: 0
|
||||
m_PrefilterReflectionProbeAtlas: 1
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ShadowCascades: 0
|
||||
m_Textures:
|
||||
|
||||
@@ -53,6 +53,7 @@ MonoBehaviour:
|
||||
m_AdditionalLightsShadowResolutionTierHigh: 1024
|
||||
m_ReflectionProbeBlending: 1
|
||||
m_ReflectionProbeBoxProjection: 1
|
||||
m_ReflectionProbeAtlas: 1
|
||||
m_ShadowDistance: 50
|
||||
m_ShadowCascadeCount: 4
|
||||
m_Cascade2Split: 0.25
|
||||
@@ -78,11 +79,11 @@ MonoBehaviour:
|
||||
m_UseAdaptivePerformance: 1
|
||||
m_ColorGradingMode: 0
|
||||
m_ColorGradingLutSize: 32
|
||||
m_AllowPostProcessAlphaOutput: 0
|
||||
m_UseFastSRGBLinearConversion: 0
|
||||
m_SupportDataDrivenLensFlare: 1
|
||||
m_SupportScreenSpaceLensFlare: 1
|
||||
m_GPUResidentDrawerMode: 0
|
||||
m_UseLegacyLightmaps: 0
|
||||
m_SmallMeshScreenPercentage: 0
|
||||
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
|
||||
m_ShadowType: 1
|
||||
@@ -100,15 +101,16 @@ MonoBehaviour:
|
||||
m_Keys: []
|
||||
m_Values:
|
||||
m_PrefilteringModeMainLightShadows: 3
|
||||
m_PrefilteringModeAdditionalLight: 4
|
||||
m_PrefilteringModeAdditionalLightShadows: 0
|
||||
m_PrefilteringModeAdditionalLight: 0
|
||||
m_PrefilteringModeAdditionalLightShadows: 2
|
||||
m_PrefilterXRKeywords: 1
|
||||
m_PrefilteringModeForwardPlus: 1
|
||||
m_PrefilteringModeForwardPlus: 2
|
||||
m_PrefilteringModeDeferredRendering: 0
|
||||
m_PrefilteringModeScreenSpaceOcclusion: 1
|
||||
m_PrefilteringModeScreenSpaceOcclusion: 2
|
||||
m_PrefilterDebugKeywords: 1
|
||||
m_PrefilterWriteRenderingLayers: 0
|
||||
m_PrefilterWriteRenderingLayers: 1
|
||||
m_PrefilterHDROutput: 1
|
||||
m_PrefilterAlphaOutput: 1
|
||||
m_PrefilterSSAODepthNormals: 0
|
||||
m_PrefilterSSAOSourceDepthLow: 1
|
||||
m_PrefilterSSAOSourceDepthMedium: 1
|
||||
@@ -120,14 +122,18 @@ MonoBehaviour:
|
||||
m_PrefilterSSAOSampleCountHigh: 1
|
||||
m_PrefilterDBufferMRT1: 1
|
||||
m_PrefilterDBufferMRT2: 1
|
||||
m_PrefilterDBufferMRT3: 0
|
||||
m_PrefilterSoftShadowsQualityLow: 0
|
||||
m_PrefilterSoftShadowsQualityMedium: 0
|
||||
m_PrefilterSoftShadowsQualityHigh: 0
|
||||
m_PrefilterDBufferMRT3: 1
|
||||
m_PrefilterSoftShadowsQualityLow: 1
|
||||
m_PrefilterSoftShadowsQualityMedium: 1
|
||||
m_PrefilterSoftShadowsQualityHigh: 1
|
||||
m_PrefilterSoftShadows: 0
|
||||
m_PrefilterScreenCoord: 1
|
||||
m_PrefilterNativeRenderPass: 1
|
||||
m_PrefilterUseLegacyLightmaps: 0
|
||||
m_PrefilterBicubicLightmapSampling: 1
|
||||
m_PrefilterReflectionProbeBlending: 0
|
||||
m_PrefilterReflectionProbeBoxProjection: 0
|
||||
m_PrefilterReflectionProbeAtlas: 0
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_ShadowCascades: 0
|
||||
m_Textures:
|
||||
|
||||
@@ -63,7 +63,21 @@ MonoBehaviour:
|
||||
- rid: 2559183924860551175
|
||||
- rid: 2559183924860551176
|
||||
m_RuntimeSettings:
|
||||
m_List: []
|
||||
m_List:
|
||||
- rid: 6852985685364965378
|
||||
- rid: 6852985685364965379
|
||||
- rid: 6852985685364965380
|
||||
- rid: 6852985685364965381
|
||||
- rid: 6852985685364965384
|
||||
- rid: 6852985685364965385
|
||||
- rid: 6852985685364965392
|
||||
- rid: 6852985685364965394
|
||||
- rid: 8712630790384254976
|
||||
- rid: 2559183924860551169
|
||||
- rid: 2559183924860551171
|
||||
- rid: 2559183924860551172
|
||||
- rid: 2559183924860551175
|
||||
- rid: 2559183924860551176
|
||||
m_AssetVersion: 8
|
||||
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
||||
m_RenderingLayerNames:
|
||||
|
||||
@@ -36,10 +36,8 @@ GraphicsSettings:
|
||||
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_PreloadedShaders: []
|
||||
m_PreloadShadersBatchTimeLimit: -1
|
||||
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
|
||||
type: 0}
|
||||
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd,
|
||||
type: 2}
|
||||
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
|
||||
m_TransparencySortMode: 0
|
||||
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
|
||||
m_DefaultRenderingPath: 1
|
||||
@@ -60,8 +58,7 @@ GraphicsSettings:
|
||||
m_FogKeepExp2: 1
|
||||
m_AlbedoSwatchInfos: []
|
||||
m_RenderPipelineGlobalSettingsMap:
|
||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa,
|
||||
type: 2}
|
||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2}
|
||||
m_LightsUseLinearIntensity: 1
|
||||
m_LightsUseColorTemperature: 1
|
||||
m_LogWhenShaderIsCompiled: 0
|
||||
|
||||
@@ -143,7 +143,8 @@ PlayerSettings:
|
||||
visionOSBundleVersion: 1.0
|
||||
tvOSBundleVersion: 1.0
|
||||
bundleVersion: 0.1.0
|
||||
preloadedAssets: []
|
||||
preloadedAssets:
|
||||
- {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||
metroInputSource: 0
|
||||
wsaTransparentSwapchain: 0
|
||||
m_HolographicPauseOnTrackingLoss: 1
|
||||
@@ -521,7 +522,10 @@ PlayerSettings:
|
||||
m_Height: 720
|
||||
m_Kind: 1
|
||||
m_SubKind:
|
||||
m_BuildTargetBatching: []
|
||||
m_BuildTargetBatching:
|
||||
- m_BuildTarget: WebGL
|
||||
m_StaticBatching: 0
|
||||
m_DynamicBatching: 0
|
||||
m_BuildTargetShaderSettings: []
|
||||
m_BuildTargetGraphicsJobs: []
|
||||
m_BuildTargetGraphicsJobMode: []
|
||||
@@ -557,6 +561,9 @@ PlayerSettings:
|
||||
- serializedVersion: 3
|
||||
m_BuildTarget: Android
|
||||
m_Formats: 03000000
|
||||
- serializedVersion: 3
|
||||
m_BuildTarget: WebGL
|
||||
m_Formats: 05000000
|
||||
playModeTestRunnerEnabled: 0
|
||||
runPlayModeTestAsEditModeTest: 0
|
||||
actionOnDotNetUnhandledException: 1
|
||||
@@ -824,6 +831,7 @@ PlayerSettings:
|
||||
webEnableSubmoduleStrippingCompatibility: 0
|
||||
scriptingDefineSymbols:
|
||||
Standalone: TEXTMESHPRO_INSTALLED
|
||||
WebGL: TEXTMESHPRO_INSTALLED
|
||||
additionalCompilerArguments: {}
|
||||
platformArchitecture: {}
|
||||
scriptingBackend:
|
||||
@@ -845,7 +853,7 @@ PlayerSettings:
|
||||
m_RenderingPath: 1
|
||||
m_MobileRenderingPath: 1
|
||||
metroPackageName: TopDownRPG
|
||||
metroPackageVersion:
|
||||
metroPackageVersion: 1.0.0.0
|
||||
metroCertificatePath:
|
||||
metroCertificatePassword:
|
||||
metroCertificateSubject:
|
||||
@@ -853,7 +861,7 @@ PlayerSettings:
|
||||
metroCertificateNotAfter: 0000000000000000
|
||||
metroApplicationDescription: TopDownRPG
|
||||
wsaImages: {}
|
||||
metroTileShortName:
|
||||
metroTileShortName: TopDownRPG
|
||||
metroTileShowName: 0
|
||||
metroMediumTileShowName: 0
|
||||
metroLargeTileShowName: 0
|
||||
|
||||
Reference in New Issue
Block a user