AceLand Unity Packages
  • Home
  • Getting Started
    • Installation
    • Project Settings
    • Architecture Graph
    • Development Level
  • Tutorial
    • Create Your Package
    • Create Project Settings
  • Packages
    • Library
      • Change Log
      • Editor Tools
      • Mono
        • Follow Object
        • Singleton
      • Attributes
        • Conditional Show
        • Inspector Button
        • ReadOnly Field
      • Build Leveling
      • CVS
      • DataTools
      • Disposable Object
      • Extensions
      • Json
      • Kalman Filter
      • Optional
      • Project Setting
      • Serialization Surrogate
      • Utils
    • Event Driven
      • Change Log
      • Event Bus
      • Signal
    • Input
      • Change Log
    • Memento Service
      • Change Log
    • Node Framework
      • Change Log
      • Mono Node
    • Node For Mono (dev)
    • Player Loop Hack
      • Change Log
    • Pool
      • Change Log
    • Security (dev)
    • States
      • Change Log
    • Task Utils
      • Change Log
    • WebRequest
      • Change Log
Powered by GitBook
On this page
  • In One Line
  • Package Info
  • Usage Patterns
  • Choosing the Right Approach
  1. Packages

Event Driven

Highly customizable event driven strategy

Last updated 1 month ago

In One Line

Events without tears, signals without fears.

Package Info

display name

AceLand Event Driven

package name

latest version

1.0.20

namespace

git repository

dependencies

There is two parts in this package:


Usage Patterns

Two Complementary Event Systems

The package provides two distinct event management approaches, each optimized for different architectural layers of your application.

Event Bus - System Architecture Level

Event Bus serves as a global service discovery and communication system, ideal for:

  • Core Systems Integration

  • Service Layer Communication

  • Cross-Module Operations

  • Global State Management

Best suited for foundational architecture where services need to communicate without direct references, maintaining loose coupling at the system level.

Signal - Component Level

Signals provide focused, object-based event management, perfect for:

  • UI Event Handling

  • Component Communication

  • Game Object Interactions

  • Feature-Specific Events

  • Local State Updates

Optimal for higher-level development where specific objects or features need their own event scope.


Choosing the Right Approach

Use Event Bus when:

  • You need system-wide service communication

  • Working with dependency injection patterns

  • Implementing service locator patterns

  • Building core architecture features

  • Managing global state changes

Use Signals when:

  • Handling UI interactions

  • Managing component-specific events

  • Implementing feature-specific messaging

  • Dealing with localized state changes

  • Building self-contained systems

While both systems can be used interchangeably, following these patterns will result in cleaner, more maintainable architecture.


com.aceland.eventdriven
AceLand.EventDriven.Bus
AceLand.EventDriven.EventSignal
com.aceland.library: 1.0.20
com.aceland.taskutils: 1.0.7
https://github.com/parsue/com.aceland.eventdriven.git

Event Bus
Signal