/* private IEnumerator Resend() * { * //1オブジェクトずつデータを送信 * foreach(KeyValuePair<int,GameObject> val in intensities) * { * beInstance = false; * sendNum = val.Key; * sendInstant = val.Value; * ParameterStorage param = sendInstant.GetComponentInChildren<ParameterStorage>(); * sendStorage = new List<object>(); * Vector3[] intensity = param.PushIntensity(); * //1回の送信量を減らすために64個ずつ送信 * //sendStorage.Add((float)sendNum); * sendStorage.Add((float)sendNum); * sendStorage.Add(0); * * for (int i = 0; i < intensity.Length / 64; i++) * { * Vector3 sum = Vector3.zero; * for (int j = 0; j < 64; j++) * { * sum += intensity[i * 64 + j]; * } * sum /= 64f; * sendStorage.Add(sum.x); * sendStorage.Add(sum.y); * sendStorage.Add(sum.z); * } * object[] sender = sendStorage.ToArray(); * client.Send("InstanceSend", sender); * Debug.Log("Send No." + sendNum); * sendStorage.Clear(); * yield return new WaitForSeconds(0.2f); * * while(beInstance == false) * { * yield return new WaitForSeconds(1f); * Debug.Log("Writing Num:" + sendNum.ToString()); * beInstance = true; * } * client.Send("InsSend finish"); * } * //送信が終わればデータ通信が終了したことを伝える * client.Send("SendEnd"); * }*/ private IEnumerator Resend() { //1オブジェクトずつデータを送信 foreach (KeyValuePair <int, GameObject> val in intensities) { beInstance = false; sendNum = val.Key; sendInstant = val.Value; ParameterStorage param = sendInstant.GetComponentInChildren <ParameterStorage>(); sendStorage = new List <object>(); Vector3[] intensity = param.PushIntensity(); //1回の送信量を減らすために64個ずつ送信 //sendStorage.Add((float)sendNum); int k = 0; for (int i = 0; i < 2048 / 64; i++) { sendStorage.Add((float)sendNum); sendStorage.Add(k); for (int j = 0; j < 64; j++) { sendStorage.Add(intensity[i * 64 + j].x); sendStorage.Add(intensity[i * 64 + j].y); sendStorage.Add(intensity[i * 64 + j].z); } object[] sender = sendStorage.ToArray(); client.Send("InstanceSend", sender); sendStorage.Clear(); k++; yield return(new WaitForSeconds(0.2f)); } Debug.Log("Send No." + sendNum); sendStorage.Clear(); yield return(new WaitForSeconds(0.2f)); while (beInstance == false) { yield return(new WaitForSeconds(1f)); Debug.Log("Writing Num:" + sendNum.ToString()); beInstance = true; } client.Send("InsSend finish"); } //送信が終わればデータ通信が終了したことを伝える client.Send("SendEnd"); }
protected void SetPropertyOrDefault(string value, [CallerMemberName] string key = null, bool silent = false) { var lowerKey = key.ToLower(); var hasKey = ParameterStorage.ContainsKey(lowerKey); if (string.IsNullOrWhiteSpace(value)) { if (!hasKey) { return; } ParameterStorage.Remove(lowerKey); if (!silent) { Refresh(key); } return; } if (hasKey) { if (ParameterStorage[lowerKey] == value) { return; } ParameterStorage[lowerKey] = value; if (!silent) { Refresh(key); } return; } ParameterStorage.Add(lowerKey, value); if (!silent) { Refresh(key); } }
protected override IEnumerable <string> BuildParameters() => ParameterStorage.Select(BuildParameter);
protected override IEnumerable <string> BuildParameters() => ParameterStorage.Select(BuildParameter) .Aggregate((IEnumerable <string>) new string[0], (current, pars) => current.Concat(pars));
protected string GetPropertyOrDefault([CallerMemberName] string key = null) { key = key.ToLower(); return(ParameterStorage.ContainsKey(key) ? ParameterStorage[key] : null); }