Exemple #1
0
    public void ResetRoad()
    {
        QuadPresenter firstQuad = _quads.Peek();

        Vector2 newQuadPos = GetRandomDirection();

        firstQuad.QuadModel.Position.Value = newQuadPos;
        firstQuad.gameObject.SetActive(true);
        RearrangeQuad(firstQuad);

        if (!CanSpawnDiamond())
        {
            return;
        }

        DiamondPresenter diamond = ResetDiamondPosition();

        if (diamond != null)
        {
            diamond.DiamondModel.Position.Value = newQuadPos;
            diamond.gameObject.SetActive(true);
            diamond.transform.SetParent(firstQuad.transform);
        }
        else
        {
            DiamondPresenter diamondPresenter = _factory.Create(newQuadPos);
            diamondPresenter.transform.SetParent(firstQuad.transform);
            AddDiamond(diamondPresenter);
        }
    }
    private void GenerateRoad()
    {
        for (int i = 0; i < _visibleQuads; i++)
        {
            Vector2       quadPos       = _roadModel.GetRandomDirection();
            QuadPresenter quadPresenter = _quadFactory.Create(quadPos);
            _roadModel.AddQuad(quadPresenter);
            quadPresenter.transform.SetParent(transform);

            GenerateDiamonds(quadPos, quadPresenter.transform);
        }
    }
 private void GenerateStartPlatform()
 {
     for (int i = 0; i < _startQuadSize; i++)
     {
         for (int j = 0; j < _startQuadSize; j++)
         {
             QuadPresenter quadPresenter = _quadFactory.Create(new Vector2(i, j));
             _roadModel.AddStartPanelQuad(quadPresenter);
             quadPresenter.transform.SetParent(startPanelParent);
         }
     }
 }
Exemple #4
0
    public bool IsQuadStartPanel(QuadPresenter quad)
    {
        if (_startPanelQuads.Count == 0)
        {
            return(false);
        }

        if (_startPanelQuads.Contains(quad))
        {
            return(true);
        }
        else
        {
            foreach (var quadPanel in _startPanelQuads)
            {
                quadPanel.gameObject.SetActive(false);
            }
            _startPanelQuads.Clear();
            return(false);
        }
    }
Exemple #5
0
 public void RearrangeQuad(QuadPresenter quad)
 {
     AddQuad(_quads.Dequeue());
 }
Exemple #6
0
 public void AddStartPanelQuad(QuadPresenter quad)
 {
     _startPanelQuads.Add(quad);
     _lastQuad = quad;
 }
Exemple #7
0
 public void AddQuad(QuadPresenter quad)
 {
     _quads.Enqueue(quad);
     _lastQuad = quad;
 }