public async Task <CreatedActionResult <ItemResponse> > PutMonsterTargetAsync(
            [FromServices] NaheulbookExecutionContext executionContext,
            [FromRoute] int monsterId,
            TargetRequest request
            )
        {
            try
            {
                await _monsterService.UpdateMonsterTargetAsync(executionContext, monsterId, request);

                return(NoContent());
            }
            catch (ForbiddenAccessException ex)
            {
                throw new HttpErrorException(StatusCodes.Status403Forbidden, ex);
            }
            catch (MonsterNotFoundException ex)
            {
                throw new HttpErrorException(StatusCodes.Status404NotFound, ex);
            }
            catch (TargetNotFoundException ex)
            {
                throw new HttpErrorException(StatusCodes.Status400BadRequest, ex);
            }
        }
Exemple #2
0
    public static void RequestTarget(Vector3 position, List <Node> available, HashSet <Node> dynamicBlocked, Action <Node, bool> callback)
    {
        TargetRequest newRequest = new TargetRequest(position, available, dynamicBlocked, callback);

        instance.pathRequestQueue.Enqueue(newRequest);
        instance.TryProcessNext();
    }
Exemple #3
0
 void TryProcessNext()
 {
     if (!isProcessingPath && pathRequestQueue.Count > 0)
     {
         currentPathRequest = pathRequestQueue.Dequeue();
         isProcessingPath   = true;
         targeting.StartFindTarget(currentPathRequest.position, currentPathRequest.available, currentPathRequest.dynamicBlocked);
     }
 }
Exemple #4
0
 void TryProcessNext()
 {
     if (!isProcessingPath && pathRequestQueue.Count > 0)
     {
         currentPathRequest = pathRequestQueue.Dequeue();
         isProcessingPath = true;
         targeting.StartFindTarget(currentPathRequest.position, currentPathRequest.available, currentPathRequest.dynamicBlocked);
     }
 }
Exemple #5
0
        public async Task <Response> AddTargetedList(TargetRequest targets)
        {
            var result = await _addOrUpdateMessage.AddTargetedList(targets);

            if (!result.Success)
            {
                return(new Response(result.Error));
            }

            return(new Response());
        }
Exemple #6
0
    public void GetTargets()
    {
        var    bundle     = "appBundle=" + Application.bundleIdentifier;
        string requestUrl = string.Format(NetworkRequests.GetTargetsRequest + bundle, RequestSendHandler.BaseServerUrl);
        var    uri        = new Uri(requestUrl);

        var _rTarget = new TargetRequest {
            PageNumber = 1, DisplayRecods = ImageTargets.Count
        };
        var token = LoginController.TokenType + " " + LoginController.UserToken;

        loading = true;
        RequestSendHandler.RequestTypeInt = 3;
        RequestSendHandler.SendRequest(uri, _rTarget, HttpMethod.Post, ContentType.ApplicationJson, token);
    }
Exemple #7
0
    public void GetReports()
    {
        CleanWindow(ReportsContainer.transform);
        var    request    = "appBundle=" + Application.bundleIdentifier;
        string requestUrl = string.Format(NetworkRequests.OnGetReport + request, RequestSendHandler.BaseServerUrl);

        var uri      = new Uri(requestUrl);
        var _rTarget = new TargetRequest {
            PageNumber = 1, DisplayRecods = 10
        };

        var token = LoginController.TokenType + " " + LoginController.UserToken;

        RequestSendHandler.RequestTypeInt = 18;
        RequestSendHandler.SendRequest(uri, _rTarget, HttpMethod.Post, ContentType.ApplicationJson, token);
    }
Exemple #8
0
    private void GetImages()
    {
        CleanWindow(TargetContainer.transform);
        var    bundle     = "appBundle=" + Application.bundleIdentifier;
        string requestUrl = string.Format(NetworkRequests.GetBookvikImages + bundle, RequestSendHandler.BaseServerUrl);

        var uri = new Uri(requestUrl);

        var _rTarget = new TargetRequest {
            PageNumber = 1, DisplayRecods = 100
        };
        var token = LoginController.TokenType + " " + LoginController.UserToken;

        print(_rTarget.PageNumber + " sddf " + _rTarget.DisplayRecods);
        RequestSendHandler.RequestTypeInt = 23;
        RequestSendHandler.SendRequest(uri, _rTarget, HttpMethod.Post, ContentType.ApplicationJson, token);
    }
        public async Task <Response> AddTargetedList(TargetRequest targets)
        {
            List <TARGET_MESSAGE> targetedMessages = new List <TARGET_MESSAGE>();

            foreach (var uid in targets.Uids)
            {
                targetedMessages.Add(new TARGET_MESSAGE()
                {
                    MessageID = targets.MessageId,
                    UID       = uid,
                    Created   = DateTime.Now,
                    Modified  = DateTime.Now
                });
            }

            var result = await _insertMessageRepository.UploadTargetedListAsync(targetedMessages);

            if (!result.Success)
            {
                return(new Response(result.Error));
            }

            return(new Response());
        }
Exemple #10
0
 public INotificationPacket BuildCharacterChangeTarget(Character character, TargetRequest targetInfo)
 {
     return(BuildCharacterGmChange(character.Id, "changeTarget", targetInfo));
 }
Exemple #11
0
 public void NotifyMonsterChangeTarget(int monsterId, TargetRequest target)
 {
     _packets.Add(_packetBuilder.BuildMonsterChangeTarget(monsterId, target));
 }
Exemple #12
0
 public void NotifyCharacterGmChangeTarget(Character character, TargetRequest targetInfo)
 {
     _packets.Add(_packetBuilder.BuildCharacterChangeTarget(character, targetInfo));
 }
        public async Task UpdateMonsterTargetAsync(NaheulbookExecutionContext executionContext, int monsterId, TargetRequest request)
        {
            using (var uow = _unitOfWorkFactory.CreateUnitOfWork())
            {
                var monster = await uow.Monsters.GetWithGroupWithItemsAsync(monsterId);

                if (monster == null)
                {
                    throw new MonsterNotFoundException(monsterId);
                }

                _authorizationUtil.EnsureIsGroupOwner(executionContext, monster.Group);

                if (request.IsMonster)
                {
                    var targetedMonster = await uow.Monsters.GetAsync(request.Id);

                    if (targetedMonster == null)
                    {
                        throw new TargetNotFoundException();
                    }
                    if (targetedMonster.GroupId != monster.GroupId)
                    {
                        throw new ForbiddenAccessException();
                    }

                    monster.TargetedCharacterId = null;
                    monster.TargetedMonsterId   = request.Id;
                }
                else
                {
                    var targetedCharacter = await uow.Characters.GetAsync(request.Id);

                    if (targetedCharacter == null)
                    {
                        throw new TargetNotFoundException();
                    }
                    if (targetedCharacter.GroupId != monster.GroupId)
                    {
                        throw new ForbiddenAccessException();
                    }

                    monster.TargetedMonsterId   = null;
                    monster.TargetedCharacterId = request.Id;
                }

                var notificationSession = _notificationSessionFactory.CreateSession();
                notificationSession.NotifyMonsterChangeTarget(monster.Id, request);

                await uow.SaveChangesAsync();

                await notificationSession.CommitAsync();
            }
        }
Exemple #14
0
 public static void RequestTarget(Vector3 position, List<Node> available, HashSet<Node> dynamicBlocked, Action<Node, bool> callback)
 {
     TargetRequest newRequest = new TargetRequest(position, available, dynamicBlocked, callback);
     instance.pathRequestQueue.Enqueue(newRequest);
     instance.TryProcessNext();
 }