Ejemplo n.º 1
0
        public void Run(IMapLoader mapLoader = null)
        {
            _eventBus.Register(this);
            _eventBus.Register(JavityWebSocketServer.GetInstance());

            mapLoader ??= LoadClassicMap();
            GenerateMap(mapLoader);
            StartWebServer();
            RunGame();
        }
Ejemplo n.º 2
0
        public override void LoadContent()
        {
            base.LoadContent();
            _eventBus = BlackBoard.GetEntry <JEventBus>("EventBus") ?? JEventBus.GetDefault();
            _eventBus.Register(this);

            var _grid = BlackBoard.GetEntry <Grid>("Grid");

            _dijkstraPathFinder = new DijkstraPathFinder(ByteArrayHelper.CreateBase(_grid.Width));
        }
Ejemplo n.º 3
0
        public override void Process(Entity entity)
        {
            ArmyAi armyAi = entity.GetComponent <ArmyAi>();
            Army   army   = entity.GetComponent <Army>();

            _eventBus.Register(armyAi.DefaultDecisionThinker);
            armyAi.DefaultDecisionThinker.Think(entity, _eventBus);

            float lastMovementPoints = 0; //protection against standing in place

            while (army.MovementPoints > 0 && army.MovementPoints != lastMovementPoints)
            {
                lastMovementPoints = army.MovementPoints;
                IDecisionThinker decisionThinker = armyAi.DecisionThinkers[armyAi.ArmyStateMachine.State];
                decisionThinker.Think(entity, _eventBus);
            }


            _eventBus.Unregister(armyAi.DefaultDecisionThinker);
            // Debug.WriteLine("Update AI");
        }
Ejemplo n.º 4
0
 public override void LoadContent()
 {
     base.LoadContent();
     _eventBus = BlackBoard.GetEntry <JEventBus>("EventBus") ?? JEventBus.GetDefault();
     _eventBus.Register(this);
 }
Ejemplo n.º 5
0
 public ResolverQueue(JEventBus eventBus)
 {
     _eventBus = eventBus;
     eventBus.Register(this);
     _eventBus.AddInterceptor(this);
 }
Ejemplo n.º 6
0
 public override void LoadContent()
 {
     _eventBus = BlackBoard.GetEntry <JEventBus>("EventBus") ?? JEventBus.GetDefault();
     _eventBus.Register(this);
     Debug("System Loaded: " + GetType().Name);
 }
 public void LoadMap()
 {
     _mapLoader.LoadMap(EntityWorld);
     EventBus.Post(new CoreLoadedEvent());
     EventBus.Register(this);
 }