public void GivenMatchTilesDataLoadedWithExistingNullMatchTokenData_WhenExecute_ThenCreateFourRandomMatchTile() { MatchTileType type = MatchTileType.Null; GameObject gameObject = new GameObject(); gameObject.name = type.ToString(); MatchTileData data = new MatchTileData(); data.position = Vector2.zero; data.gameObject = gameObject; List <MatchTileData> matchTilesData = new List <MatchTileData> (); matchTilesData.Add(data); MatchTilesData layout = ScriptableObject.CreateInstance <MatchTilesData> (); layout.matchTilesData = matchTilesData; matchTileGridModel.matchTilesData.Returns(layout); matchTileGridModel.GetMatchTileType(gameObject.name).Returns(type); matchTileGridModel.gridSize = new Vector2(2, 2); createMatchTileGridCommand.Execute(); matchTileFactory.Received(4).CreateRandomMatchTile(Arg.Any <Vector2> ()); }
public void AddTileTouched(Vector2 pos, MatchTile matchTile) { if (tilesTouched.Count == 0) { selectedMatchTileType = matchTile.type; } tilesTouched.Add(matchTile); lastMatchTileAddedPos = pos; }
private MatchTile CreateMatchTile(MatchTileType type, Vector2 position) { MatchTile tile = new MatchTile(); tile.canMove = true; tile.type = type; tile.position = position; return(tile); }
public bool ValidMatchTile(MatchTileType type) { if (type == MatchTileType.RemainingClearance || type == MatchTileType.Blank || type == MatchTileType.Null) { return(false); } return(true); }
private GameObject CreateTileGameObject(MatchTileType type, Vector2 position) { GameObject tile = objectPoolModel.GetObjectForType(type.ToString()); float scale = matchTileGridModel.matchTileOriginalScale; tile.transform.localScale = new Vector3(scale, scale, scale); tile.transform.parent = matchTileGridModel.gridParent.transform; tile.transform.localPosition = new Vector3(position.x, position.y, 0); return(tile); }
public MatchTile Create(MatchTileType type, Vector2 position) { MatchTile matchTile = new MatchTile(); matchTile.position = position; matchTile.type = type; matchTile.canMove = matchTileGridModel.CanMove(matchTile); matchTile.canTouch = matchTileGridModel.ValidMatchTile(matchTile.type); matchTile.tileObject = CreateTileGameObject(type, position); matchTileGridModel.AddNewTile(matchTile); return(matchTile); }
public MatchTile Create(Vector2 position) { MatchTileType[] matchTilesAvailable = (MatchTileType[])Enum.GetValues(typeof(MatchTileType)); int ran = UnityEngine.Random.Range(0, matchTilesAvailable.Length); MatchTileType type = matchTilesAvailable [ran]; while (!matchTileGridModel.ValidMatchTile(type)) { ran = UnityEngine.Random.Range(0, matchTilesAvailable.Length); type = matchTilesAvailable [ran]; } return(matchTileFactory.CreateMatchTile(type, position)); }
public List <MatchTile> GetAllMatchTilesNotOfType(MatchTileType type) { List <MatchTile> tiles = new List <MatchTile> (); foreach (KeyValuePair <Vector2, MatchTile> entry in GetMatchTiles()) { MatchTile tile = entry.Value; if (!tile.type.Equals(type) && tile.canTouch) { tiles.Add(tile); } } return(tiles); }
private void CreateGrid() { MatchTilesData layout = matchTileGridModel.matchTilesData; float yMax = matchTileGridModel.gridSize.y; float xMax = matchTileGridModel.gridSize.x; for (int y = 0; y < yMax; y++) { for (int x = 0; x < xMax; x++) { Vector2 position = new Vector2(x, y); if (layout.matchTiles.ContainsKey(position)) { MatchTileData data = layout.matchTiles [position]; MatchTileType type = matchTileGridModel.GetMatchTileType(data.gameObject.name); if (type != MatchTileType.Null) { matchTileFactory.CreateMatchTile(type, position); } else { matchTileFactory.CreateRandomMatchTile(position); } } else { matchTileFactory.CreateRandomMatchTile(position); } } } GridCreationComplete(); }
private void HideInvalidTiles(MatchTileType type) { hideInvalidTilesCommand.type = type; hideInvalidTilesCommand.hideType = HideType.NotValidTiles; hideInvalidTilesCommand.Execute(); }
public MatchTile CreateMatchTile(MatchTileType type, Vector2 position) { return(createMatchTile.Create(type, position)); }