| 123456789101112131415161718192021222324252627282930313233 |
- import { _decorator, Component, Node, SpriteFrame } from 'cc';
- export interface RewardItem {
- id: string;
- name: string;
- spriteFrame: SpriteFrame | null;
- unlocked: boolean;
- }
- export class RewardData {
- private rewards: Map<string, RewardItem> = new Map();
-
- public addReward(reward: RewardItem) {
- this.rewards.set(reward.id, reward);
- }
-
- public getRewardById(id: string): RewardItem | undefined {
- return this.rewards.get(id);
- }
-
- public getAllRewards(): RewardItem[] {
- return Array.from(this.rewards.values());
- }
-
- public unlockReward(id: string): boolean {
- const reward = this.rewards.get(id);
- if (reward && !reward.unlocked) {
- reward.unlocked = true;
- return true;
- }
- return false;
- }
- }
|