public void AddTileAction(int tileId, TileActions action) { if (Changes.ContainsKey(tileId)) { Changes[tileId].Add(action); } else { List <TileActions> list = new List <TileActions>(); list.Add(action); Changes.Add(tileId, list); } }
private void IllustrateSelection(Brick target, bool selectionDone) { TileActions current = GetTileAction(target, selectionDone); switch (current) { case TileActions.None: //TODO: This need to revert if not performed or something var resetAction = tile.GetPlayerAction(Match.ActivePlayer); if (resetAction == PlayerAction.None) { anim.SetTrigger("None"); LeftSelectBrick.arrow.Hide(); } else if (resetAction == PlayerAction.Migration) { LeftSelectBrick.arrow.ReShow(); anim.SetTrigger("None"); } else if (resetAction == PlayerAction.Diffusion) { anim.SetTrigger("Diffusion"); LeftSelectBrick.arrow.Hide(); } else { LeftSelectBrick.arrow.Hide(); tile.ShowSelectedPopAction(Match.ActivePlayer); } break; case TileActions.NotYetDiffusion: //TODO: Should fade in or something case TileActions.Diffusion: LeftSelectBrick.arrow.Hide(); anim.SetTrigger("Diffusion"); break; case TileActions.Migration: if (LeftSelectBrick.tile.IsNeighbour(target.tile)) { anim.SetTrigger("None"); LeftSelectBrick.arrow.ShowMigration(target.transform); } break; } prevAction = current; }