public TetrominoManager(BaseConfig _config) : base(_config) { //Set up Spawn system spawnConfig = (TetrominoSpawnConfig)_config; tetrominoPoolParent = new GameObject("TetrominoPool").transform; tetrominoSpritePoolParent = new GameObject("TetrominoSpritePool").transform; tetrominoSpawner = new TetrominoSpawner(spawnConfig, tetrominoPoolParent, tetrominoSpritePoolParent); CreatePool(); }
void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); } else { _instance = this; } }
void Start() { moveDone = true; start = Vector3.zero; end = Vector3.zero; brain = GameObject.FindObjectOfType <Brain>(); spawner = GameObject.FindObjectOfType <TetrominoSpawner>(); //StartCoroutine("move"); InvokeRepeating("move", 0, 0.2f); }
public EndGameController( EndGamePopUpHandler endGamePopUpHandler, IGrid grid, TetrominoSpawner tetrominoSpawner, MovementController movementController, AnimationConfig animationConfig) { _endGamePopUpHandler = endGamePopUpHandler; _grid = grid; _tetrominoSpawner = tetrominoSpawner; _movementController = movementController; _animationConfig = animationConfig; }
void Awake() { tetrominoGravity = new GameObject().AddComponent <Gravity>(); tetrominoGravity.name = "TetrominoGravity"; gridGravity = new GameObject().AddComponent <Gravity>(); gridGravity.name = "GridGravity"; scaleFactor = 16; scaleVector = Vector3Int.one * (scaleFactor - 1); transform.localScale += scaleVector; transform.position = new Vector3Int(1, -10 * scaleFactor, 0); mainCamera = GameObject.Find("Main Camera").GetComponent <Camera>(); mainCamera.orthographicSize = 12 * scaleFactor; basePosition = Vector3Utils.ToVector3Int(transform.position) + new Vector3Int(scaleFactor, scaleFactor, 0); tetrominoSpawner = Instantiate(tetrominoSpawnerPrefab).GetComponent <TetrominoSpawner>(); tetrominoSpawner.Initialize(this); pistonSpawner = Instantiate(pistonSpawnerPrefab).GetComponent <PistonSpawner>(); pistonSpawner.Initialize(this); pistonMask = GameObject.Find("PistonMask"); pistonMask.transform.position = transform.position + scaleFactor * new Vector3(5.5f, 10.5f, 0); pistonMask.transform.localScale += scaleVector; debugMap = GameObject.Find("DebugMap").GetComponent <DebugMap>(); debugMap.transform.position = scaleFactor * debugMap.transform.position; debugMap.transform.localScale += scaleVector; grid = new Transform[gridWidth, gridHeight]; gridUtils.Initialize(grid); //rowSlider = new GameObject().AddComponent<RowSlider>(); //rowSlider.name = "RowSlider"; //rowSlider.Initialize(this); SpawnNextTetromino(); rowPosition = new Vector3[Map.gridHeight]; ResetRowPosition(); currentTetromino.ImmediateFall(playerPrefab); }
public void Initialize( GameController gameController, Playfield playfield, TetrominoSpawner tetrominoSpawner, SoundManager soundManager, Input input, ScoreController scoreController) { _gameController = gameController; _playfield = playfield; _tetrominoSpawner = tetrominoSpawner; _input = input; _scoreController = scoreController; _soundManager = soundManager; }
void Start() { rotationTiles = GetComponentsInChildren <TetrominoRotationTile>(); for (int i = 1; i < transform.childCount; ++i) { tetrominoTiles[i - 1] = transform.GetChild(i).GetComponent <TetrominoTile>(); } game = Camera.main.GetComponent <Game>(); input = Camera.main.GetComponent <SwipeInput>(); spawner = GameObject.FindGameObjectWithTag("TetrominoSpawner").GetComponent <TetrominoSpawner>(); fallingTime = game.tetromino.fallTime; assignToInputEvents(); StartCoroutine(fallingCoroutine()); }
private IEnumerator CheckMatch3() { HashSet <Block>[] matchingBlocks = new HashSet <Block> [4]; for (int i = 0; i < 4; i++) { Block block = Blocks[i]; matchingBlocks[i] = new HashSet <Block>() { block }; if (block.BlockDef.BlockType == BlockType.Bomb) { block.GetSurroundingNeighbors(matchingBlocks[i], 2f); } else { block.GetMatchingNeighbors(matchingBlocks[i]); } } for (int i = 0; i < 4; i++) { var matchSet = matchingBlocks[i]; for (int j = i + 1; j < 4; j++) { if (matchingBlocks[j].Any(x => matchSet.Contains(x))) { foreach (var item in matchingBlocks[j]) { matchSet.Add(item); } matchingBlocks[j].Clear(); } } } for (int i = 0; i < 4; i++) { var matchSet = matchingBlocks[i]; if (matchSet.Count >= 3) { foreach (var block in matchSet) { block.SetToBeDestroyed(); } } } yield return(new WaitForSeconds(0.4f)); for (int i = 0; i < 4; i++) { var matchSet = matchingBlocks[i]; if (matchSet.Count >= 3) { if (matchSet.Any(x => x.BlockDef.BlockType == BlockType.Explosive)) { SoundPlayer.Play(ExplosiveSound); var pointsDisplay = Instantiate(PointsDisplayPrefab, Blocks[i].transform.position, Quaternion.identity); int points = ScoreManager.AddPoints(-matchSet.Count(x => x.BlockDef.BlockType == BlockType.Coin)); Health.RemoveHealth(points); pointsDisplay.SetPointsText(points); } else if (matchSet.Any(x => x.BlockDef.BlockType == BlockType.Bomb)) { SoundPlayer.Play(BombSound); } else if (matchSet.Any(x => x.BlockDef.BlockType == BlockType.Coin)) { SoundPlayer.Play(CoinSound); var pointsDisplay = Instantiate(PointsDisplayPrefab, Blocks[i].transform.position, Quaternion.identity); int points = ScoreManager.AddPoints(matchSet.Count); Health.AddHealth(points); pointsDisplay.SetPointsText(points); } else { SoundPlayer.Play(MatchedSound); } foreach (var block in matchSet) { block.gameObject.transform.SetParent(null); Destroy(block.gameObject); } } } //Board.Instance.MakeBlocksFall(); ScoreManager.AddTetromino(); if (ScoreManager.TetrominoCount % 15 == 0) { ScoreManager.AddLevel(); FallDelay *= 0.6f; } TetrominoSpawner.Spawn(); Destroy(gameObject); }
public void Construct(PreviewTetrominoConfig previewTetrominoConfig, TetrominoSpawner tetrominoSpawner) { _previewTetrominoConfig = previewTetrominoConfig; _tetrominoSpawner = tetrominoSpawner; }
void Awake() { tetrominoProgr = 0; spawner = GameObject.FindObjectOfType <TetrominoSpawner>(); player = GameObject.FindObjectOfType <AIPlayer>(); }
private void Awake() { _instance = this; Tetromino.FallDelay = 1f; }
void Start() { bar = GetComponentInChildren <CircleBar>(); spawner = GameObject.FindGameObjectWithTag("TetrominoSpawner").GetComponent <TetrominoSpawner>(); startCounter(); }