Exemplo n.º 1
0
 void Start()
 {
     headWidget.onDestroy.AddListener(() =>
     {
         if (commonWidgets.Count == 0)
         {
             headWidget.Destroy();
             onDestroy?.Invoke();
             Destroy(gameObject, .5f);
         }
         else
         {
             headWidget.SetMsg(commonWidgets.First.Value.msg);
             headWidget.Resize((transform.parent as RectTransform).rect.width - widthOffset);
             Destroy(commonWidgets.First.Value.gameObject);
             commonWidgets.RemoveFirst();
         }
     });
 }
Exemplo n.º 2
0
    public void AddMessage(Message msg)
    {
        if (msg.owner != owner)
        {
            return;
        }

        MessageWidget newWidget = Instantiate(common.gameObject, content).GetComponent <MessageWidget>();

        newWidget.SetUp(headWidget.msg);
        newWidget.onDestroy.AddListener(() =>
        {
            commonWidgets.Remove(newWidget);
            newWidget.Destroy();
        });
        commonWidgets.AddLast(newWidget);
        headWidget.SetUp(msg);
        headWidget.Resize((transform.parent as RectTransform).rect.width - widthOffset);
        headWidget.transform.SetAsLastSibling();
    }