Esempio n. 1
0
        /// <summary>
        /// Метод проверяет окончена ли игра
        /// Method checks whethe game is over
        /// </summary>
        /// <returns>True если игра окончена/Returns true if game is over</returns>
        public bool IsGameEnded()
        {
            var  predecates = GameoverPredicate.GetInvocationList();
            bool result     = false;

            foreach (var p in predecates)
            {
                if (((GameLogicsAttributes.GameoverPredicate)p)())
                {
                    result = true;
                }
            }

            if (result)
            {
                SnakesTable snakesTable = new SnakesTable();
                PlayerTable playerTable = new PlayerTable();
                foreach (var s in SnakesForLogic.Snakes)
                {
                    snakesTable.UpdateStatistics(s);
                    if (s.SnakeName.Contains("Player"))
                    {
                        playerTable.AddNewRow(s.SnakeName, GameType, s.Statistics.EatenFood);
                    }
                }
            }

            return(result);
        }
Esempio n. 2
0
 public void ClearData()
 {
     if (table == null)
     {
         table = new SnakesTable();
     }
     table.ClearTable();
     // Reload scene
     SceneManager.LoadScene(5);
 }
Esempio n. 3
0
        private void Start()
        {
            IsOrderByDescending = false;
            table = new SnakesTable();
            AssemblySnakeFactory snakeFactory = new AssemblySnakeFactory();

            SnakeNames = snakeFactory.GetAllSnakeTypes();
            Rows       = new List <SnakeStatisticsForTable>();
            RowPrefab.SetActive(false);
            OrderBy = Columns.StepsPerFood;
            Sort();
            UpdateTable();
        }
Esempio n. 4
0
        private void UpdateTable()
        {
            foreach (var name in SnakeNames)
            {
                if (table == null)
                {
                    table = new SnakesTable();
                }

                if (!table.IsExistInTable(name))
                {
                    continue;
                }

                Rows.Add(table.GetStatisticsBySnake(name));
            }
            Sort();
            ShowStatistics();
        }