Files
2026-04-01 16:47:02 +07:00

1.6 KiB

name, description
name description
C# Chat System Formatting Hướng dẫn viết code C# cho hệ thống chat dùng AUIDialog.FormatPrintf và pGameUI.GetStringFromTable.

C# Chat System Formatting

Skill này cung cấp hướng dẫn khi viết code C# cho hệ thống chat (ví dụ như khi chuyển đổi code từ C++ sang C# trong Unity).

Quy tắc lấy chuỗi và format

Khi cần lấy một chuỗi từ bảng ngôn ngữ (Table) và format chuỗi đó với các tham số (thay thế cho %s, %d,...), hãy sử dụng kết hợp pGameUI.GetStringFromTableAUIDialog.FormatPrintf.

Trong phiên bản C++ gốc (ví dụ trong EC_GameUIMan.cpp), việc lấy chuỗi thường dùng GetStringFromTable và format bằng swprintf hoặc các hàm tương tự. Ở phiên bản C#, chúng ta thực hiện như sau:

// Ví dụ Table 9343: chuỗi dạng "Thời gian đăng nhập trước: %s"
// AUIDialog.FormatPrintf sẽ thực hiện kết hợp giữa pGameUI.GetStringFromTable(9343) và chuỗi timeStr
string textTime = AUIDialog.FormatPrintf(pGameUI.GetStringFromTable(9343), timeStr);

Các bước thực hiện

  1. Đảm bảo đã lấy được referent tới pGameUI, ví dụ qua CECUIManager.Instance?.GetInGameUIMan().
  2. Lấy chuỗi format gốc từ bảng ngôn ngữ: pGameUI.GetStringFromTable(ID).
  3. Dùng AUIDialog.FormatPrintf để thay thế các placeholder (như %s, %d) trong chuỗi lấy được bằng các giá trị thực tế.
  4. Gửi chuỗi đã được format đến hệ thống chat, ví dụ qua EventBus.Publish(new GameSession.ChatMessageEvent {...}).