import { _decorator, Component, Node, Collider2D, CircleCollider2D } from "cc";
import { GameTimer } from "../../../Services/GameTimer";
const { ccclass, property } = _decorator;

@ccclass("Magnet")
export class Magnet extends Component {
    @property(CircleCollider2D) private collider: CircleCollider2D;

    private timer: GameTimer;
    private duration: number;

    public get Collider(): Collider2D {
        return this.collider;
    }
    public init(duration: number): void {
        this.duration = duration;
        this.node.active = false;
    }

    public activate(): void {
        this.timer = new GameTimer(this.duration);
        this.node.active = true;
    }

    public gameTick(deltaTime: number): void {
        if (!this.node.active) return;

        this.timer.gameTick(deltaTime);
        if (this.timer.tryFinishPeriod()) {
            this.node.active = false;
        }
    }
}