Beispiel #1
0
        public static void Initialize()
        {
            _boardTiles = new BoardTile();
            SetUpTheTiles();

            Figures = new FigureGraph();

            AllFigures          = new List <Figure>();
            _activeAllyFigures  = new List <Figure>();
            _activeEnemyFigures = new List <Figure>();

            Pathfinding.PathFinder pathFindingAlgorithm = new Pathfinding.PathFinder(new Dijkstra(8, 8, 8));
            pathFindingAlgorithm.SetGraph(Figures);

            MatchManager.Instance.OnStateChage += matchState =>
            {
                switch (matchState)
                {
                case Enums.MatchState.Preparation:
                    RecoverFromBattle();
                    List <Figure> sacrifices = new List <Figure>();
                    foreach (Figure figure in AllFigures)
                    {
                        sacrifices.AddRange(CheckForUpgrades(figure, false));
                    }

                    foreach (Figure figure in sacrifices)
                    {
                        AllFigures.Remove(figure);
                    }

                    foreach (Figure figure in _activeEnemyFigures)
                    {
                        figure.Destroy();
                    }
                    break;

                case Enums.MatchState.Disposal:
                    SellExcessFigures();
                    break;

                case Enums.MatchState.Stretching:
                    PrepareForBattle();
                    break;

                case Enums.MatchState.Battle:
                    if (_activeAllyFigures.Count == 0)
                    {
                        TakeDamage();
                    }
                    break;
                }
            };

            _pieceCounter = new PieceCounter();
        }
Beispiel #2
0
 public void SetGraph(FigureGraph graph)
 {
     _graph = graph;
 }