Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/copperdevs/copperdevs.observable


https://github.com/copperdevs/copperdevs.observable

Last synced: 14 days ago
JSON representation

Awesome Lists containing this project

README

        

# Observable

## Example

```csharp
public static void Main()
{
Observer.Add(OnDamage);
Observer.Add(OnDamaged);

Observer.Notify();

Log.Debug("*imagine a bit of time later*");

Observer.Notify(new PlayerDamageEvent { Amount = 10 });

Observer.Remove(OnDamage);
Observer.Remove(OnDamaged);
}

public static void OnDamaged()
{
Log.Info("Player has been damaged");
}

public static void OnDamage(PlayerDamageEvent e)
{
Log.Info($"Damage Amount: {e.Amount}");
}

public sealed record PlayerDamageEvent : Event
{
public int Amount;
}
```

*Output*

```text
Player has been damaged
*imagine a bit of time later*
Damage Amount: 10
Player has been damaged
```