Game Framework

repository·master·Indexed 27 days ago

https://github.com/ellanjiang/gameframework

A comprehensive Unity-based framework designed to standardize game development. It provides 19 built-in modules for common tasks, including resource management, networking via TCP sockets, UI group management, entity control, finite state machines (FSM), and a virtual file system.

Tokens
548
Snippets
0
Records
4
Agent score
42%

What's inside gameframework

  1. Overview of Game Framework modules

    master

    Game Framework is a Unity-based framework that encapsulates common game development modules to standardize processes and increase development speed. It consists of 19 built-in modules:

    1. Config: Global read-only configurations.
    2. Data Node: Tree-structured data management.
    3. Data Table: Custom table-based data configuration (e.g., Excel).
    4. Debugger: Runtime log viewing and custom feature registration.
    5. Download: File downloading with breakpoint resume support.
    6. Entity: Management of dynamic game objects (showing/hiding, attaching/detaching).
    7. Event: Decoupled logic via event firing and observation.
    8. File System: Virtual file system for optimized resource loading.
    9. FSM: Finite State Machine implementation.
    10. Localization: Multi-language support for text and assets.
    11. Network: TCP socket connections (IPv4/IPv6) with support for custom protocols via Packet inheritance.
    12. Object Pool: Object caching to improve performance.
    13. Procedure: Lifecycle management via an FSM; extend by subclassing ProcedureBase.
    14. Resource: Asynchronous resource loading system with customizable memory management.
    15. Scene: Multi-scene management (simultaneous loading/unloading).
    16. Setting: Key-value player data storage (wraps PlayerPrefs or disk).
    17. Sound: 2D/3D sound management and entity binding.
    18. UI: UI group management; extend by subclassing UIFormLogic (supports uGUI, NGUI, etc.).
    19. Web Request: Short-connection GET/POST requests.
  2. Extend the UI module by subclassing UIFormLogic

    master
    To integrate your own UI system (such as Unity's built-in uGUI or NGUI) with Game Framework, you must create a class that inherits from UIFormLogic and implement your specific UI logic. This allows the framework to manage UI groups, visibility, and recycling.
  3. Implement custom game procedures using ProcedureBase

    master
    Game lifecycle states (e.g., resource checking, login, gameplay) are managed via the Procedure module. To add a new state to the game lifecycle, subclass ProcedureBase and implement your custom procedure logic.