예제 #1
0
        public void TurnBeginListener(TurnBeforeUpdateEvent turnBeforeUpdateEvent)
        {
            var armies = entityWorld.EntityManager.GetEntities(Aspect.All(typeof(Army)));

            foreach (var army in armies)
            {
                Fraction fraction = army.GetComponent <Army>().Fraction;
                Point    position = army.GetComponent <GeoEntity>().Position;
                ExpandSeeArea(position, fraction);
            }
        }
예제 #2
0
 public void TurnEndListener(TurnBeforeUpdateEvent turnBeforeUpdateEvent)
 {
     for (int x = 0; x < _grid.Width; x++)
     {
         for (int y = 0; y < _grid.Height; y++)
         {
             foreach (var fraction in _fractions)
             {
                 if (fraction.FogOfWar[x, y] > 1)
                 {
                     fraction.FogOfWar[x, y] = 1;
                 }
             }
         }
     }
 }
        public void Update()
        {
            if (GameEnded)
            {
                return;
            }

            CanNextTurnEvent canNextTurnEvent = new CanNextTurnEvent();

            JEventBus.GetDefault().Post(canNextTurnEvent);

            if (canNextTurnEvent.ActionBlockers.Count > 0)
            {
                Debug.WriteLine("Are Actions To Finish");
                return;
            }
            TurnBeforeUpdateEvent turnBeforeUpdateEvent = new TurnBeforeUpdateEvent(GameCalendar.CurrentTurn);

            JEventBus.GetDefault().Post(turnBeforeUpdateEvent);
            EntityWorld.Update(1000);
            TurnAfterUpdateEvent turnAfterUpdateEvent = new TurnAfterUpdateEvent(GameCalendar.CurrentTurn++);

            JEventBus.GetDefault().Post(turnAfterUpdateEvent);
        }