Ejemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] AddWorkerRequest request)
        {
            var @operator = await _mediator.Send(new WorkerAddCommand(
                                                     request.FirstName,
                                                     request.LastName,
                                                     request.Birthday,
                                                     request.CityOfBirthday,
                                                     request.Pesel,
                                                     request.DocumentType,
                                                     request.DocumentNumber,
                                                     request.Gender,
                                                     request.Street,
                                                     request.PropertyNumber,
                                                     request.ApartmentNumber,
                                                     request.ZipCode,
                                                     request.City,
                                                     request.Country,
                                                     request.ActNumber,
                                                     request.MotherName,
                                                     request.FatherName,
                                                     request.Phone
                                                     ));

            return(Created(@operator.Id, @operator));
        }
        private void Handle(Entity client, ClientRequest request)
        {
            WorldStateManager wsm = EntityFactory.World;

            if (request.GetType() == typeof(PlaceBuildingRequest))
            {
                var packet = (PlaceBuildingRequest)request;
                var house  = EntityFactory.CreateHouse(new Vector3Int {
                    x = (int)packet.Pos.x, y = (int)packet.Pos.y, z = 0
                });
                wsm.Engine.AddEntity(house);

                //var colonist = EntityFactory.CreateColonist(wsm.Level);
                //colonist.GetComponent<PositionComponent>().Pos.Value = packet.Pos;
                //Engine.AddEntity(colonist);
            }
            else if (request.GetType() == typeof(AddWorkerRequest))
            {
                AddWorkerRequest workRequest = (AddWorkerRequest)request;
                //var hire = client.AddComponent<HiringComponent>();
                //hire.OnHire = (worker) =>
                //{
                //    var rock = Engine.GetEntity(workRequest.EntityID);
                //    var pos = rock.GetComponent<MapObjectComponent>().Pos;
                //    var slots = rock.GetComponent<SlotComponent>();
                //    var slot = slots.Slots[workRequest.Slot];
                //    var slotPos = pos + new Vector3(slot.x, slot.y, 0);

                //    var move = new JobMove(worker.GetComponent<LevelComponent>().Level, slotPos);
                //    var mine = new JobMine(rock, client);

                //    return new JobSequence(move, mine);
                //};
            }
        }