Item refactoring

This commit is contained in:
Martin
2022-12-23 09:22:22 +01:00
parent 1b5b449d0b
commit 4b2d35a733
34 changed files with 618 additions and 578 deletions

View File

@@ -0,0 +1,26 @@
import { Component, Prefab, Vec3, _decorator } from "cc";
import { ObjectPool } from "../../Services/ObjectPool";
import { Item } from "./Item";
const { ccclass, property } = _decorator;
@ccclass("ItemSpawner")
export class ItemSpawner extends Component {
@property(Prefab) public itemPrefab: Prefab;
private itemPool: ObjectPool<Item>;
public init(): void {
this.itemPool = new ObjectPool<Item>(this.itemPrefab, this.node, 5, "Item");
}
public spawn(position: Vec3): void {
const item: Item = this.itemPool.borrow();
item.setup(position);
item.PickupEvent.on(this.return, this);
}
private return(gold: Item): void {
gold.PickupEvent.off(this.return);
this.itemPool.return(gold);
}
}