unity客戶端框架 訊息系統

2021-10-24 04:31:15 字數 1578 閱讀 2784

訊息系統包括   記錄

乙個通用的事件***

註冊與解綁事件***

廣播訊息

eventpool 是乙個事件***的物件池,把事件以key-value的形式存入字典,可以新增與移除監聽的事件,並可以通知某個事件的發生

public class eventpoolwhere t:eventargs

///

/// 檢查該委託是否在物件池裡面或者是否已經繫結在物件池的委託上

///

///

///

///

private bool check(int id,eventhandlerhandler)

if (handler == null) return false;

foreach (var item in temp.getinvocationlist())

}return false;

}///

/// 把委託新增到字典池裡面 訂閱

///

///

///

public void subscribe(int id,eventhandlerhandler)

if(!pool.trygetvalue(id,out eventhandlerhandlerlist))

else

else

handler subscribe duplicate!!");}}

}///

/// 取消訂閱

///

///

///

public void unsubscribe(int id,eventhandlerhandler)

}public void sendmessage(object sender,int id,t e)

private void handlerevent(object sender,int id,t e)

if(handlers==null)}}

eventmanager是乙個單例用來管理eventpool

public class eventmanager 

return instance;}}

private eventpooleventpool;

private eventmanager()

public void subscribe(int id,eventhandlerhandler)

public void unsubscribe(int id ,eventhandlerhandler)

public void sendmessage(object sender,int id, gameeventargs e=null)

}public abstract class gameeventargs:eventargs

public abstract void clear();

}public enum eventid

新增事件

void start()

void calla( object sender,gameeventargs e)

引數:,活動有變化!!");

}

Unity客戶端設計系列

從進公司到30號離職,一共也有4個月了。期間也是得到了快速的成長,不可否認的得到了很多的長進。也有著諸多的感悟。隨著畢業,也是離開的時候了,也是再次開始一次系列的總結的時候了。想談的東西很多,大的類別從 專案架構,業務邏輯可大致區分兩類。前者可拆分出專案解決方案,包括架構設計,設計模式,具體而言有 ...

nats 客戶端訊息傳送

parser.parse解析訊息,通過狀態機流轉,得到是pub訊息,呼叫client.processpub處理,解析 得到subobject物件,一些合法性校驗 狀態機切換,獲取剩餘訊息內容進入client.processinboundmsg進行訊息處理 分支選擇client,跳轉進入process...

客戶端通用訊息外掛程式

外掛程式用於這麼幾種情況 1.通過window.opener 子頁面向父頁面傳送資料 2.通過window.open 子頁面向父頁面傳送資料 3.嵌入iframe 父頁面向iframe中頁面傳送資料 客戶端通用訊息門戶框架 returns function 訊息管理的視窗列表 windows 訊息匯...