Esempio n. 1
0
        /// <summary>
        ///     Factory method to create an agent
        ///     Call the Initialize method
        /// </summary>
        /// <returns></returns>
        public static GroupAgent CreateInstance(SymuEnvironment environment)
        {
            if (environment == null)
            {
                throw new ArgumentNullException(nameof(environment));
            }

            var agent = new GroupAgent(environment);

            agent.Initialize();
            return(agent);
        }
Esempio n. 2
0
        public override void SetAgents()
        {
            base.SetAgents();

            for (var i = 0; i < ExampleMainOrganization.GroupsCount; i++)
            {
                var group = GroupAgent.CreateInstance(this);
                for (var j = 0; j < ExampleMainOrganization.WorkersCount; j++)
                {
                    var actor = PersonAgent.CreateInstance(this,
                                                           MainOrganization.Templates.Human);
                    group.AddPerson(actor);
                    SetAgentKnowledge(actor, ExampleMainOrganization.ArtifactNetwork.Knowledge.GetEntityIds().ToList(), i);
                    SetAgentTasks(actor, ExampleMainOrganization.ArtifactNetwork.Task.GetEntityIds().ToList(), i);
                }
            }
        }