roblox-tsr
roblox-ts8mo ago
6 replies
Lukas

I am learning with flamework components, what's wrong over here?

import { BaseComponent, Component } from "@flamework/components";
import { OnStart } from "@flamework/core";
import { RunService } from "@rbxts/services";
import { vector3_64, vector_64_operations } from "shared/data/globalData";

interface SpaceBody extends BasePart {
    UniversePosition: vector3_64;
    UniverseSize: vector3_64;
}

@Component({ tag: "SpaceBody" })
class SpatialDistance extends BaseComponent<{}, SpaceBody> implements OnStart {
    private camera: Camera;

    constructor() {
        super();
        this.camera = game.Workspace.CurrentCamera!;
        this.instance.UniversePosition = vector_64_operations.create(0, 0, 0);
        this.instance.UniversePosition = vector_64_operations.create(50, 50, 50);
    }

    onStart(): void {
        print("woa i work ig");
        RunService.RenderStepped.Connect(() => this.updateVisual());
    }

    private updateVisual(): void {
        const cameraPosition = this.camera.CFrame.Position;
        const spaceBodyMagnitude = this.instance.Position.sub(cameraPosition).Magnitude;
        this.instance.Size = vector_64_operations.toVector3(
            vector_64_operations.div(this.instance.UniverseSize, spaceBodyMagnitude),
        );
    }
}
Was this page helpful?