using System.Collections;
using Random.Common.UI.Components.AdaptiveScroll;
using Random.Lobby.View.Clans.ChatItemsData;
namespace Random.Lobby.View.Clans.ChatItems
public abstract class ClanChatAbstractItem : AdaptiveSmartScrollItemBase
protected Animation _animation;
private RectTransform _animatedContainer;
public override void SetData(object value, int index, object context)
base.SetData(value, index, context);
var isHiddenCachedItem = context is ClanChatAdaptiveScrollLineAligner;
if (!(value is ClanChatAbstractMessageData itemData) || !itemData.EnableAnimation)
public void AnimationStopCallback(Action callback)
StartCoroutine(WaitForAnimation(callback));
private IEnumerator WaitForAnimation(Action callback)
while (_animation.isPlaying)
if (_animatedContainer != null)
_animatedContainer.localScale = Vector3.one;
public override Vector2 GetRequiredSize(object data, Vector2 viewSize) => RectTransform.rect.size;