Ejemplo n.º 1
0
    private void ShowTileEffect(TileEffects effects)
    {
        TileEffects.Effect e = effects.effect;
        foreach (var(x, y, color) in effects.tiles)
        {
            GameTile tile = tiles[y, x];
            tile.gameObject.SetActive(true);
            switch (e)
            {
            case TileEffects.Effect.Normal:
                if (grid.GetTile(x, y) != 0)
                {
                    tile.transform.localScale = new Vector3(1f, 1f);
                    tile.SetColor(colors[grid.GetTile(x, y) - 1]);
                }
                else
                {
                    tile.gameObject.SetActive(false);
                }
                break;

            case TileEffects.Effect.Ghost:
                Color c = colors[color - 1];
                c.a = 0.5f;
                tile.SetColor(c);
                break;

            case TileEffects.Effect.Flash:
                tile.SetColor(Color.white);
                break;
            }
        }
    }
Ejemplo n.º 2
0
        private async Task checkTile(Tile tile, Unit unit)
        {
            TileEffects effects = tile.tileEffects;

            switch (effects)
            {
            case TileEffects.Normal:
                break;

            case TileEffects.DOT:
                await unit.changeHealth(-20, true);

                break;

            case TileEffects.Heal:
                await unit.changeHealth(20, true);

                break;
            }
        }
Ejemplo n.º 3
0
 protected void BroadcastTileEffects(TileEffects effects)
 {
     onTileEffects?.Invoke(effects);
 }