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

complex-scripting

v7.0.4

Published

Scriptingmodule for ComplexJS

Downloads

34

Readme

complex-scripting

Module to enabled scripted behaviour to entities in the complex-engine. This can be very useful to avoid writing a lot of components and systems if you want to do only small tasks. One of those tasks could be advance the rotation of an object.

install

npm install complex-scripting --save

Doc

Check out the api

Example

Checkout the Example

Setup

First we have to load the cxScriptSystem by adding it to the cxWorld instance in the desired Scene.

In our scene:

    import {ScriptSystem} from 'complex-scripting';

    ...
    load() {
        this.world.addSystem( new ScriptSystem() );
    }
    ...

Now we can create our custom Script. This is done by creating a new file. For now we use src/Scripts/MyCustomScript.js and we add this:

    import {Script} from 'complex-scripting';

    export default class MyCustomScript extends Script{
        onSetup(){
            // here we can setup all required data like access another component
            //once the scriptcomponent is added to the entity
            
            this.otherComponent = this.entity.getComponents(MyOtherComponent)[0];
        }
        
        update(){
            // here we execute modifications like rotate an object by accessing the corresponding component
            this.otherComponent.object.rotation.x += 0.01;
        }
    }

Now that we have our custom script we have to add the script to the entity. This is done by creating a new ScriptComponent and add out custom script to it.

In our scene:

    import {Entity} from 'complex-engine';
    import {ScriptComponent} from 'complex-scripting';
    import MyScript from './src/Scripts/MyCustomScript.js';
    
    ...
    
    load() {
        let entity = new Entity();
        entity.addComponent( new ScriptComponent( new MyScript() ) );
        this.world.addEntity( entity );
    }
     
     ...