private static Cell CreateCell(InitialCell initialCell)
        {
            var cell = new Cell
            {
                Density           = initialCell.Density,
                MolarMass         = initialCell.MolarMass,
                HeatCapacityRatio = initialCell.HeatCapacityRatio,
                Temperature       = initialCell.Temperature,
                Size  = initialCell.Size,
                Speed = 0
            };

            cell.Pressure       = GasDynUtils.GetPressure(cell.Density, cell.MolarMass, cell.Temperature);
            cell.InternalEnergy = GasDynUtils.GetInternalEnergy(cell.Pressure, cell.Density,
                                                                cell.HeatCapacityRatio, cell.Speed);

            return(cell);
        }
    void Start()
    {
        #region CellTypes Assigment
        CellTypes    = new GameObject[8];
        CellTypes[0] = null;
        CellTypes[1] = cellType1;
        CellTypes[2] = cellType2;
        CellTypes[3] = cellType3;
        CellTypes[4] = cellType4;
        CellTypes[5] = cellType5;
        CellTypes[6] = cellType6;
        CellTypes[7] = cellType7;
        #endregion
        initialTurnAllowed = false;
        emptyColor         = Color.white;
        StartPoints        = new StartPoint[2] {
            new StartPoint(1, 2, Color.green),
            new StartPoint(4, 3, Color.red)
        };
        StartPointsCount = 2;                    //  later load from another place
        PlayFieldMap     = new GameObject[5, 4]; //arguments sequence - width, height
        PlayFieldHeight  = 5;                    //  later load from another place
        PlayFieldWidth   = 4;                    //  later load from another place
        UnderlayFieldMap = new GameObject[5, 4];

        //initial cells array - later load from another place
        InitialCell[,] FieldCode = new InitialCell[5, 4] {
            { new InitialCell(2, false, 1, false), new InitialCell(5, true, 0, false), new InitialCell(2, true, 0, false), new InitialCell(2, true, 0, false) }, // upper left corner - downer left corner
            { new InitialCell(1, true, 0, false), new InitialCell(6, true, 0, false), new InitialCell(3, true, 2, false), new InitialCell(3, true, 0, false) },
            { new InitialCell(3, true, 0, false), new InitialCell(3, false, 0, false), new InitialCell(3, true, 0, false), new InitialCell(2, true, 0, false) },
            { new InitialCell(2, true, 0, false), new InitialCell(1, true, 0, false), new InitialCell(3, true, 0, false), new InitialCell(3, true, 0, false) },
            { new InitialCell(2, false, 2, false), new InitialCell(2, true, 0, false), new InitialCell(1, true, 0, false), new InitialCell(2, true, 0, false) } // upper right corner - downer right corner
        };

        BuildGameField(FieldCode);
        StartingTurnCells(FieldCode);
        UpdateAllConnections();
        ReDrawAll();
    }