public LetterTileModel RemoveOldestTile() { LetterTileModel oldTile = activeTiles [0]; activeTiles.RemoveAt(0); return(oldTile); }
public bool isTileOnBelt(LetterTileModel _tile) { if (activeTiles.IndexOf(_tile) == -1) { return(false); } return(true); }
public void activate(LetterTileModel _model, clickDelegate _callBack) { model = _model; letterValueText.text = model.getLetterValue().ToString().ToUpper(); gameObject.SetActive(true); setRotation(0); if (clickEvent == null) { clickEvent += _callBack; } }
void RemoveOldestLetter() { LetterTileModel oldTile = gameState.RemoveOldestTile(); belt.removeTile(oldTile.tileView); switch (oldTile.state) { case LetterTileModel.STATE_ONBELT: gameView.setFallingTile(oldTile.tileView); oldTile.state = LetterTileModel.STATE_FALLING; break; } }
void removeTileFromPlay(LetterTileModel tile) { playHolder.removeTile(tile.tileView); gameState.RemoveTileFromPlay(tile); if (gameState.isTileOnBelt(tile)) { tile.state = LetterTileModel.STATE_ONBELT; belt.repositionTiles(); } else { KillTile(tile); } }
void RefillBag() { //TempLetters = new List<char> (LetterDistribution); TempLetters = letters.ToCharArray().ToList(); foreach (char s in TempLetters) { LetterTileModel tile = new LetterTileModel(); tile.setupTile(s); AddToTileBag(tile); } //Debug.Log ("Refilled bag "+gameState.GetNumActiveTiles().ToString()); }
public LetterTileModel PullTileFromBag() { if (IsBagEmpty()) { RefillBag(); } randomBagTilePos = rnd.Next(0, tileBag.Count); //randomBagTilePos = (int)Random.Range(0, tileBag.Count); LetterTileModel newTile = tileBag[randomBagTilePos]; activeTiles.Add(newTile); tileBag.Remove(newTile); return(newTile); }
void PushNewLetter() { GameObject tileGameObject = TileFactoryPool.GetTile(); LetterTileModel newTileModel = gameState.PullTileFromBag(); LetterTileView tileView = tileGameObject.GetComponent <LetterTileView> (); newTileModel.activateTile(tileView); tileView.activate(newTileModel, LetterTileClickHandler); belt.AddTile(tileView); int num = gameState.GetNumActiveTiles(); if (num >= maxActiveLetters) { RemoveOldestLetter(); } }
void LetterTileClickHandler(LetterTileModel clickedTile) { switch (clickedTile.state) { case LetterTileModel.STATE_ONBELT: case LetterTileModel.STATE_FALLING: clickedTile.state = LetterTileModel.STATE_INPLAY; gameState.AddTileToPlay(clickedTile); playHolder.addTile(clickedTile.tileView); break; case LetterTileModel.STATE_INPLAY: removeTileFromPlay(clickedTile); break; case LetterTileModel.STATE_DEAD: break; } }
void KillTile(LetterTileModel tile) { if (tile.state == LetterTileModel.STATE_DEAD) { return; } tile.state = LetterTileModel.STATE_DEAD; gameState.RemoveActiveTile(tile); playHolder.removeTile(tile.tileView); gameState.RemoveTileFromPlay(tile); if (gameState.isTileOnBelt(tile)) { tile.state = LetterTileModel.STATE_ONBELT; belt.repositionTiles(); } TileFactoryPool.ReturnTile(tile.tileView.gameObject); belt.removeTile(tile.tileView); belt.MoveTileToStart(tile.tileView); tile.deactivateTile(); }
void OnDisable() { model = null; }
public void RemoveActiveTile(LetterTileModel tile) { activeTiles.Remove(tile); }
public void AddToTileBag(LetterTileModel _tile) { tileBag.Add(_tile); }
public void RemoveTileFromPlay(LetterTileModel tile) { inPlayTiles.Remove(tile); }
public void AddTileToPlay(LetterTileModel tile) { inPlayTiles.Add(tile); }