Beispiel #1
0
    private void CreateArrayFromText(LevelScriptableObjects levelParameters)
    {
        TextAsset textAsset = Resources.Load <TextAsset>($"Levels/{levelParameters.LevelName}");

        string[] oneLinesNumbers = textAsset.ToString().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

        m_IndexBricks = new int[levelParameters.FieldWidth, levelParameters.FieldHeight];
        int count = 0;

        for (int i = 0; i < levelParameters.FieldWidth; i++)
        {
            for (int j = 0; j < levelParameters.FieldHeight; j++, count++)
            {
                m_IndexBricks[i, j] = int.Parse(oneLinesNumbers[count]);
            }
        }
    }
Beispiel #2
0
    private void VisualGenerateBricks(LevelScriptableObjects levelParameters)
    {
        for (int x = 0; x < levelParameters.FieldWidth; x++)
        {
            for (int y = 0; y < levelParameters.FieldHeight; y++)
            {
                var linkBrickManager = m_Bricks[m_IndexBricks[x, y]].GetComponent <LinkBrickManager>();
                if (linkBrickManager != null)
                {
                    linkBrickManager.m_RandomLive = levelParameters.RandomLive;
                }

                var cell = Instantiate(m_Bricks[m_IndexBricks[x, y]], m_ZeroCell);
                cell.transform.localPosition = new Vector2(y, x);

                if ((m_IndexBricks[x, y] != 0) && (m_IndexBricks[x, y] != 6))
                {
                    MainBricksManager.Instance.m_QuantityBricksInLevel++;
                }
            }
        }
    }
Beispiel #3
0
 public void StartGenerateBricks(LevelScriptableObjects levelParameters)
 {
     ClearBricks.Instance.Clear();
     CreateArrayFromText(levelParameters);
     VisualGenerateBricks(levelParameters);
 }