94 lines
1.8 KiB
Go
94 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"image/color"
|
|
"io"
|
|
"os"
|
|
|
|
"fyne.io/fyne"
|
|
"fyne.io/fyne/canvas"
|
|
"fyne.io/fyne/v2/app"
|
|
"github.com/sirupsen/logrus"
|
|
"legu.airobot/busi"
|
|
"legu.airobot/lib"
|
|
"legu.airobot/theme"
|
|
"legu.airobot/ui"
|
|
)
|
|
|
|
var scenes []lib.IScene
|
|
|
|
func init() {
|
|
_ = os.Setenv("FYNE_SCALE", "0.9")
|
|
var err error
|
|
|
|
if err = setupLogger(); err != nil {
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
registerScenes(
|
|
&busi.LoginScene{},
|
|
&busi.CreateUserScene{},
|
|
&busi.ResMgrScene{},
|
|
&busi.FriendScene{},
|
|
&busi.SociatyScene{},
|
|
&busi.HeroScene{},
|
|
&busi.ChatScene{},
|
|
&busi.ShopScene{},
|
|
&busi.ArenaScene{},
|
|
&busi.ReddotScene{},
|
|
&busi.PayScene{},
|
|
&busi.MfantasyScene{},
|
|
&busi.LinestoryScene{},
|
|
&busi.WorldtaskScene{},
|
|
&busi.TaskScene{},
|
|
)
|
|
}
|
|
|
|
func main() {
|
|
app := app.NewWithID("aiRobot")
|
|
app.SetIcon(theme.ResourceAppPng)
|
|
|
|
appUI, err := ui.NewUI(app, scenes)
|
|
if err != nil {
|
|
w := fyne.CurrentApp().NewWindow("错误")
|
|
w.SetContent(canvas.NewText(err.Error(), color.RGBA{255, 0, 0, 255}))
|
|
w.ShowAndRun()
|
|
}
|
|
|
|
win := ui.NewMainWdindow(appUI)
|
|
win.CreateWindow(ui.EMPTY_STR, 1499, 800, true)
|
|
|
|
appUI.Run()
|
|
}
|
|
|
|
func setupLogger() (err error) {
|
|
logrus.SetFormatter(&logrus.JSONFormatter{
|
|
TimestampFormat: "2006-01-02 15:04:05",
|
|
// DisableColors: true,
|
|
// FullTimestamp: true,
|
|
})
|
|
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
logrus.SetOutput(os.Stdout)
|
|
|
|
file, err := os.OpenFile("robot.log", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666)
|
|
writers := []io.Writer{
|
|
file,
|
|
os.Stdout}
|
|
|
|
//同时写文件和屏幕
|
|
fileAndStdoutWriter := io.MultiWriter(writers...)
|
|
if err == nil {
|
|
logrus.SetOutput(fileAndStdoutWriter)
|
|
} else {
|
|
logrus.Fatal("failed to log to file.")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func registerScenes(params ...lib.IScene) {
|
|
scenes = append(scenes, params...)
|
|
}
|