Beispiel #1
0
        public override bool InitLayer(LayerInitData layerInitData, RegisterAgent registerAgentHandle, UnregisterAgent unregisterAgentHandle)
        {
            var initiated = base.InitLayer(layerInitData, registerAgentHandle, unregisterAgentHandle);

            DeerEnvironment = new SpatialHashEnvironment <Deer>(Width - 1, Height - 1)
            {
                CheckBoundaries = true
            };
            WolfEnvironment = new SpatialHashEnvironment <Wolf>(Width - 1, Height - 1)
            {
                CheckBoundaries = true
            };


            AgentManager = layerInitData.Container.Resolve <IAgentManager>();
            AgentManager.Spawn <Deer, ForestLayer>().ToList();


            return(initiated);
        }
Beispiel #2
0
        public override bool InitLayer(
            Mars.Interfaces.Layer.Initialization.TInitData initData,
            RegisterAgent regHandle,
            UnregisterAgent unregHandle)
        {
            base.InitLayer(initData, regHandle, unregHandle);
            _Register   = regHandle;
            _Unregister = unregHandle;

            _InitGrid(initData);
            _AnimalEnvironment = new SpatialHashEnvironment <Animal>(_dimensionX, _dimensionY, true);

            _AnimalAgents = Mars.Components.Services.AgentManager.SpawnAgents <Animal>(
                initData.AgentInitConfigs.First(config => config.Type == typeof(Animal)),
                regHandle, unregHandle,
                new List <ILayer> {
                this
            });

            return(true);
        }