RTSDK
    Preparing search index...

    Class WorldActivity

    Create an instance of WorldActivity class with a given url slug and optional attributes and session credentials.

    This class is responsible for all activity of a specified world including editing dropped assets, moving current visitors, etc.

    const activity = await new WorldActivity(topia, "exampleWorld", {
    attributes: { name: "Example World" },
    credentials: { interactiveNonce: "exampleNonce", assetId: "droppedAssetId", visitorId: 1, urlSlug: "exampleWorld" }
    });

    Hierarchy (View Summary)

    Index

    Other

    credentials: undefined | InteractiveCredentials
    jwt?: string
    requestOptions: object
    topia: Topia
    urlSlug: string
    • get visitors(): { [key: string]: Visitor }

      Returns { [key: string]: Visitor }

    • Parameters

      • __namedParameters: { error?: unknown; message?: string; params?: object; sdkMethod?: string }

      Returns {
          data: {};
          message: string;
          method: string;
          params: object;
          sdkMethod: undefined | string;
          stack: string;
          stackTrace: Error;
          status: number;
          success: boolean;
          url: string;
      }

    • Returns AxiosInstance

    Visitors

    • Retrieve all visitors currently in a world.

      Parameters

      • OptionalshouldIncludeAdminPermissions: boolean

      Returns Promise<{ [key: string]: Visitor }>

      Returns the an object containing current visitors keyed by visitorId or an error.

      const visitors = await worldActivity.currentVisitors("exampleLandmarkZoneId", true);
      
    • Retrieve all visitors currently in a Landmark Zone.

      Parameters

      • __namedParameters: { droppedAssetId?: string; shouldIncludeAdminPermissions?: boolean }

      Returns Promise<{ [key: string]: Visitor }>

      Returns the an object containing current visitors keyed by visitorId or an error.

      const visitors = await worldActivity.fetchVisitorsInZone({ droppedAssetId: "exampleDroppedAssetId" });
      
    • Move all visitors currently in a world to a single set of coordinates.

      Parameters

      Returns Promise<undefined | (void | ResponseType)[]>

      Updates each Visitor instance and worldActivity.visitors map.

      Optionally refetch visitors, teleport or walk visitors to new location, and scatter visitors by any number so that they don't all move to the exact same location.

      await worldActivity.moveAllVisitors({
      shouldFetchVisitors: true,
      shouldTeleportVisitors: true,
      scatterVisitorsBy: 40,
      x: 100,
      y: 100,
      });
    • Teleport or walk a list of visitors currently in a world to various coordinates.

      Parameters

      Returns Promise<(void | ResponseType)[]>

      Updates each Visitor instance and worldActivity.visitors map.

      const visitorsToMove = [
      {
      visitorObj: worldActivity.visitors["1"],
      shouldTeleportVisitor: true,
      x: 100,
      y: 100
      }, {
      visitorObj: worldActivity.visitors["2"],
      shouldTeleportVisitor: false,
      x: 100,
      y: 100
      }
      ];
      await worldActivity.moveVisitors(visitorsToMove);