1. get a new timer
- timer = timeline_obj.CreateTimer(on_timeout_fn);
this=timer, in on_timeout_fn


2. timer api
A. action
- timer.Start(delay_time)
- timer.Restart(delay_time)
- timer.Suspend()                    // paused, still in timeline
- timer.Resume()
- timer.Remove()                     // remove from timeline

B. status
- timer.IsAlive()                    // count-down or suspend
- timer.IsActive()                   // count-down

C. time
- timer.RemainderTimeGet()
- timer.ElapsedTimeGet()
- timer.RemainderTimePercentGet()
- timer.ElapsedTimePercentGet()
- timer.DeltaErrorTickGet()

D. time out handelr
- timer.TimeoutHandlerSet(on_timeout_fn)


3. save/load timer (for save/load system)
A. save
- save_data = timer.saveToJSON()

B. load
- timer = timeline_obj.LoadTimer(save_data, on_timeout_fn);
or

var timer = timeline_obj.CreateTimer(on_timeout_fn); 
timer.loadFromJSON(save_data);
timer.afterLoad();