using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 角色状态 闪避
///
public class RoleDodge : MonoBehaviour
{
///
/// 击退的时间
///
private float mPushTime = 0.5f;
///
/// 击退的方向
///
private Vector3 mDir = Vector3.zero;
///
/// 移动速度
///
private float mSpeed = 3;
///
/// 延迟更新
///
private float mLateUpdat = 0.15f;
private Role role = null;
//
/// 击退
/// i
/// 角色
/// 方向
public void Init(Role r, Vector3 dir, float speedf)
{
role = r;
mSpeed = speedf;
role.mInvincible = true;
mLateUpdat = 0.15f;
mDir = dir;
mDir.y = 0;
}
///
/// 更新
///
public void FixedUpdate()
{
mLateUpdat -= Time.fixedUnscaledDeltaTime;
if (mLateUpdat > 0)
{
return;
}
mPushTime -= Time.fixedUnscaledDeltaTime;
if (mPushTime >= 0)
{
role.mNavMeshAgent.velocity = mDir * mSpeed;
}
else
{
role.mInvincible = false;
Destroy(this);
}
}
}