public static void Looking(Transform lookObject, Transform lookTarget, LockRotationAngle rotationAngle)
    {
        var temp = lookTarget.position;

        switch (rotationAngle)
        {
        case LockRotationAngle.Pitch:
            temp.y = lookObject.position.y;
            break;

        case LockRotationAngle.Yaw:
            TargetRotationFixator.RotateYaw(lookTarget.position - lookObject.position, lookObject, lookObject);
            break;
        }
        lookObject.LookAt(temp);
    }
Пример #2
0
    public bool MoveUponDistance(Transform target, float detectionDistance, AEnemyMovement.EnemyMoveType currentType)
    {
        Vector3 toTarget = target.position - transform.position;

        if (toTarget.magnitude <= detectionDistance)
        {
            //var temp = target.position;
            foreach (var lookObj in lookingObject)
            {
                //temp.y = lookObj.position.y;
                //lookObj.LookAt(temp);
                TargetRotationFixator.Looking(lookObj, target, TargetRotationFixator.LockRotationAngle.Pitch);
            }
            mainEvents.OnAnimEvent(AnimationController.AnimationType.Movement, meshAgent.velocity.magnitude / correctSpeedToAnim);
            Move(currentType, target);
            return(true);
        }
        else
        {
            mainEvents.OnAnimEvent(AnimationController.AnimationType.Movement, 0);
        }
        return(false);
    }
 private void CorrectGunPosition()
 {
     TargetRotationFixator.Looking(gunPosition, weaponLogic.WantDamagedObject.transform, TargetRotationFixator.LockRotationAngle.Yaw);
     //gunPosition.LookAt(weaponLogic.WantDamagedObject.transform);
     //TargetRotationFixator.RotateYaw(weaponLogic.WantDamagedObject.transform.position - gunPosition.position, gunPosition, gunPosition);
 }