public void Initialize() { grid = gameController.grid; glowingBlocksManager = gameController.glowingBlocksManager; shapeHolder = gameController.shapeHolder; shapeSaver = gameController.shapeSaver; SpawnShape(); }
private void InitiateScripts() { mainBlockManager = new MainBlockManager(this, spawnCoordinate); playerInput = new PlayerInput(this, spedUpTimeIncrease); grid = new Grid(this, blockPrefab, gridSize, invisibleLayer, new Demonstration_MeshProcessing(outlineMaterial)); soundManager = new SoundManager(moveShapeAudio, setBlockAudio, clearLineAudio); glowingBlocksManager = new GlowingBlocksManager(); shapeSaver = FindObjectOfType <ShapeSaver>(); shapeHolder = new ShapeHolder(blueMaterial, orangeMaterial, cyanMaterial, greenMaterial, redMaterial, yellowMaterial, magentaMaterial, glowingMaterial); shapeHolder.Initialize(); grid.Initialize(); mainBlockManager.Initialize(); }
// Start is called before the first frame update private void Start() { _dropInterval = baseDropInterval; _gameBoard = FindObjectOfType <Board>(); _spawner = FindObjectOfType <Spawner>(); _soundManager = FindObjectOfType <SoundManager>(); _scoreManager = FindObjectOfType <ScoreManager>(); _ghostShape = FindObjectOfType <GhostHandler>(); _shapeHolder = FindObjectOfType <ShapeHolder>(); if (_spawner) { if (_currentlyActiveShape == null) { _currentlyActiveShape = _spawner.SpawnShape(); } } else { Debug.LogWarning("There is no spawner!"); } if (!_gameBoard) { Debug.LogWarning("There is no game board!"); } if (!_soundManager) { Debug.LogWarning("There is no sound manager!"); } if (!_scoreManager) { Debug.LogWarning("There is no score manager!"); } if (gameOverPanel) { gameOverPanel.SetActive(false); } if (pausePanel) { pausePanel.SetActive(false); } }
public void Spawn() { if (nextShape == -1) { nextShape = Random.Range(0, Shapes.Length); } int i = nextShape; //// Random Shape // int i = Random.Range(0, Shapes.Length); // Spawn Group at current Position shape.SetActive(true); shape.GetComponent <TetrisShape>().enabled = true; shape.transform.position = StartPosition; GameObject temp = GetComponent <ObjectPooler>().GetPooledObject(); if (temp) { temp.transform.parent = shape.transform; temp.transform.localPosition = Shapes[i].blockOne; temp.SetActive(true); childBlocks[0] = temp; } temp = GetComponent <ObjectPooler>().GetPooledObject(); if (temp) { temp.transform.parent = shape.transform; temp.transform.localPosition = Shapes[i].blockTwo; temp.SetActive(true); childBlocks[1] = temp; } temp = GetComponent <ObjectPooler>().GetPooledObject(); if (temp) { temp.transform.parent = shape.transform; temp.transform.localPosition = Shapes[i].blockThree; temp.SetActive(true); childBlocks[2] = temp; } temp = GetComponent <ObjectPooler>().GetPooledObject(); if (temp) { temp.transform.parent = shape.transform; temp.transform.localPosition = Shapes[i].blockFour; temp.SetActive(true); childBlocks[3] = temp; } pivot.transform.localPosition = Shapes[i].pivot; // Debug.Log(Shapes[i].shapeName); shape.GetComponent <TetrisShape>().AssignRandomColor(); Managers.Game.currentShape = shape.GetComponent <TetrisShape>(); if (Managers.Game.currentShape != null) { Managers.Game.currentShape.movementController.StopFall(); } // setup next shape nextShape = Random.Range(0, Shapes.Length); ShapeHolder nextOne = previewShape.GetComponent <ShapeHolder>(); nextOne.blocks[0].transform.localPosition = Shapes[nextShape].blockOne; nextOne.blocks[1].transform.localPosition = Shapes[nextShape].blockTwo; nextOne.blocks[2].transform.localPosition = Shapes[nextShape].blockThree; nextOne.blocks[3].transform.localPosition = Shapes[nextShape].blockFour; if (Managers.Input.m_AmountOfPlayers > 1) { int nextPlayer = (Managers.Input.m_CurrentPlayer + 1) % Managers.Input.m_AmountOfPlayers; nextOne.blocks[0].GetComponent <SpriteRenderer>().color = Managers.Palette.GetColourFromTheme(nextPlayer); nextOne.blocks[1].GetComponent <SpriteRenderer>().color = Managers.Palette.GetColourFromTheme(nextPlayer); nextOne.blocks[2].GetComponent <SpriteRenderer>().color = Managers.Palette.GetColourFromTheme(nextPlayer); nextOne.blocks[3].GetComponent <SpriteRenderer>().color = Managers.Palette.GetColourFromTheme(nextPlayer); } //GameObject temp =Instantiate(shapeTypes[i]) ; //Managers.Game.currentShape = temp.GetComponent<TetrisShape>(); //temp.transform.parent = Managers.Game.blockHolder; Managers.Input.isActive = true; }