Пример #1
0
    public override int AddSquareToQueue()
    {
        Square newSquare = ActiveFactory.CreateRandomSquare();

        if (newSquare == null)
        {
            return(-1);
        }

        newSquare.OnSquareHit += HandleSquareHit;

        SpawnOrder.Enqueue(newSquare.SquareIndex);

        return(newSquare.SquareIndex);
    }
Пример #2
0
    public void SwitchAnchor()
    {
        if (anchorSquare != null)
        {
            anchorSquare.DestroySquare();
        }

        anchorSquare = ActiveFactory.CreateRandomSquare();

        if (anchorSquare == null)
        {
            throw new Exception("Failed to create anchor");
        }

        anchorSquare.OnSquareHeld += HandleSquareHeld;
        anchorSquare.SetColor(Color.blue);

        anchorIndex = anchorSquare.SquareIndex;

        timeWithoutAnchorHold = 0.0f;
    }
Пример #3
0
    public override int AddSquareToQueue()
    {
        Square newSquare = ActiveFactory.CreateRandomSquare();

        if (newSquare == null)
        {
            return(-1);
        }

        newSquare.OnSquareHit += HandleSquareHit;

        Color nextColor = GetAvailableColor();

        availableColors.Remove(nextColor);
        newSquare.SetColor(nextColor);
        int colorIndex =
            Mathf.Min(colorOrder.IndexOf(nextColor), Mathf.Max(colorSpawnOrder.Count - 1, 0));

        colorSpawnOrder.Insert(colorIndex, nextColor);

        return(newSquare.SquareIndex);
    }