Added magnet functionality

This commit is contained in:
Martin
2022-12-23 11:36:12 +01:00
parent afc9448826
commit 76c4264838
15 changed files with 193 additions and 13 deletions

View File

@@ -0,0 +1,33 @@
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;
}
}
}