Пытаюсь сделать так, чтобы при ударе уменьшалось количество энергии у объекта. Один удар - минус 10 энергии. Если делать все последовательно - то энергия убывает очень быстро.
делаю:
Синтаксис:
Используется csharp
if(dist > 27)
rigidbody.AddForce(-myTransform.forward*moveSpeed);
else
{
StartCoroutine(AttackAnimation());
}
rigidbody.AddForce(-myTransform.forward*moveSpeed);
else
{
StartCoroutine(AttackAnimation());
}
Синтаксис:
Используется csharp
IEnumerator AttackAnimation()
{
animation.Play("attack1");
yield return new WaitForSeconds(animation.clip.length);
rigidbody.Sleep();
rigidbody.WakeUp();
_curMana -= 10;
}
{
animation.Play("attack1");
yield return new WaitForSeconds(animation.clip.length);
rigidbody.Sleep();
rigidbody.WakeUp();
_curMana -= 10;
}
И все равно за один удар энергия уменьшается на 20, за второй - на 60 и дальше очень падает еще быстрее.
Пытался сделать через
Синтаксис:
Используется csharp
if(!animation.IsPlaying("attack1"))
{
rigidbody.Sleep();
rigidbody.WakeUp();
_curMana -= 10;
}
{
rigidbody.Sleep();
rigidbody.WakeUp();
_curMana -= 10;
}
Тут энергия вообще не убавляется.
Что делать?