コード例 #1
0
ファイル: KnowledgeBase.cs プロジェクト: dtbinh/SocraticSwarm
    private void ProcessAgentUpdate(Packet p)
    {
        agentStates.Remove(p.src.ID);
        AgentUpdate agentUpdate = new AgentUpdate((UpdateMessage)p.message);

        agentUpdate.UpdatePredictedCurrentState(WorldStateManager.AVE_COMM_DELAY);
        agentStates.Add(p.src.ID, agentUpdate);
    }
コード例 #2
0
        public async Task <Agent> Update(string id, AgentUpdate agent, CancellationToken ct)
        {
            var repo = _mapper.Map <Infrastructure.Repositories.Agent>(agent);

            _context.Agents.Update(repo);
            await _context.SaveChangesAsync(ct);

            return(_mapper.Map <Agent>(repo));
        }
コード例 #3
0
        public void Setup()
        {
            _agentUpdateInfo = "http://something.com/file.zip,544564abc453de787ad";

            _agentUpdateMessageSender = MockRepository.GenerateMock <IAgentUpdateMessageSender>();
            _connectionChecker        = MockRepository.GenerateMock <IConnectionChecker>();
            _logger = MockRepository.GenerateMock <ILogger>();

            _connectionChecker.Stub(x => x.Check());

            _agentUpdate = new AgentUpdate(_agentUpdateMessageSender, _connectionChecker, new AgentUpdateMessageHandler(), _logger);

            _agentUpdate.Execute(_agentUpdateInfo);
        }
コード例 #4
0
        private void apply(AgentUpdate update)
        {
            const float xSize = 8;
            const float ySize = 6;

            var   p = new Position2(update.Y / (xSize / 1.8f) - 0.9f, update.X / (xSize / 1.8f) - 0.9f);
            Agent agent;

            if (!this.agents.TryGetValue(update.Device, out agent) || agent.Deleted)
            {
                agent = new Agent(this.game, p, update.Device);
                this.agents[update.Device] = agent;
            }

            agent.SetGoal(p);
            agent.SetDeletionTime(this.game.Time + new Bearded.Utilities.SpaceTime.TimeSpan(10));
        }
コード例 #5
0
        public async Task <Agent> Create(AgentUpdate agent, int?personaId, CancellationToken ct)
        {
            var createdAgent = _mapper.Map <Infrastructure.Repositories.Agent>(agent);
            await _context.Agents.AddAsync(createdAgent, ct);

            await _context.SaveChangesAsync(ct);

            var personaService = new PersonaService(this._context, this._mapper);

            Persona persona = null;

            if (personaId.HasValue)
            {
                persona = await personaService.GetById(personaId.Value, ct);
            }
            else
            {
                var personas = await personaService.GetAll(ct);

                if (personas.Any())
                {
                    persona = personas.RandomElement();
                }
            }

            if (persona != null)
            {
                var tags = new List <AgentTagUpdate>();
                var r    = new Random();
                foreach (var personaTag in persona.PersonaTags)
                {
                    tags.Add(new AgentTagUpdate {
                        TagId = personaTag.TagId, Score = r.Next(personaTag.Low, personaTag.High)
                    });
                }

                await this.UpdateTag(createdAgent.Id.ToString(), tags, ct);
            }

            return(_mapper.Map <Agent>(createdAgent));
        }
コード例 #6
0
 public async Task <Agent> Update([FromRoute] string id, [FromBody] AgentUpdate agent, CancellationToken ct)
 {
     return(await _service.Update(id, agent, ct));
 }
コード例 #7
0
 public async Task <Agent> Create([FromBody] AgentUpdate agent, int?personaId, CancellationToken ct)
 {
     return(await _service.Create(agent, personaId, ct));
 }