using Assets;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ai : MonoBehaviour {
public GameObject player;
float Hp = 20;
Rigidbody rigidbody;
Context context;
// Use this for initialization
void Start () {
context = new Context(this);
rigidbody = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update () {
context.DoAction(GetData());
}
/// <summary>
/// 获取各种条件
/// </summary>
/// <returns></returns>
Data GetData()
{
Data data = new Data();
data.DistanceAiToPlayer = Vector3.Distance(transform.position, player.transform.position);
data.Hp = Hp;
return data;
}
public void MoveToPlayer()
{
rigidbody.AddForce((player.transform.position - transform.position).normalized);
}
public void StopMove()
{
rigidbody.AddForce(-rigidbody.velocity);
}
public void BeAttack()
{
Hp -= 0.01f;
}
public void FarAwayPlayer()
{
rigidbody.AddForce(-(player.transform.position - transform.position).normalized*2);
}
public void RecoveryHp()
{
if(Hp < 20)
{
Hp += 0.1f;
}
}
}