AGENT SKILL

10-game-message-manager

暂无简介

License 许可
MIT
所属仓库
devwinsoft/devian
最近更新
2026-04-12
Stars
★ 0
Forks
0

03 SKILL.md 正文

10-game-message-manager

Status: ACTIVE AppliesTo: v10

MobilePackage 샘플의 GameMessageManager 설계 문서다.


Purpose

GameMessageManager는 메시지/트리거 계층 리팩토링의 진입점 클래스다.

현재 역할:

  • Game message trigger 라우터를 캡슐화한다.
  • GameMessageStorage를 소유하고 message.stats를 관리한다.
  • Notify에서 TOTAL_* 타입만 message.stats를 선갱신한다.
  • game trigger publish만 수행하고, mission/achieve는 trigger 구독으로 처리한다.

Implementation Location (3-path mirror)

  • UPM (정본): framework-cs/upm/com.devian.foundation/Samples~/MobilePackage/Runtime/GameMessage/GameMessageManager.cs
  • UPM (정본): framework-cs/upm/com.devian.foundation/Samples~/MobilePackage/Runtime/GameMessage/GameMessageStorage.cs
  • Packages (sync): framework-cs/apps/UnityExample/Packages/com.devian.foundation/Samples~/MobilePackage/Runtime/GameMessage/GameMessageManager.cs
  • Packages (sync): framework-cs/apps/UnityExample/Packages/com.devian.foundation/Samples~/MobilePackage/Runtime/GameMessage/GameMessageStorage.cs
  • Assets/Samples (import): framework-cs/apps/UnityExample/Assets/Samples/Devian Samples/{version}/MobilePackage/Runtime/GameMessage/GameMessageManager.cs
  • Assets/Samples (import): framework-cs/apps/UnityExample/Assets/Samples/Devian Samples/{version}/MobilePackage/Runtime/GameMessage/GameMessageStorage.cs

Initialization

  • Initialize()는 MobileApplication.onLoadCompletedAsync()에서 호출된다.
  • 서버와 별개로 독립적으로 동작하므로, 로그인 흐름(LoginManager)이 아닌 리소스 로딩 완료 시점에 초기화한다.

Phase-1 API (요약)

  • GameMessageStorage Storage { get; }
  • Initialize()
  • TryGetStat(string message_id, out CBigInt)
  • GetStat(string message_id) / SetStat(string message_id, CBigInt)
  • ClearStorage()
  • Notify(GAME_MESSAGE_TYPE, CBigInt/long/int) (stats update + publish)
  • Subcribe(...) / UnSubcribe(...)
  • ClearAll()

주의:

  • game message trigger 인스턴스는 외부에 직접 노출하지 않는다.
  • 외부 구독자는 GameMessageManager.Subcribe(...), UnSubcribe(...) helper를 사용한다.

Related

04 同仓库更多 Skills