Skip to content

A simple Unity C# messaging system

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

PaulNonatomic/MessageService

Repository files navigation

MessageService

Overview

MessageService is a simple message passing system for decoupling components in a Unity application. It provides a mechanism for subscribing to messages of a specific type and publishing messages to all interested subscribers.

Installation

To install MessageService in your Unity project, add the package from the git URL: https://github.com/PaulNonatomic/MessageService.git using the Unity package manager.

Features

  • Subscribe to Messages: Listen for specific message types.
  • Unsubscribe from Messages: Stop listening for specific message types.
  • Publish Messages: Send messages to all subscribers of that message type.
  • Automatically unsubscribe: After receiving a message once with SubscribeOnce feature

Usage

Subscribing to a Message

To subscribe to a message type, use the Subscribe<T> method where T is your message type:

_messageService.Subscribe<MyMessage>(HandleMyMessage);

private void HandleMyMessage(MyMessage message)
{
    // Handle the message
}

Unsubscribing from a Message

To unsubscribe, use the Unsubscribe method:

_messageService.Unsubscribe<MyMessage>(HandleMyMessage);

Publishing a Message

To publish a message, use the Publish method:

_messageService.Publish(new MyMessage { Content = "Hello, world!" });

Subscribe Once

Messages can be subscribed to be received only once using SubscribeOnce. After the message is received for the first time, the handler is automatically unsubscribed.

_messageService.SubscribeOnce<MyMessage>(HandleMyMessage);

Contributing

Contributions to MessageService are welcome! Please refer to CONTRIBUTING.md for guidelines on contributing to the project.

License

MessageService is licensed under the MIT license. See LICENSE for more details.

About

A simple Unity C# messaging system

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Packages

No packages published

Languages