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))); }); }
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))); } }
public AINavigation(AIBaseEntity aiEntity) { this.aiEntity = aiEntity; aiAgent = aiEntity.GetComponent <NavMeshAgent>(); }
public AIBaseIntent(AIIntentEnum aiIntent, AIBaseEntity aiEntity) { this.aiIntent = aiIntent; this.aiEntity = aiEntity; }
/// <summary> /// 离开意图 /// </summary> public virtual void IntentLeaving(AIBaseEntity aiEntity) { }
public virtual void IntentFixUpdate(AIBaseEntity aiEntity) { }
/// <summary> /// 进入意图 /// </summary> public virtual void IntentEntering(AIBaseEntity aiEntity) { }
/// <summary> /// 初始化数据 /// </summary> /// <param name="aiIntent"></param> /// <param name="aiEntity"></param> public void InitData(System.Enum aiIntent, AIBaseEntity aiEntity) { this.aiIntent = aiIntent; this.aiEntity = aiEntity; }