Ejemplo n.º 1
0
 void Update()
 {
     // 인스턴스를 만드는 작업은 메인 쓰레드에서 이루어져야한다. 소켓 쓰레드에서 생성시 유니티가 생성을 막는다.
     //메시지큐 리스트에 있는 애들을 인스턴시에이트 해준다.
     foreach (ChatDataObject obj in chatList)
     {
         GameObject chatMsg    = Instantiate(msgPrefab, Vector3.zero, Quaternion.identity) as GameObject;
         ChatMsg    chatScript = chatMsg.GetComponent <ChatMsg>();
         if (chatScript != null)
         {
             chatScript.SetData(obj.sender, obj.msg);
         }
         chatMsg.transform.SetParent(chatContent);
     }
     chatList.Clear();
 }
    void Update()
    {
        // 인스턴스를 만드는 작업은 메인 쓰레드에서 이루어져야한다. 소켓 쓰레드에서 생성시 유니티가 생성을 막는다.
        //메시지큐 리스트에 있는 애들을 인스턴시에이트 해준다.
        foreach (ChatDataObject obj in chatList)
        {
            AudioSource a = PoolManager.instance.GetOrCreate();
            a.clip = clip;
            a.Play();
            StartCoroutine(DisableAudio(a));

            GameObject chatMsg    = Instantiate(msgPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            ChatMsg    chatScript = chatMsg.GetComponent <ChatMsg>();
            if (chatScript != null)
            {
                chatScript.SetData(obj.sender, obj.msg);
            }
            chatMsg.transform.SetParent(chatContent);
        }
        chatList.Clear();
    }