Godot
呢頁係由英文翻譯過嚟嘅。如果兩個版本有出入,以英文頁為準。 睇英文頁
Godot 提供兩種語言,Lingara 為每一種都準備咗套件。GDScript 遊戲用 Lingara 外掛程式。Godot C# 遊戲用 Lingara.Embed,即係 Unity 遊戲用嗰個一模一樣嘅 NuGet 套件。一個專案入面淨係用其中一個,永遠唔好兩個一齊用。下面嘅分頁分別示範咗兩者。
安裝
GDScript。 由 Godot Asset Library 安裝 Lingara 外掛程式,然後喺「專案設定」嘅「外掛程式」度啟用佢。啟用之後會加入一個叫 Lingara 嘅自動載入,每個場景都可以透過 /root/Lingara 存取佢。
C#。 將 Lingara.Embed 以套件參照嘅方式加入你個專案。下面嘅範例節點 LingaraEmbedNode 唔屬於嗰個套件:將佢嘅原始碼加入你個專案,再將佢放入一個場景。
由你部伺服器攞權杖
兩個套件都唔會持有密鑰。核心需要權杖嗰陣,會問你自己部伺服器攞,伺服器用伺服器套件簽發一個權杖,再回覆權杖同佢嘅到期時間。
用外掛程式嘅話,喺「專案設定」度設定你部伺服器嘅權杖路由,Lingara 就會喺佢自己嘅執行緒上面呼叫佢。如果嗰條路由需要玩家嘅工作階段,就要改為喺執行期間設定,因為專案設定會跟住你嘅匯出一齊發佈。又或者連接 token_needed,自己回應每一個請求。用 C# 嘅話,每當用戶端要權杖,範例節點都會向你嘅權杖路由傳送 POST 請求。無論用邊個方法,都要用 token_unavailable 或者 TokenUnavailable 回報失敗,等緊嘅呼叫就會即刻失敗。
每個畫格處理事件
核心喺佢自己嘅執行緒上面做網絡 I/O。外掛程式嘅自動載入每個畫格清空一次佇列,每個事件發出一個訊號,所以你只需要連接你個遊戲需要嘅訊號,唔使自己清空任何嘢。C# 節點喺 _process 入面清空佇列,每個畫格最多 256 個事件,再將每個事件重新以 Godot 訊號發出。
同樣嘅訊號亦都會帶住串流嘅 NPC 回覆(睇 NPC 對話)同練習更新(睇練習結果)。
<PackageReference Include="Lingara.Embed" Version="0.1.0-alpha.6" />