//消息隊列管理
import { _decorator, Component, Node } from "cc";
import { GameStorageKeyConfig } from "../../config/Config";
const { ccclass, property } = _decorator;
@ccclass("MessageQueue")
export class MessageQueue {
//存儲key
private storageKey: string = "";
//實例
private static _instance: MessageQueue = null;
//隊列
private _queue: any[] = [];
//構(gòu)造器
constructor() {
this.storageKey = GameStorageKeyConfig.MessageQueue;
let queue = this.load();
if (!queue) {
queue = [];
}
this._queue = queue;
}
//獲取實例化
public static get instance(): MessageQueue {
if (this._instance == null) {
this._instance = new MessageQueue();
}
return this._instance;
}
//添加消息
public addMessage(message: any) {
this._queue.push(message);
this.save();
}
//彈出消息
public popMessage(): any {
if (this._queue.length > 0) {
let _message = this._queue.shift();
this.save();
return _message;
}
return null;
}
//持久化保存
public save() {
localStorage.setItem(this.storageKey, JSON.stringify(this._queue));
}
//加載數(shù)據(jù)
public load() {
const data = localStorage.getItem(this.storageKey);
return data ? JSON.parse(data) : null;
}
//清空消息隊列
public clearMessage() {
this._queue = [];
this.save();
}
}
封裝的一個消息管理類,記錄一下
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 注:本來只是想整理成Handler部分的面試題及答案拿來背誦的,哪知一看源碼就沒停下來,變成了大篇文章...本文根...
- Android的消息傳遞,是系統(tǒng)的核心功能,對于如何使用相信大家都已經(jīng)相當(dāng)熟悉了,這里簡單提一句。我們可以粗糙的認...