Updated UserEntry
Removed ScrollContainer code, as it doesn't work with Filtering (Online / Name filtering). Added VisibleOnScreenNotifier2D to the control, to handle on screen visibility notification. Connected screen_entered to check_update_profile_picture. Added check if not is_on_screen(), to not try and update the profile picture.
This commit is contained in:
parent
11e4590d8e
commit
991597ff21
2 changed files with 6 additions and 10 deletions
|
|
@ -5,26 +5,19 @@ var chatter: Chatter
|
|||
|
||||
var tw_hidden: Tween
|
||||
var is_expanded: bool = false
|
||||
|
||||
var scroll: ScrollContainer
|
||||
var is_visible_in_scroll: bool:
|
||||
get:
|
||||
if not scroll: return false
|
||||
return scroll.get_global_rect().intersects(get_global_rect())
|
||||
var is_profile_picture_loaded: bool = false
|
||||
|
||||
signal user_selected(chatter: Chatter)
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
scroll = get_parent().get_parent()
|
||||
scroll.get_v_scroll_bar().scrolling.connect(check_update_profile_picture)
|
||||
visibility_changed.connect(check_update_profile_picture)
|
||||
update()
|
||||
toggle_buttons(false)
|
||||
Globals.live_streamers_updated.connect(func(): %LiveStatus.visible = chatter.twitch_id in Globals.live_streamers.keys())
|
||||
await get_tree().process_frame
|
||||
check_update_profile_picture()
|
||||
%ScreenNotifer.rect = get_rect()
|
||||
%ScreenNotifer.screen_entered.connect(check_update_profile_picture)
|
||||
%User.pressed.connect(user_selected.emit.bind(chatter))
|
||||
%Shoutout.pressed.connect(func(): Globals.twitcher.shoutout(chatter.user))
|
||||
%Promote.pressed.connect(func(): Globals.twitcher.send_message(chatter.promo_msg))
|
||||
|
|
@ -60,7 +53,7 @@ func check_update_profile_picture() -> void:
|
|||
if is_profile_picture_loaded: return
|
||||
if not chatter: return
|
||||
await get_tree().process_frame
|
||||
if not is_visible_in_scroll: return
|
||||
if not %ScreenNotifer.is_on_screen(): return
|
||||
is_profile_picture_loaded = true
|
||||
await update_profile_picture()
|
||||
if not %AvatarImg.texture: is_profile_picture_loaded = false
|
||||
|
|
|
|||
|
|
@ -134,3 +134,6 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_ddi2y")
|
|||
icon = ExtResource("7_k1oax")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="ScreenNotifer" type="VisibleOnScreenNotifier2D" parent="." unique_id=1597669003]
|
||||
unique_name_in_owner = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue