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); } }
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); }