46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
using Cielonos.MainGame.Characters;
|
|
using UnityEngine;
|
|
|
|
namespace Cielonos.MainGame
|
|
{
|
|
public class Link : AttackAreaBase
|
|
{
|
|
public CharacterBase target;
|
|
|
|
protected override void Update()
|
|
{
|
|
base.Update();
|
|
|
|
if (target != null)
|
|
{
|
|
if(hitSm.checkedObjects.Contains(target.gameObject))
|
|
{
|
|
return;
|
|
}
|
|
|
|
HitCharacter(target.collisionSc.MainCollider, target.centerPoint.position);
|
|
hitSm.checkedObjects.Add(target.gameObject);
|
|
}
|
|
}
|
|
|
|
public override void HitCharacter(Collider characterCollider, Vector3 hitPosition)
|
|
{
|
|
if (!isEnabling)
|
|
{
|
|
return;
|
|
}
|
|
|
|
CharacterBase targetCharacter = characterCollider.GetComponentInParent<CharacterBase>();
|
|
|
|
if (!IsValidTarget(targetCharacter)) return;
|
|
|
|
if (hitSm.checkedObjects.Contains(targetCharacter.gameObject))
|
|
{
|
|
return;
|
|
}
|
|
|
|
hitSm.AddCheckedObject(targetCharacter.gameObject);
|
|
HitOnTarget(characterCollider, hitPosition, out _);
|
|
}
|
|
}
|
|
} |