what do you expect? you create a line, give him values and then run a method which creates a new line and has no values. so what should your code do?
if you want to reuse the values dont allocate a new line, but use the current (called this) so your members are called
or even simpler...
omg i love you and hate you...
i love you because its awesome and well-coded.
but i hate you because i had the same idea just yesterday :/
the functions take a level argument, so your data can be more dynamic
looks like csdata with a bit more type-safety. but why use it? why throw away TT, ABCT, ABC and CSData?
and ive already got recycling, also with timers. and the unit recycling is not even a good idea in my opinion (if you have too many units, it will lag, its like memory leaks)