C .
ODE
G
AMELET
# EnhServer 為了解決一些CG功能上的缺失,故實作此Lib。 包含變數無法跨專案使用,以及無法跨專案實作大聊天室。 (可能只是不知道方法) 未來將會逐步補上缺失的功能,範例後端請參照[此Github repo](https://github.com/setsuk1/EnhServer-monorepo),歡迎發起PR。 以及可以加入[Discord群組](https://discord.gg/seJwuzCbWq)一起討論,並共同討論功能方向。 初期可能不穩定,建議自建Server。 **且安全性並非此Lib的第一考量,此Lib主要是作為補充功能使用。** ## 如何使用 主要是透過下列方法進行初始化: ```typescript server.initialize(options) ``` options部分為可選選項,若參數為空則預設連線至Enh之後端伺服器。 預設狀態本模組會export一個server物件提供操作,若是希望使用多個instance,僅須透過下列方法: ```typescript const customServer = new EnhServer(); customServer.initialize(options); ``` 之後透過下列方式取得一對一傳訊的資料: ```typescript let context = { handler(data: any, senderCode: string) { console.log(data); } } server.msgManager.on(UserEventList.MSG.UNICAST, context.handler, context); ``` --- ## 呼叫功能 作為範例,下面舉出廣播至全體的功能如何使用: ```typescript let cmd = new Command(SocketEventList.USER, new BroadcastToAllEvent({ data: "Hi there." })); server.sendCommand(cmd); ``` 由此便可送出"Hi there."訊息到Server上的所有使用者。 至於其餘功能目前尚未確定如何說明,待補。 ## Authors **[EnhProject](/profile/EnhProject)** - **[不會取名字](/profile/buhuechuminzu)** - **[雪姬](/profile/setsuki)**
# EnhBase 此模組的目標為提供一個框架,使得各模組可以透過Socket傳訊、執行特定功能等;同時希望降低各模組的依賴項,將單一模組內容以更細的粒度拆分,需要特定功能時才載入對應之模組。 此模組之更新時間與更新之功能不定,如果有任何新想法,歡迎加入[Discord群組](https://discord.gg/seJwuzCbWq)一起討論。 此模組初期可能會經過大量修改,以確定設計方向,故本模組並不穩定,如想使用請謹慎考慮。 ***建議可以先查看模組測試的部分,其中的unit_test資料夾可以參考,內含檔案同時是範例實作。*** ## 如何使用 可以透過下列程式碼以完成註冊: ```typescript let lib_name: string // 函式庫之名稱 let user: BasicUser<any> = CG.EnhBase.core.libManager.registerLib(lib_name); ``` 欲接受傳入資料,請使用下列程式碼: ```typescript let socket_unique_name: string // 可辨識之Socket名稱 let socket: Socket = user.createSocket(); socket.addHandler("data", function(data, senderCode) { // 處理資料如何使用 }) socket.listen(socket_unique_name); ``` 而欲傳輸資料給目標Socket,請使用下列程式碼: ```typescript let target_socket_name // 目標Socket名稱 socket.send("YOUR_DATA", target_socket_name); ``` --- ## 變數表功能 接續前面,假設已經取得了BasicUser物件,預設該物件會帶有一個變數表,透過下列程式碼存取: ```typescript const varTable = lib.varTable; ``` 預設該變數表會啟用保護功能,禁止外部存取,於v0.0.2引入了保護用的Key,設定為true或false可控制外部是否可存取,未來可能會更動,請謹慎使用。 ```typescript // enable protection varTable.setValue(BaseVariableTable.ABILITYS.PROTECT, true, true); // or varTable.removeValue(BaseVariableTable.ABILITYS.PROTECT) varTable.setValue(BaseVariableTable.ABILITYS.PROTECT, true); // disable protection varTable.removeValue(BaseVariableTable.ABILITYS.PROTECT) // or varTable.setValue(BaseVariableTable.ABILITYS.PROTECT, false, true); ``` 同時,就算沒有LibUser物件,也可以直接利用 ```typescript let varTable = new SimpleVariableTable(); // or (syncable) let varTable = new GenericVariableTable(); ``` 以取得變數表,並透過下列方法將變數表註冊於manager上: ```typescript core.getInstance<VariableTableManager>("VariableTableManager").addVariableTable(varTable); // or core.variableTableManager.addVariableTable(varTable); ``` ## Authors **[EnhProject](/profile/EnhProject)** - [不會取名字](/profile/buhuechuminzu) - [雪姬](/profile/setsuki)
# 光暈跑酷 跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷跑酷 ## 作者 **[不會取名字](/profile/buhuechuminzu)** **[雪姫](/profile/setsuki)**
ⒸCode.Gamelet.com | Privacy Policy | Terms of Service