예제 #1
0
    void Update()
    {
        if (Obj == null)
        {
            return;
        }

        if (!mCanMove)
        {
            return;
        }

        Obj.mPosition = Obj.mGameObject.transform.position;
        if (Obj is CRoleObject)
        {
            RangeTools.MotifyRoleAoi();

            return;
        }

        if (!mTargetPos.Equals(Vector3.zero))
        {
            if (mMoveTarget != null)
            {
                mTargetPos = mMoveTarget.mPosition;
            }

            if (UtilTools.Vec2Distance(mObj.mPosition, mTargetPos) > mTargetDistance)
            {
                Vector3 dir = UtilTools.Vec3Direction(mTargetPos, mObj.mPosition);
                mAnimatorManager.SetRotation(dir);
                mAnimatorManager.RoleMoveCtrl();
            }
            else
            {
                mTargetPos = Vector3.zero;

                if (mOnArrive != null)
                {
                    mOnArrive();
                }
            }
        }
    }
예제 #2
0
    void Update()
    {
        if (mObj == null)
        {
            return;
        }

        if (mObj.mIsDead)
        {
            return;
        }

        if (mCurrentHp < 1 && !mObj.mIsDead)
        {
            mAnimatorManager.DeathAnim();
            mObj.mIsDead = true;

            RangeTools.MotifyRoleAoi();

            //TweenAlpha tween = TweenAlpha.Begin(mObj.mGameObject, 3.0f, 1.0f);
            //tween.AddOnFinished(EnemyDisappare);
        }
    }