private void SendMessage(particle[] pointCloudData)
    {
        var pointCloudDataList = new List <particle>();
        var counter            = 0;

        for (int i = 0; i < pointCloudData.Length; i++)
        {
            pointCloudDataList.Add(pointCloudData[i]);

            if (counter == 150 || i == pointCloudData.Length - 1)
            {
                var message = new ParticleMessage();
                message.data = pointCloudDataList.ToArray();

                //sending to server
                NetworkServer.SendToAll(pointCloudMessage, message);

                pointCloudDataList.Clear();
                counter = 0;
            }
            counter++;
        }
        NetworkServer.SendToAll(pointCloudMessageEnd, new ParticleMessage()
        {
            data = null
        });
    }
Beispiel #2
0
        public GameObject ShowEffect(GameObject effect, Vector3 pos)
        {
            GameObject go = ObjectPool.Instance.Get(effect);

            go.transform.position = pos;

            ParticleSystem.MainModule setting = go.GetComponent <ParticleSystem>().main;
            float aliveTime = setting.duration + setting.startLifetime.constantMax;

            ParticleMessage pm = new ParticleMessage
            {
                obj       = go,
                aliveTime = aliveTime
            };

            messageList.Add(pm);

            return(go);
        }