This repository is archived. Development migrated to https://github.com/RobotlegsJS/RobotlegsJS-Framework/blob/master/packages/pixi-signalmediator.
A port of Robotlegs SignalMediator Extension to TypeScript.
Originally published on RobotlegsJS-SignalMediator.
You can get the latest release and the type definitions using NPM:
npm install @robotlegsjs/pixi-signalmediator --save
Or using Yarn:
yarn add @robotlegsjs/pixi-signalmediator
From version 0.2.0
of this package, the PixiJS dependencies were moved to peerDependencies,
allowing the final user to choose the desired version of the pixi.js
library on each project.
The @robotlegsjs/pixi-signalmediator
package version ^2.0.0
is compatible with versions between the >=5.0.0 <6
version range of pixi.js
library.
Since version 5.0.0
of pixi.js
, the eventemitter3
library was removed and is not necessary anymore.
You can setup your project for version 5 of pixi.js
using:
npm install pixi.js@^5.0.0 reflect-metadata --save
or
yarn add pixi.js@^5.0.0 reflect-metadata
The @robotlegsjs/pixi-signalmediator
package version ^1.0.0
is compatible with versions between the >=4.2.1 <5
version range of pixi.js
library.
Since each version of pixi.js
library defines which version of eventemitter3
library is being used, remember to also install the proper version of eventemitter3
in your project.
As example, when you would like to use the version 4.2.1
of pixi.js
library, you can run:
npm install pixi.js@4.2.1 eventemitter3@^2.0.0 reflect-metadata --save
or
yarn add pixi.js@4.2.1 eventemitter3@^2.0.0 reflect-metadata
Then follow the installation instructions of RobotlegsJS library to complete the setup of your project.
Dependencies
Peer Dependencies
import { inject, injectable } from "@robotlegsjs/core";
import { SignalMediator } from "@robotlegsjs/pixi-signalmediator";
@injectable()
export class MyUserMediator extends SignalMediator<MyUserView> {
@inject(UserLoggedInSignal) protected userLoggedInSignal: UserLoggedInSignal;
@inject(UserLoggedOutSignal) protected userLoggedOutSignal: UserLoggedOutSignal;
constructor() {
super();
}
private onUserLoggedIn(): void {
// user is logged in, do something...
}
private onUserLoggedOut(): void {
// user is logged out, do something...
}
public initialize(): void {
this.addToSignal(this.userLoggedInSignal, this.onUserLoggedIn.bind(this));
this.addToSignal(this.userLoggedOutSignal, this.onUserLoggedOut.bind(this));
}
public destroy(): void {
// clean up memory...
}
}
Available as part of the Tidelift Subscription
The maintainers of @robotlegsjs/pixi-signalmediator and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.