/// <summary> /// 创建新的item /// </summary> /// <param name="str"></param> public void CreateItem(ChatInfo str, float speed) { GameObject item = GameObject.Instantiate(_bulletScreenItemController.gameObject, _boxRect); ChatBulletScreenItemController chatBulletScreenItemController = item.GetComponent <ChatBulletScreenItemController>(); chatBulletScreenItemController.ShowData(str, speed); _chatBulletScreenItemControllers.Add(chatBulletScreenItemController); }
/// <summary> /// 初始化组件 /// </summary> void Initial() { _bulletScreenItemController = transform.Find("BulletScreenItem").GetComponent <ChatBulletScreenItemController>(); _boxRect = transform.Find("Box").GetComponent <RectTransform>(); _hidItemBox = transform.Find("HidItemBox").GetComponent <RectTransform>(); ChatTool.EnrollTakePushDataAction(TakePushData); _showCanvaGroup = GetComponent <CanvasGroup>(); _isInitial = true; }
/// <summary> /// 关闭item /// </summary> /// <param name="item"></param> public void HidItem(ChatBulletScreenItemController item) { if (_chatBulletScreenItemControllers.Contains(item)) { _chatBulletScreenItemControllers.Remove(item); item.transform.SetParent(_hidItemBox); _hidChatBulletScreenItemControllers.Add(item); _pushDatas.Remove(item._ShowStr); } }
/// <summary> /// 获取已关闭的item /// </summary> /// <returns></returns> public ChatBulletScreenItemController GetHidItem() { ChatBulletScreenItemController item = null; if (_hidChatBulletScreenItemControllers != null && _hidChatBulletScreenItemControllers.Count > 0) { item = _hidChatBulletScreenItemControllers[0]; _hidChatBulletScreenItemControllers.Remove(item); item.transform.SetParent(_boxRect); _chatBulletScreenItemControllers.Add(item); } return(item); }
/// <summary> /// 显示item /// </summary> /// <param name="str"></param> public void OpenItem(ChatInfo str) { ChatBulletScreenItemController item = GetHidItem(); if (item != null) { item.ShowData(str, 100); } else { CreateItem(str, 100); } }