protected override void Update() { base.Update(); if (CacheTargetObject != null) { CacheTargetObject.gameObject.SetActive(destination.HasValue); } if (CharacterEntity.CurrentHp <= 0) { queueUsingSkill = null; destination = null; if (CacheUISceneGameplay != null) { CacheUISceneGameplay.SetTargetCharacter(null); } } else { BaseCharacterEntity targetCharacter = null; CharacterEntity.TryGetTargetEntity(out targetCharacter); if (CacheUISceneGameplay != null) { CacheUISceneGameplay.SetTargetCharacter(targetCharacter); } } if (destination.HasValue) { var destinationValue = destination.Value; if (CacheTargetObject != null) { CacheTargetObject.transform.position = destinationValue; } if (Vector3.Distance(destinationValue, CharacterTransform.position) < StoppingDistance + 0.5f) { destination = null; } } UpdateInput(); UpdateFollowTarget(); }