public static Container.Item FlattenArray(Container.ItemArray array) { var type = array.items[0].Type; if (type == typeof(int)) { return(FlattenArrayIterator <int>(array)); } else if (type == typeof(float)) { return(FlattenArrayIterator <float>(array)); } else if (type == typeof(bool)) { return(FlattenArrayIterator <bool>(array)); } else if (type == typeof(KeyCode)) { return(FlattenArrayIterator <KeyCode>(array)); } else { return(FlattenArrayIterator <string>(array)); } }
public static Container.Item FlattenArrayIterator <T>(Container.ItemArray array) { var array_ = new List <T>(); foreach (var item in array.items) { if (item.Type == typeof(T)) { array_.Add((item as Container.ItemPayload <T>).Payload); } } return(Container.CreateItem <T[]>(array_.ToArray())); }