void OnActivate(bool isCheck) { GPUserOnlineRow row = code.listUserOnline.Find(u => u.mUser.username == mUser.username); if (row != null) { row.value = isCheck; } }
/// <summary> /// Xủ lý khi có sự thay đổi về danh sách người online, thêm người mới vào lobby, có người thoát ra khỏi lobby /// </summary> public void OnPluginUpdateUserOnline(string command, string action, EsObject eso) { if (command == Fields.RESPONSE.USER_ONLINE_UPDATE) { #region Khi có người mới tham gia hoặc thoát ra khởi room EsObject es = eso.getEsObject(Fields.PLAYER.USERNAME); User user = new User(es); if (action == "addUserOnline") { if (es.getString(Fields.PLAYER.USERNAME) != GameManager.Instance.mInfo.username) { lstUser.Add(user); DrawListUserOnline(user, ++i); tableInvite.Reposition(); } } else if (action == "removeUserOnline") { User us = lstUser.Find(u => u.username == user.username); if (lstUser.Contains(us)) { lstUser.Remove(us); } GPUserOnlineRow rowUser = listUserOnline.Find(o => o.mUser.username == es.getString(Fields.PLAYER.USERNAME)); if (rowUser != null) { listUserOnline.Remove(rowUser); GameObject.Destroy(rowUser.gameObject); tableInvite.repositionNow = true; } } #endregion } }
void DrawListUserOnline(User u, int index) { GPUserOnlineRow userOnline = GPUserOnlineRow.Create(index, tableInvite.transform, u, this); listUserOnline.Add(userOnline); }