public void Init(AiClipHitData hitData, AIUnit owner) { mHitData = hitData; mOwner = owner; if (mHitData.autoFaceTarget) { mOwner.FaceToAttackTarget(); } pos = mOwner.transform.TransformPoint(mHitData.startPosition); eulerAngleY = mOwner.transform.eulerAngles.y; moveDirection = mOwner.transform.TransformDirection(mHitData.startDirection).normalized; mMoveSpeed = mHitData.moveSpeed; if (string.IsNullOrEmpty(mHitData.entityResName) == false) { GameObject prefab = Resources.Load(hitData.entityResName) as GameObject; if (prefab) { mHitEntity = Object.Instantiate(prefab) as GameObject; mHitEntity.transform.forward = moveDirection; mHitEntity.transform.position = pos; } else { Debug.LogError("加载资源" + hitData.entityResName + " 失败"); } } }
public void Init(AiClipHitData hitData,AIUnit owner) { mHitData = hitData; mOwner = owner; if (mHitData.autoFaceTarget) { mOwner.FaceToAttackTarget(); } pos = mOwner.transform.TransformPoint(mHitData.startPosition); eulerAngleY = mOwner.transform.eulerAngles.y; moveDirection = mOwner.transform.TransformDirection(mHitData.startDirection).normalized; mMoveSpeed = mHitData.moveSpeed; if (string.IsNullOrEmpty(mHitData.entityResName) == false) { GameObject prefab = Resources.Load(hitData.entityResName) as GameObject; if (prefab) { mHitEntity = Object.Instantiate(prefab) as GameObject; mHitEntity.transform.forward = moveDirection; mHitEntity.transform.position = pos; } else { Debug.LogError("加载资源"+hitData.entityResName+" 失败"); } } }
void ConductAIAction(AiActionEvent actionEvent) { switch (actionEvent.actiomType) { case EAiActionType.FaceTarget: { mOwner.FaceToAttackTarget(); break; } default: { Debug.LogError("没有实现的AI动作" + actionEvent); break; } } }