/// <summary> /// Gets the variable at index. /// </summary> /// <returns>The <see cref="``0 (owner=[Method SparkStream.GetVariableAt``1(index:System.Int32):``0])"/>.</returns> /// <param name="index">Index.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> public T GetVariableAt <T>(int index) { if (receiveCount <= Count) { object returnValue = networkVariables.ElementAt(index).Value; if (typeof(SparkColor).IsAssignableFrom(returnValue.GetType())) { SparkColor sparkColor = (SparkColor)returnValue; return((T)(object)new Color(sparkColor.r, sparkColor.g, sparkColor.b, sparkColor.a)); } if (typeof(SparkEnum).IsAssignableFrom(returnValue.GetType())) { SparkEnum sparkEnum = (SparkEnum)returnValue; return((T)Enum.Parse(sparkEnum.enumType, sparkEnum.enumString)); } return((T)returnValue); } else { Debug.Log("Default value returned for this 'GetVariableAt'. " + default(T).ToString()); return(default(T)); } }
// Color /// <summary> /// Sends a Color. /// </summary> /// <param name="color">Color.</param> public void SendNext(Color color) { SparkColor sparkColor = new SparkColor(color); networkVariables.Add(sendCount++, sparkColor); }