예제 #1
0
    public override void IntentEntering(AIBaseEntity aiEntity)
    {
        base.IntentEntering(aiEntity);
        AICreatureEntity aiCreatureEntity = aiEntity as AICreatureEntity;

        aiEntity.WaitExecuteSeconds(1, () =>
        {
            aiCreatureEntity.aiNavigation.SetMovePosition(new Vector3(Random.Range(-10f, 10f), aiEntity.transform.position.y, Random.Range(-10f, 10f)));
        });
    }
예제 #2
0
    public override void IntentUpdate(AIBaseEntity aiEntity)
    {
        base.IntentUpdate(aiEntity);

        AICreatureEntity aiCreatureEntity = aiEntity as AICreatureEntity;

        if (!aiCreatureEntity.aiNavigation.IsMove())
        {
            aiCreatureEntity.aiNavigation.SetMovePosition(new Vector3(Random.Range(-10f, 10f), aiEntity.transform.position.y, Random.Range(-10f, 10f)));
        }
    }
예제 #3
0
 public AINavigation(AIBaseEntity aiEntity)
 {
     this.aiEntity = aiEntity;
     aiAgent       = aiEntity.GetComponent <NavMeshAgent>();
 }
예제 #4
0
 public AIBaseIntent(AIIntentEnum aiIntent, AIBaseEntity aiEntity)
 {
     this.aiIntent = aiIntent;
     this.aiEntity = aiEntity;
 }
예제 #5
0
 /// <summary>
 /// 离开意图
 /// </summary>
 public virtual void IntentLeaving(AIBaseEntity aiEntity)
 {
 }
예제 #6
0
 public virtual void IntentFixUpdate(AIBaseEntity aiEntity)
 {
 }
예제 #7
0
 /// <summary>
 /// 进入意图
 /// </summary>
 public virtual void IntentEntering(AIBaseEntity aiEntity)
 {
 }
예제 #8
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 /// <param name="aiIntent"></param>
 /// <param name="aiEntity"></param>
 public void InitData(System.Enum aiIntent, AIBaseEntity aiEntity)
 {
     this.aiIntent = aiIntent;
     this.aiEntity = aiEntity;
 }