npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@robotlegsjs/pixi-palidor

v4.0.0

Published

A RobotlegsJS View Manager Extension for PixiJS

Downloads

2,011

Readme

RobotlegsJS Pixi Palidor Extension

GitHub license Gitter chat npm version code style: prettier

Palidor is an extension of RobotlegsJS for Pixi, designed to help the management of the Main Container, taking the responsibility to add, remove and switch the views. Perfect for game development.

Installation

Get @robotlegsjs/pixi-palidor

You can get the latest release and the type definitions using NPM:

npm install @robotlegsjs/pixi-palidor --save

Or using Yarn:

yarn add @robotlegsjs/pixi-palidor

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.

For pixi.js version 6

The @robotlegsjs/pixi-palidor package version ^4.0.0 is compatible with versions >=6.0.0 <7 version range of pixi.js library.

You can setup your project for version 6 of pixi.js using:

npm install @robotlegsjs/pixi-palidor@^4.0.0 pixi.js@^6.0.0 --save

or

yarn add @robotlegsjs/pixi-palidor@^4.0.0 pixi.js@^6.0.0

For pixi.js version 5

The @robotlegsjs/pixi-palidor package versions ^2.0.0 and ^3.0.0 are 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 @robotlegsjs/pixi-palidor@^3.0.0 pixi.js@^5.0.0 reflect-metadata --save

or

yarn add @robotlegsjs/pixi-palidor@^3.0.0 pixi.js@^5.0.0 reflect-metadata

For pixi.js version 4

The @robotlegsjs/pixi-palidor 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 @robotlegsjs/pixi-palidor@^1.0.0 [email protected] eventemitter3@^2.0.0 reflect-metadata --save

or

yarn add @robotlegsjs/pixi-palidor@^1.0.0 [email protected] eventemitter3@^2.0.0 reflect-metadata

Then follow the installation instructions of RobotlegsJS library to complete the setup of your project.

Dependencies

Peer Dependencies

Usage

Palidor was designed to be simple and, practical. You just need to follow three steps to start to use.

Step 1 - Install/Configure

Firstly, you need to instantiate your RobotlegsJS's context, and then install and configure the PalidorPixiExtension:

let stage = new Container();
let context = new Context()
    .install(MVCSBundle)
    .install(PixiBundle)
    .install(PalidorPixiExtension)
    .configure(new ContextView(this.stage))
    .configure(MyPalidorConfig)
    .initialize();
  • MVCSBundle: Installs a number of extensions and configurations for developers who are comfortable with the typical RobotlegsJS setup.
  • PixiBundle: Installs a view / mediator layer provided by RobotlegsJS-Pixi.
  • PalidorPixiExtension: It is the extension itself.
  • MyPalidorConfig: The Class that implements the Robotlegs's IConfig and will be responsible for map all your Views and FloatingViews.

Step 2 - Mapping the Views/FloatingViews

In the Second step, you must map all views that you need. Palidor works with two types of views (FloatingViews and Views) and the main difference between them is the way that Palidor will add it on the Stage.

Palidor splits the Main Container into two distinct Layers, one to each type of View. The FloatingView always will be in a layer above the others Views.

  • View: A View is a screen added into the Static Layer which is behind all FloatingViews. Palidor allows only one View per time and will remove the current view before to add a new View.

  • FloatingView: A FloatingView is a screen added into the Dynamic Layer and always will be above the view and also others FloatingViews. Palidor allows any number of FloatingView that you want. FloatingViews is the best choice to create temporary views such as AlertsScreen, PauseScreen, GameOverScreen and Popups.

The FlowManager will be the responsible to tells to Palidor each event mapped to each View.

import { IFlowManager } from "@robotlegsjs/pixi-palidor";
import { IConfig, injectable, inject } from "@robotlegsjs/core";

@injectable()
export class MyPalidorConfig implements IConfig {
    @inject(IFlowManager)
    public flowManager: IFlowManager;

    public configure(): void {
        this.flowManager.map( CustomEvent.SHOW_FIRST_VIEW ).toView( FirstView );
        this.flowManager.map( CustomEvent.SHOW_FIRST_FLOATING_VIEW ).toFloatingView( FirstFloatingView );
    }
}

Step 3 - Adding a View

The last part it is the way that Palidor will add the views on the stage, you just need to dispatch an event using the IEventDispatcher which is available for Injection like any other Robotlegs Command.

this.eventDispatcher.dispatchEvent(new CustomEvent(CustomEvent.SHOW_FIRST_VIEW));

Events

There are some predefined events on the Palidor to help to remove a view or floating view from the stage.

  • PalidorEvent.REMOVE_CURRENT_VIEW:
  • PalidorEvent.REMOVE_ALL_FLOATING_VIEWS:
  • PalidorEvent.REMOVE_LAST_FLOATING_VIEW_ADDED:

Running the example

Run the following commands to run the example:

npm start

or:

yarn start

See full example here

Examples

RobotlegsJS Pixi Palidor for enterprise

Available as part of the Tidelift Subscription

The maintainers of @robotlegsjs/pixi-palidor 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.

License

MIT