add chat info player
This commit is contained in:
@@ -90,6 +90,10 @@ public class CECUIManager : MonoSingleton<CECUIManager>
|
||||
return;
|
||||
}
|
||||
UpdateTaskUI();
|
||||
|
||||
// Hiển thị thông tin đăng nhập khi người chơi đã vào game an toàn / Show login info when host player is ready
|
||||
// Hàm này bên trong đã có cờ m_bAccountLoginInfoShown để tránh bị gọi nhiều lần, nên đặt ở Update là an toàn.
|
||||
EC_Game.GetGameRun()?.ShowAccountLoginInfo();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,38 +34,49 @@ partial class CECGameRun
|
||||
m_bAccountLoginInfoShown = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hiển thị thông tin đăng nhập của tài khoản (thời gian & IP).
|
||||
/// Hàm này được gọi khi người chơi vào thế giới game.
|
||||
/// Thông báo chỉ hiển thị một lần duy nhất theo phiên chơi nhờ biến m_bAccountLoginInfoShown.
|
||||
/// </summary>
|
||||
public void ShowAccountLoginInfo()
|
||||
{
|
||||
Debug.Log("[Cuong] ShowAccountLoginInfo");
|
||||
|
||||
// Kiểm tra cờ xem đã hiển thị thông tin đăng nhập chưa để tránh in lặp lại nhiều lần.
|
||||
if (!m_bAccountLoginInfoShown)
|
||||
{
|
||||
m_bAccountLoginInfoShown = true;
|
||||
|
||||
// Assuming CECUIConfig::Instance().GetGameUI().bEnableShowIP translates to true for now
|
||||
// (Trong C++ gốc: CECUIConfig::Instance().GetGameUI().bEnableShowIP)
|
||||
// Hiện tại mặc định bật cờ hiển thị IP đăng nhập.
|
||||
bool bEnableShowIP = true;
|
||||
if (bEnableShowIP)
|
||||
{
|
||||
// Last login time
|
||||
// 1. Tính toán và hiển thị thời gian đăng nhập lần trước (Last login time).
|
||||
// Hàm này cộng dồn số giây cấu hình được từ server so với mốc Epoch (1/1/1970) sang Local time.
|
||||
DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
DateTime t = Epoch.AddSeconds(m_AccountLoginInfo.login_time).ToLocalTime();
|
||||
|
||||
string timeStr = string.Format("({0}-{1:00}-{2:00} {3:00}:{4:00})",
|
||||
t.Year, t.Month, t.Day, t.Hour, t.Minute);
|
||||
string textTime = string.Format("Lần đăng nhập trước: {0}", timeStr); // 9343
|
||||
string textTime = string.Format("Lần đăng nhập trước: {0}", timeStr); // Tương đương mảng TextTable ID 9343
|
||||
|
||||
// Phát sinh sự kiện để hệ thống Chat in log vào kênh SYSTEM.
|
||||
EventBus.Publish(new GameSession.ChatMessageEvent { context = textTime, channel = (byte)ChatChannel.GP_CHAT_SYSTEM });
|
||||
Debug.Log($"[Cuong] ShowAccountLoginInfo {textTime}");
|
||||
|
||||
// Last login IP
|
||||
// 2. Định dạng và hiển thị IP đăng nhập lần trước (Last login IP).
|
||||
// Dùng IPAddress parse giá trị số nguyên long ra dạng IPv4 chuẩn.
|
||||
string ipStr = new IPAddress((long)m_AccountLoginInfo.login_ip).ToString();
|
||||
string textIp = string.Format("IP đăng nhập trước: {0}", ipStr); // 9344
|
||||
string textIp = string.Format("IP đăng nhập trước: {0}", ipStr); // Tương đương mảng TextTable ID 9344
|
||||
|
||||
EventBus.Publish(new GameSession.ChatMessageEvent { context = textIp, channel = (byte)ChatChannel.GP_CHAT_SYSTEM });
|
||||
Debug.Log($"[Cuong] ShowAccountLoginInfo {textIp}");
|
||||
|
||||
// Current login IP
|
||||
// 3. Định dạng và hiển thị IP đăng nhập hiện tại (Current login IP).
|
||||
string curIpStr = new IPAddress((long)m_AccountLoginInfo.current_ip).ToString();
|
||||
string textCurIp = string.Format("IP đăng nhập hiện tại: {0}", curIpStr); // 9345
|
||||
string textCurIp = string.Format("IP đăng nhập hiện tại: {0}", curIpStr); // Tương đương mảng TextTable ID 9345
|
||||
|
||||
EventBus.Publish(new GameSession.ChatMessageEvent { context = textCurIp, channel = (byte)ChatChannel.GP_CHAT_SYSTEM });
|
||||
Debug.Log($"[Cuong] ShowAccountLoginInfo {textCurIp}");
|
||||
|
||||
+10
-1039
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user