예제 #1
0
    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 + " 失败");
            }
        }
    }
예제 #2
0
    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+" 失败");
            }
        }
    }
예제 #3
0
    void ConductAIAction(AiActionEvent actionEvent)
    {
        switch (actionEvent.actiomType)
        {
        case EAiActionType.FaceTarget:
        {
            mOwner.FaceToAttackTarget();
            break;
        }

        default:
        {
            Debug.LogError("没有实现的AI动作" + actionEvent);
            break;
        }
        }
    }