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 }); }
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); }