public override int AddSquareToQueue() { Square newSquare = ActiveFactory.CreateRandomSquare(); if (newSquare == null) { return(-1); } newSquare.OnSquareHit += HandleSquareHit; SpawnOrder.Enqueue(newSquare.SquareIndex); return(newSquare.SquareIndex); }
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; }
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); }