refactor(logic): 重构服务器启动逻辑与任务状态管理

- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
This commit is contained in:
2025-12-08 17:03:43 +08:00
parent 7005c1047f
commit 8983222dcb
21 changed files with 341 additions and 177 deletions

View File

@@ -12,7 +12,6 @@ import (
"context"
"reflect"
"github.com/gogf/gf/v2/os/gcmd"
"github.com/gogf/gf/v2/os/glog"
"github.com/lunixbochs/struc"
)
@@ -38,9 +37,8 @@ func ParseCmd[T any](a T, data []byte) T {
//fmt.Println(data)
}
func init() { //默认初始化扫描
// 解析命令行参数
cool.Config.PortBL = gcmd.GetOpt("port", "1").Uint16()
func Init(isgame bool) { //默认初始化扫描
// 获取对象的反射值和类型
value := reflect.ValueOf(Maincontroller)
@@ -60,12 +58,12 @@ func init() { //默认初始化扫描
continue
}
if cool.Config.PortBL == 0 && func_cmd > 1000 { //判断login服务器
if !isgame && func_cmd > 1000 { //判断login服务器
continue
}
if cool.Config.PortBL != 0 && func_cmd < 1000 { //判断login服务器
if isgame && func_cmd < 1000 { //判断login服务器
continue
}