Socket
Book a DemoInstallSign in
Socket

@rbxts/gorp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rbxts/gorp

gorp is a tool for ecr that provides many features to track performance and test your game.

Source
npmnpm
Version
0.1.1-ts.0
Version published
Weekly downloads
10
Maintainers
1
Weekly downloads
 
Created
Source

gorp-ts

Fork of gorp for Roblox-ts.

Differences to Luau version

  • gorp by default relies on it being alongside ecr in the wally packages directory. To replicate this behaviour, you must call gorp.set_ecr(ecr) before working with gorp. It must only be called from one script, but must be called before other scripts interact with gorp.
  • This package is versioned with <gorp version>-ts.<x> where x is incremented for any changes to the TS version in particular.

Code sample

Server

import gorp from "@rbxts/gorp";
import ecr from "@rbxts/ecr";

// Required for gorp to setup 
gorp.set_ecr(ecr);

Client

import gorp, { WidgetType } from "@rbxts/gorp";
import ecr, { Registry } from "@rbxts/ecr";

const RunService = game.GetService("RunService");

const Position = ecr.component(() => Vector3.zero);
const Velocity = ecr.component<Vector3>();

// Required for the TS version to access your ecr 
gorp.set_ecr(ecr);

// Assigns names for the components
gorp.compat_set_cts({
	"Position": Position,
	"Velocity": Velocity,
})

// Must clone the ecr registry for gorp to be able to access more
const world = table.clone(ecr.registry());

const entity = world.create();
world.add(entity, Position)
world.set(entity, Velocity, new Vector3(10, 0, 0))

gorp.add_world(world, "main_world");
gorp.spawn_widget(WidgetType.RegistrySelector);

const scheduler = new gorp.scheduler("main_scheduler");

function position_system(registry: Registry, dt: number) {
	for (const [id, pos, vel] of registry.view(Position, Velocity)) {
		registry.set(id, Position, pos.add(vel.mul(dt)));
	}
}

RunService.RenderStepped.Connect((dt) => {
	// Run our system with a given name
	scheduler.system("position_system", position_system, world, dt);

	// Tells the scheduler our game loop is finished
	scheduler.finish();
})

// Shows all the gorp widgets, enabling could be controlled by key input
gorp.enabled(true);

FAQs

Package last updated on 14 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts