53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"mongo.games.com/goserver/core/module"
|
|
"mongo.games.com/goserver/core/timer"
|
|
)
|
|
|
|
var TimerExampleSington = &TimerExample{}
|
|
|
|
type TimerExample struct {
|
|
}
|
|
|
|
// //////////////////////////////////////////////////////////////////
|
|
// / Module Implement [beg]
|
|
// //////////////////////////////////////////////////////////////////
|
|
func (this *TimerExample) ModuleName() string {
|
|
return "timerexample"
|
|
}
|
|
|
|
func (this *TimerExample) Init() {
|
|
var i int
|
|
h, b := timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool {
|
|
i++
|
|
fmt.Println(i, time.Now())
|
|
|
|
if i > 5 {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}), nil, time.Second, 10)
|
|
fmt.Println("timer lauch ", h, b)
|
|
}
|
|
|
|
func (this *TimerExample) Update() {
|
|
fmt.Println("timer queue len=", timer.TimerModule.TimerCount())
|
|
}
|
|
|
|
func (this *TimerExample) Shutdown() {
|
|
module.UnregisteModule(this)
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
/// Module Implement [end]
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
func init() {
|
|
module.RegisteModule(TimerExampleSington, time.Second, 0)
|
|
}
|