The Framework
  • Introduction
    • What is The Framework
    • Core Objectives
    • Key Features
    • Architecture Overview
    • Benefits
    • Conclusion
  • Getting Started
    • Installation
  • Quick Setup
    • Unity Setup
    • Creating a Scene
    • Creating a Bootstrap
    • Creating a Canvas
  • API Reference
    • Scene Management
      • ICanvas
      • INavigationService
      • IDataService
      • IBootstrap
      • IAsyncScene
Powered by GitBook
On this page
  1. Introduction

Key Features

1. Asynchronous Scene Management

The Framework introduces asynchronous scene management, enabling developers to load and unload scenes without blocking the main thread. This non-blocking approach ensures that the game remains responsive, providing a smoother user experience.

  • Load Scenes Asynchronously: Initiate scene loading in the background, allowing for seamless transitions and the implementation of loading indicators.

  • Unload Scenes Gracefully: Efficiently remove scenes from memory, freeing up resources and preventing memory leaks.

  • Scene Lifecycle Hooks: Implement custom logic before and after scene transitions through lifecycle methods, ensuring that necessary operations are performed at appropriate times.

2. Dependency Injection (DI)

At the heart of The Framework lies a powerful dependency injection system, facilitating the management of dependencies across various components and services.

  • Loose Coupling: Decouple components from their dependencies, promoting modularity and ease of testing.

  • Automatic Dependency Resolution: Utilize attributes to automatically resolve and inject dependencies, reducing manual wiring and potential errors.

  • Scalable Architecture: Easily extend and manage dependencies as the project grows, ensuring that the architecture remains clean and organized.

3. Canvas Management

Managing UI canvases is streamlined with The Framework's interfaces and utility classes, allowing for consistent and efficient handling of UI elements across scenes.

  • Interface-Based Canvases: Define canvases using interfaces, promoting flexibility and reusability.

  • Automatic Canvas Resolution: Use custom attributes to automatically bind canvases to fields, reducing manual setup and ensuring consistency.

  • Lifecycle Management: Handle canvas initialization and clean-up seamlessly in tandem with scene transitions.

4. Bootstrap Mechanism

The Framework's bootstrap mechanism provides a structured way to initialize and terminate scene-specific logic. It ensures that dependencies are resolved, canvases are managed, and scene lifecycle events are handled efficiently.

  • Initialization Hooks: Execute setup routines when a scene is loaded, ensuring that all necessary components and services are ready.

  • Termination Hooks: Clean up resources and perform teardown operations before a scene is unloaded, maintaining optimal performance and preventing resource leaks.

  • Canvas Integration: Automatically manage canvases within the bootstrap process, ensuring that UI elements are correctly initialized and disposed of.

PreviousCore ObjectivesNextArchitecture Overview

Last updated 6 months ago