Ejemplo n.º 1
0
        public void EventKnowledgeTest1()
        {
            var symuEvent = new CyclicalEvent(_mainOrganization.ArtifactNetwork)
            {
                EveryStep = 5
            };

            symuEvent.OnExecute += _environment.KnowledgeEvent;
            SuccessTest(3);
        }
Ejemplo n.º 2
0
        private void SetEvents()
        {
            var eventType = Cyclicity.None;

            if (rbAtStep.Checked)
            {
                eventType = Cyclicity.OneShot;
            }

            if (rbCyclical.Checked)
            {
                eventType = Cyclicity.Cyclical;
            }

            if (rbRandom.Checked)
            {
                eventType = Cyclicity.Random;
            }

            var eventStep = SetEventStep();

            var randomRatio = SetRandomRatio();

            var cyclicalStep = SetCyclicalStep();

            if (AddPerson.Checked)
            {
                EventEntity eventEntity = null;
                switch (eventType)
                {
                case Cyclicity.None:
                    break;

                case Cyclicity.OneShot:
                    eventEntity = new EventEntity(_environment.MainOrganization.ArtifactNetwork)
                    {
                        Step = eventStep
                    };
                    break;

                case Cyclicity.Cyclical:
                    eventEntity = new CyclicalEvent(_environment.MainOrganization.ArtifactNetwork)
                    {
                        EveryStep = cyclicalStep
                    };
                    break;

                case Cyclicity.Random:
                    eventEntity = new RandomEvent(_environment.MainOrganization.ArtifactNetwork)
                    {
                        Ratio = randomRatio
                    };
                    break;

                case Cyclicity.Always:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                if (eventEntity != null)
                {
                    eventEntity.OnExecute += _environment.PersonEvent;
                }
            }

            if (AddKnowledge.Checked)
            {
                EventEntity eventEntity = null;
                switch (eventType)
                {
                case Cyclicity.None:
                    break;

                case Cyclicity.OneShot:
                    eventEntity = new EventEntity(_environment.MainOrganization.ArtifactNetwork)
                    {
                        Step = eventStep
                    };
                    break;

                case Cyclicity.Cyclical:
                    eventEntity = new CyclicalEvent(_environment.MainOrganization.ArtifactNetwork)
                    {
                        EveryStep = cyclicalStep
                    };
                    break;

                case Cyclicity.Random:
                    eventEntity = new RandomEvent(_environment.MainOrganization.ArtifactNetwork)
                    {
                        Ratio = randomRatio
                    };
                    break;

                case Cyclicity.Always:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                if (eventEntity != null)
                {
                    eventEntity.OnExecute += _environment.KnowledgeEvent;
                }
            }
        }