package com.ghost.technic.server.card.effect.impl;

import com.ghost.technic.server.Player;
import com.ghost.technic.server.card.effect.StartOfTurnAbility;
import com.ghost.technic.server.card.playable.PlayableCard;
import com.ghost.technic.server.game.GameActionService;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class DirectorZYXAbility implements StartOfTurnAbility {

    @Override
    public void onStartOfTurn(GameActionService gameActionService, Player activePlayer, PlayableCard source) {
        gameActionService.archiveCard(activePlayer.takeTopCardOfDeck(), activePlayer);
        log.info("Director of Z.Y.X. archives top card of {}", activePlayer.getName());
    }

    @Override
    public void register(GameActionService gameActionService, Player controller, PlayableCard source) {
        // no-op: triggered through GameTurnManager
    }
}
