public void UpdateGrid() { //if (add_column == true) { // for (int i = 0; i < current_nb_row; i++) { // list_tile [nb_tile] = Instantiate (tile, parent_tile).GetComponent<Image> (); // list_tile [nb_tile].sprite = default_sprite_tile[0]; // tmp_move_tile = (ClickOnTile)list_tile [nb_tile].GetComponent (typeof(ClickOnTile)); // tmp_move_tile.SetGameLogic (this); // tmp_move_tile.SetInfo (default_sprite_tile, 4); // tmp_move_tile.SetIndex (nb_tile); // nb_tile += 1; // } // else { // // for (int i = 0; i < current_nb_column; i++) { // list_tile [nb_tile] = Instantiate (tile, parent_tile).GetComponent<Image> (); // list_tile [nb_tile].sprite = default_sprite_tile[0]; // tmp_move_tile = (ClickOnTile)list_tile [nb_tile].GetComponent (typeof(ClickOnTile)); // tmp_move_tile.SetGameLogic (this); // tmp_move_tile.SetInfo (default_sprite_tile, 4); // tmp_move_tile.SetIndex (nb_tile); // nb_tile += 1; // } //} if (size_grid < 7) { size_grid += 1; for (int i = nb_tile; i < size_grid * size_grid; i++) { AddTile(); } tmp_move_tile = null; grid.UpdateGrid(size_grid); } }
private void AddTile() { list_tile [nb_tile] = Instantiate(tile, parent_tile).GetComponent <Image> (); list_tile [nb_tile].sprite = default_sprite_tile[0]; tmp_move_tile = (ClickOnTile)list_tile [nb_tile].GetComponent(typeof(ClickOnTile)); tmp_move_tile.SetGameLogic(this); tmp_move_tile.SetInfo(default_sprite_tile, 4); tmp_move_tile.SetIndex(nb_tile); nb_tile += 1; }
void GenerateMap() { for (int x = 0; x < sizeX; x++) { for (int y = 0; y < sizeY; y++) { TileType tileT = tileTypes[tiles[x, y]]; GameObject ob = (GameObject)Instantiate(tileT.visualPrefab, new Vector2(x, y), Quaternion.identity); ClickOnTile click = ob.GetComponent <ClickOnTile>(); click.tileX = x; click.tileY = y; click.map = this; } } }
public void GenerateRessource(Sprite[] select_sprite, int color) { if (nb_tile_used >= nb_tile) { time_play = Time.time - time_play; Camera.main.gameObject.GetComponent <SoundManager> ().GameOverSound(); game_over_pannel.SetActive(true); this.gameObject.SetActive(false); } else { int temp; int randomIndex; list_index = new int[taille_max_row * taille_max_column]; for (int i = 0; i < nb_tile; i++) { list_index [i] = i; } for (int i = 0; i < nb_tile; i++) { temp = list_index[i]; randomIndex = Random.Range(i, nb_tile); list_index[i] = list_index[randomIndex]; list_index[randomIndex] = temp; } for (int i = 0; i < list_index.Length; i++) { if (list_tile [list_index[i]].sprite == default_sprite_tile[0] || list_tile [list_index[i]].sprite == default_sprite_tile[1]) { if (list_tile [list_index [i]].sprite == default_sprite_tile [1]) { saved_move_tile = null; } tmp_move_tile = (ClickOnTile)list_tile [list_index[i]].GetComponent(typeof(ClickOnTile)); tmp_move_tile.SetImage(select_sprite, color); nb_tile_used += 1; break; } } } }
public bool SwapTile(ClickOnTile current_tile) { if (saved_move_tile != null && saved_move_tile != current_tile) { tmp_color = current_tile.GetColor(); tmp_selected_sprite = current_tile.GetInfo(); Camera.main.gameObject.GetComponent <SoundManager> ().MoveBlockSound(); current_tile.SetInfo(saved_move_tile.GetInfo(), saved_move_tile.GetColor()); saved_move_tile.SetInfo(tmp_selected_sprite, tmp_color); saved_move_tile = null; nb_move += 1; return(true); } else if (saved_move_tile == current_tile) { saved_move_tile = null; } else { saved_move_tile = current_tile; } return(false); }
public bool CheckSelectedForm(ClickOnTile current_tile, int index, int color, bool already_see) { if (already_see && current_tile) { for (int i = current_tile.GetNbTileSelected(); i < nb_tile_selected - 1; i++) { list_selected_tile [i] = list_selected_tile [i + 1]; list_selected_tile_object[i] = list_selected_tile_object[i + 1]; list_selected_tile_object [i].SetNbTileSelected(i); } nb_tile_selected -= 1; } else if (current_tile != null && color != 4) { current_tile.SetNbTileSelected(nb_tile_selected); list_selected_tile [nb_tile_selected].x = index; list_selected_tile [nb_tile_selected].y = color; list_selected_tile_object[nb_tile_selected] = current_tile; nb_tile_selected += 1; } if (actif_contrat) { int motif, form, nb_block_asked; int[] color_pattern, pattern; motif = actif_contrat.GetMotif(); form = actif_contrat.GetForm(); color = actif_contrat.GetColor(); if (motif >= 5) { nb_block_asked = 4; } else { nb_block_asked = actif_contrat.GetMotif(); } if (nb_tile_selected == nb_block_asked) { pattern = new int[nb_block_asked]; color_pattern = new int[nb_block_asked]; if (motif == 1) { pattern = CreatePatern(1, 0, 0, 0, 0); } else if (motif == 2) { if (form == 0) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, 0, 0); } else if (form == 1) { pattern = CreatePatern(nb_block_asked, 0, 1, 0, 0); } } else if (motif == 3) { if (form == 0) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri + 1, 0); } else if (form == 1) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri * 2, 0); } else if (form == 2) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, 0); } else if (form == 3) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri + 1, 0); } else if (form == 4) { pattern = CreatePatern(nb_block_asked, 0, 1, max_column_tetri + 1, 0); } else if (form == 5) { pattern = CreatePatern(nb_block_asked, 0, 1, max_column_tetri, 0); } } else if (motif == 4) { if (form == 0) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri * 2, max_column_tetri * 3); } else if (form == 1) { pattern = CreatePatern(nb_block_asked, 0, 1, max_column_tetri, max_column_tetri * 2); } else if (form == 2) { pattern = CreatePatern(nb_block_asked, 0, 1, max_column_tetri + 1, max_column_tetri * 2 + 1); } else if (form == 3) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri + 1, max_column_tetri * 2 + 1); } else if (form == 4) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri + 1, max_column_tetri * 2); } else if (form == 5) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri + 1, max_column_tetri * 2, max_column_tetri * 2 + 1); } else if (form == 6) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri * 2, max_column_tetri * 2 + 1); } else if (form == 7) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, 3); } else if (form == 8) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, max_column_tetri + 2); } else if (form == 9) { pattern = CreatePatern(nb_block_asked, 2, max_column_tetri, max_column_tetri + 1, max_column_tetri + 2); } else if (form == 10) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, max_column_tetri + 1); } else if (form == 11) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri + 1, max_column_tetri + 2); } else if (form == 12) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, max_column_tetri); } else if (form == 13) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri + 1, max_column_tetri + 2); } } else if (motif == 5) { if (form == 0) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri * 2, max_column_tetri * 3 + 1); } else if (form == 1) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri + 1, max_column_tetri * 2 + 1, max_column_tetri * 3); } else if (form == 2) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri * 2, max_column_tetri * 3 + 1); } else if (form == 3) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri + 1, max_column_tetri * 2 + 1, max_column_tetri * 3); } else if (form == 4) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri * 2, max_column_tetri * 3); } else if (form == 5) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri + 1, max_column_tetri * 2 + 1, max_column_tetri * 3 + 1); } else if (form == 6) { pattern = CreatePatern(nb_block_asked, 1, max_column_tetri, max_column_tetri + 2, max_column_tetri * 2 + 1); } else if (form == 7) { pattern = CreatePatern(nb_block_asked, 1, 2, max_column_tetri, max_column_tetri * 2); } else if (form == 8) { pattern = CreatePatern(nb_block_asked, 0, 1, max_column_tetri + 2, max_column_tetri * 2 + 2); } else if (form == 9) { pattern = CreatePatern(nb_block_asked, 2, max_column_tetri + 2, max_column_tetri * 2, max_column_tetri * 2 + 1); } else if (form == 10) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri, max_column_tetri * 2 + 1, max_column_tetri * 2 + 2); } else if (form == 11) { pattern = CreatePatern(nb_block_asked, 3, max_column_tetri, max_column_tetri + 1, max_column_tetri + 2); } else if (form == 12) { pattern = CreatePatern(nb_block_asked, 0, max_column_tetri + 1, max_column_tetri + 2, max_column_tetri + 3); } else if (form == 13) { pattern = CreatePatern(nb_block_asked, 1, 2, 3, max_column_tetri); } else if (form == 14) { pattern = CreatePatern(nb_block_asked, 0, 1, 2, max_column_tetri + 3); } else if (form == 15) { pattern = CreatePatern(nb_block_asked, 1, 2, max_column_tetri, max_column_tetri + 3); } else if (form == 16) { pattern = CreatePatern(nb_block_asked, 0, 3, max_column_tetri + 1, max_column_tetri + 2); } } color_pattern = CreatePatern(nb_block_asked, color, color, color, color); if (CheckForm(list_selected_tile, nb_block_asked, pattern, color_pattern)) { for (int i = 0; i < nb_tile_selected; i++) { list_selected_tile_object [i].Reset(default_sprite_tile); } nb_tile_used -= nb_tile_selected; nb_tile_selected = 0; GenerateTask(actif_contrat.gameObject, form, null, motif, false); actif_contrat.gameObject.SetActive(false); Camera.main.gameObject.GetComponent <SoundManager> ().SuccedContratSound(); actif_contrat = null; Finish_contract(); nb_contract_done [motif - 1] += 1; return(true); } } } return(false); }