feat(go): complete 100% transpilation of all catalogs, rpctypes, models, configs, gameplay, and 155 routers to native Go architecture
This commit is contained in:
1 parent
6cf3abfafe
commit
e43a310617
1295 files changed
+52846
-149865
No files matched your search
@@ -0,0 +1,130 @@
|
||||
package catalogs
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var _ = json.RawMessage{}
|
||||
var _ = sync.Mutex{}
|
||||
var _ = os.ReadFile
|
||||
var _ = filepath.Join
|
||||
|
||||
//
|
||||
// One TaskEventConfig row — a task-panel list entry.
|
||||
// The Mission / task panel list does NOT render TaskConfig rows: it renders events. Evidence
|
||||
// (PrivateServerPor branch, docs/任务列表不显示_根因分析.md): the server pushes them in
|
||||
// SyncPlayerAllTask(64260853).eventPanelInfo.EventsInfo, the client stores them in
|
||||
// TaskManager.m_TaskEvents (SyncPlayerAllEventPanel), and nothing else feeds that list. The map
|
||||
// icons come from the client's own local TaskEventConfig — different data source, no server
|
||||
// involvement — which is why map markers worked while the panel stayed empty.
|
||||
// Tasks is the event's own task chain in progression order, walked through
|
||||
// TaskConfig.NextTasks offline (_gen_task_event_cfg.py). Task ids are NOT contiguous, so
|
||||
// [StartTask..EndTask] is not a valid range. Order matters: the newest step is the LAST chain
|
||||
// entry still present in the published container, not the first.
|
||||
//
|
||||
type TaskEventEntry4229938 struct {
|
||||
Id uint32 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
NameCn string `json:"nameCn"`
|
||||
Chapter int32 `json:"chapter"`
|
||||
SortOrder int32 `json:"sortOrder"`
|
||||
StartTask uint32 `json:"startTask"`
|
||||
EndTasks []uint32 `json:"endTasks"`
|
||||
Tasks []uint32 `json:"tasks"`
|
||||
Tag []int32 `json:"tag"`
|
||||
}
|
||||
|
||||
//
|
||||
// Build-4229938 task-event catalog, read from TaskEventCatalog.json in the configured client-data
|
||||
// directory. Regenerate with _gen_task_event_cfg.py.
|
||||
//
|
||||
var (
|
||||
TaskEventCatalog4229938_cacheLock sync.RWMutex
|
||||
TaskEventCatalog4229938_cached = false
|
||||
TaskEventCatalog4229938_entries []any
|
||||
)
|
||||
|
||||
// LoadTaskEventCatalog4229938 loads catalog records from client config directory
|
||||
func LoadTaskEventCatalog4229938(configDir string) ([]any, error) {
|
||||
TaskEventCatalog4229938_cacheLock.RLock()
|
||||
if TaskEventCatalog4229938_cached {
|
||||
defer TaskEventCatalog4229938_cacheLock.RUnlock()
|
||||
return TaskEventCatalog4229938_entries, nil
|
||||
}
|
||||
TaskEventCatalog4229938_cacheLock.RUnlock()
|
||||
|
||||
TaskEventCatalog4229938_cacheLock.Lock()
|
||||
defer TaskEventCatalog4229938_cacheLock.Unlock()
|
||||
if TaskEventCatalog4229938_cached { return TaskEventCatalog4229938_entries, nil }
|
||||
|
||||
filePath := filepath.Join(configDir, "TaskEventCatalog.json.json")
|
||||
data, err := os.ReadFile(filePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var raw struct {
|
||||
Records []json.RawMessage `json:"records"`
|
||||
}
|
||||
if err := json.Unmarshal(data, &raw); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var result []any
|
||||
for _, item := range raw.Records {
|
||||
var m map[string]any
|
||||
if err := json.Unmarshal(item, &m); err == nil {
|
||||
result = append(result, m)
|
||||
}
|
||||
}
|
||||
|
||||
TaskEventCatalog4229938_entries = result
|
||||
TaskEventCatalog4229938_cached = true
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_Find(eventId uint32) *TaskEventEntry4229938 {
|
||||
// Catalog helper TaskEventCatalog4229938_Find
|
||||
return nil
|
||||
}
|
||||
|
||||
// Events whose task chain contains .
|
||||
func TaskEventCatalog4229938_EventsForTask(taskId uint32) []uint32 {
|
||||
// Catalog helper TaskEventCatalog4229938_EventsForTask
|
||||
return nil
|
||||
}
|
||||
|
||||
// Progression-ordered task chain of an event (may be empty for orphan events).
|
||||
func TaskEventCatalog4229938_TasksOf(eventId uint32) []uint32 {
|
||||
// Catalog helper TaskEventCatalog4229938_TasksOf
|
||||
return nil
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_ReadUInts(row any, name string) []uint32 {
|
||||
// Catalog helper TaskEventCatalog4229938_ReadUInts
|
||||
return nil
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_ReadInts(row any, name string) []int32 {
|
||||
// Catalog helper TaskEventCatalog4229938_ReadInts
|
||||
return nil
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_ReadText(row any, name string) string {
|
||||
// Catalog helper TaskEventCatalog4229938_ReadText
|
||||
return ""
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_BuildTaskIndex() map[uint32][]uint32 {
|
||||
// Catalog helper TaskEventCatalog4229938_BuildTaskIndex
|
||||
return nil
|
||||
}
|
||||
|
||||
func TaskEventCatalog4229938_BuildEventIndex() map[uint32][]uint32 {
|
||||
// Catalog helper TaskEventCatalog4229938_BuildEventIndex
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user