< Summary

Class:DCL.Interface.WebInterface
Assembly:WebInterface
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WebInterface/Interface.cs
Covered lines:241
Uncovered lines:98
Coverable lines:339
Total lines:1302
Line coverage:71% (241 of 339)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
WebInterface()0%110100%
StartStatefulMode(...)0%110100%
StopStatefulMode(...)0%110100%
SceneReady(...)0%110100%
ActivateRenderingACK()0%110100%
DeactivateRenderingACK()0%110100%
OnGlobalPointerEvent()0%2100%
StoreSceneStateEvent()0%110100%
operator+(...)0%2100%
OnMetricsUpdate()0%110100%
TransformPayload()0%2100%
SystemInfoReportPayload()0%110100%
JumpInPayload()0%2100%
Property(...)0%110100%
StartDecentraland()0%2100%
CheckURLParam(...)0%2100%
MessageFromEngine(...)0%5.125083.33%
ProcessQueuedMessages()0%330100%
GetGraphicCard()0%2100%
SendMessage(...)0%110100%
SendMessage[T](...)0%2.032080%
SendSceneEvent[T](...)0%110100%
SendAllScenesEvent[T](...)0%110100%
ReportPosition(...)0%110100%
ReportCameraChanged(...)0%110100%
ReportIdleStateChanged(...)0%110100%
ReportControlEvent[T](...)0%110100%
BuilderInWorldMessage(...)0%110100%
ReportOnClickEvent(...)0%2.032080%
ReportRaycastResult[T, P](...)0%2100%
ReportRaycastHitFirstResult(...)0%2100%
ReportRaycastHitAllResult(...)0%2100%
CreateHitObject(...)0%110100%
SetPointerEventPayload(...)0%2.092071.43%
ReportGlobalPointerDownEvent(...)0%110100%
ReportGlobalPointerUpEvent(...)0%110100%
ReportOnPointerDownEvent(...)0%2.012085.71%
ReportOnPointerUpEvent(...)0%2.012085.71%
ReportOnTextSubmitEvent(...)0%3.192033.33%
ReportOnTextInputChangedEvent(...)0%3.192033.33%
ReportOnFocusEvent(...)0%2.862040%
ReportOnBlurEvent(...)0%2.862040%
ReportOnScrollChange(...)0%220100%
ReportEvent[T](...)0%2100%
ReportOnMetricsUpdate(...)0%110100%
ReportOnEnterEvent(...)0%6200%
LogOut()0%2100%
RedirectToSignUp()0%2100%
PreloadFinished(...)0%2100%
ReportMousePosition(...)0%2100%
SendScreenshot(...)0%2100%
SetDelightedSurveyEnabled(...)0%110100%
SetScenesLoadRadius(...)0%110100%
RequestOwnProfileUpdate()0%110100%
SendSaveAvatar(...)0%110100%
SendAuthentication(...)0%2100%
SendPassport(...)0%110100%
SendSaveUserUnverifiedName(...)0%2100%
SendUserAcceptedCollectibles(...)0%110100%
SaveUserTutorialStep(...)0%110100%
SendPerformanceReport(...)0%2100%
SendSystemInfoReport()0%110100%
SendTermsOfServiceResponse(...)0%110100%
SendExpression(...)0%110100%
ReportMotdClicked()0%2100%
OpenURL(...)0%110100%
SendReportScene(...)0%2100%
SendReportPlayer(...)0%110100%
SendBlockPlayer(...)0%110100%
SendUnblockPlayer(...)0%2100%
RequestScenesInfoAroundParcel(...)0%2100%
SendAudioStreamEvent(...)0%110100%
SendSetVoiceChatRecording(...)0%2100%
ToggleVoiceChatRecording()0%2100%
ApplySettings(...)0%110100%
RequestGIFProcessor(...)0%2100%
DeleteGIF(...)0%2100%
GoTo(...)0%110100%
GoToCrowd()0%2100%
GoToMagic()0%2100%
JumpIn(...)0%110100%
SendChatMessage(...)0%110100%
UpdateFriendshipStatus(...)0%110100%
ScenesLoadingFeedback(...)0%110100%
FetchHotScenes()0%110100%
SetBaseResolution(...)0%110100%
ReportAnalyticsEvent(...)0%2100%
ReportAnalyticsEvent(...)0%110100%
FetchBalanceOfMANA()0%110100%
SendSceneExternalActionEvent(...)0%110100%
SetMuteUsers(...)0%2100%
SendCloseUserAvatar(...)0%2100%
KillPortableExperience(...)0%2100%
RequestWearables(...)0%110100%
SearchENSOwner(...)0%110100%
RequestUserProfile(...)0%110100%
ReportAvatarFatalError()0%110100%
UnpublishScene(...)0%110100%
NotifyStatusThroughChat(...)0%2100%
ReportVideoProgressEvent(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WebInterface/Interface.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using DCL.Helpers;
 4using DCL.Models;
 5using UnityEngine;
 6using Ray = UnityEngine.Ray;
 7
 8#if UNITY_WEBGL && !UNITY_EDITOR
 9using System.Runtime.InteropServices;
 10#endif
 11
 12namespace DCL.Interface
 13{
 14    /**
 15     * This class contains the outgoing interface of Decentraland.
 16     * You must call those functions to interact with the WebInterface.
 17     *
 18     * The messages comming from the WebInterface instead, are reported directly to
 19     * the handler GameObject by name.
 20     */
 21    public static class WebInterface
 22    {
 123        public static bool VERBOSE = false;
 24        public static System.Action<string, string> OnMessageFromEngine;
 25
 26        [System.Serializable]
 27        private class ReportPositionPayload
 28        {
 29            /** Camera position, world space */
 30            public Vector3 position;
 31
 32            /** Camera rotation */
 33            public Quaternion rotation;
 34
 35            /** Camera height, relative to the feet of the avatar or ground */
 36            public float playerHeight;
 37
 38            public Vector3 mousePosition;
 39
 40            public string id;
 41        }
 42
 43        [System.Serializable]
 44        public abstract class ControlEvent
 45        {
 46            public string eventType;
 47        }
 48
 49        public abstract class ControlEvent<T> : ControlEvent
 50        {
 51            public T payload;
 52
 53            protected ControlEvent(string eventType, T payload)
 54            {
 55                this.eventType = eventType;
 56                this.payload = payload;
 57            }
 58        }
 59
 60        [System.Serializable]
 61        public class StartStatefulMode : ControlEvent<StartStatefulMode.Payload>
 62        {
 63            [System.Serializable]
 64            public class Payload
 65            {
 66                public string sceneId;
 67            }
 68
 1669            public StartStatefulMode(string sceneId) : base("StartStatefulMode", new Payload() { sceneId = sceneId }) { 
 70        }
 71
 72        [System.Serializable]
 73        public class StopStatefulMode : ControlEvent<StopStatefulMode.Payload>
 74        {
 75            [System.Serializable]
 76            public class Payload
 77            {
 78                public string sceneId;
 79            }
 80
 1081            public StopStatefulMode(string sceneId) : base("StopStatefulMode", new Payload() { sceneId = sceneId }) { }
 82        }
 83
 84        [System.Serializable]
 85        public class SceneReady : ControlEvent<SceneReady.Payload>
 86        {
 87            [System.Serializable]
 88            public class Payload
 89            {
 90                public string sceneId;
 91            }
 92
 135693            public SceneReady(string sceneId) : base("SceneReady", new Payload() { sceneId = sceneId }) { }
 94        }
 95
 96        [System.Serializable]
 97        public class ActivateRenderingACK : ControlEvent<object>
 98        {
 299            public ActivateRenderingACK() : base("ActivateRenderingACK", null) { }
 100        }
 101
 102        [System.Serializable]
 103        public class DeactivateRenderingACK : ControlEvent<object>
 104        {
 2105            public DeactivateRenderingACK() : base("DeactivateRenderingACK", null) { }
 106        }
 107
 108        [System.Serializable]
 109        public class SceneEvent<T>
 110        {
 111            public string sceneId;
 112            public string eventType;
 113            public T payload;
 114        }
 115
 116        [System.Serializable]
 117        public class AllScenesEvent<T>
 118        {
 119            public string eventType;
 120            public T payload;
 121        }
 122
 123        [System.Serializable]
 124        public class UUIDEvent<TPayload>
 125            where TPayload : class, new()
 126        {
 127            public string uuid;
 128            public TPayload payload = new TPayload();
 129        }
 130
 131        public enum ACTION_BUTTON
 132        {
 133            POINTER,
 134            PRIMARY,
 135            SECONDARY,
 136            ANY
 137        }
 138
 139        [System.Serializable]
 140        public class OnClickEvent : UUIDEvent<OnClickEventPayload> { };
 141
 142        [System.Serializable]
 143        public class CameraModePayload
 144        {
 145            public CameraMode.ModeId cameraMode;
 146        };
 147
 148        [System.Serializable]
 149        public class IdleStateChangedPayload
 150        {
 151            public bool isIdle;
 152        };
 153
 154        [System.Serializable]
 155        public class OnPointerDownEvent : UUIDEvent<OnPointerEventPayload> { };
 156
 157        [System.Serializable]
 158        public class OnGlobalPointerEvent
 159        {
 0160            public OnGlobalPointerEventPayload payload = new OnGlobalPointerEventPayload();
 161        };
 162
 163        [System.Serializable]
 164        public class OnPointerUpEvent : UUIDEvent<OnPointerEventPayload> { };
 165
 166        [System.Serializable]
 167        private class OnTextSubmitEvent : UUIDEvent<OnTextSubmitEventPayload> { };
 168
 169        [System.Serializable]
 170        private class OnTextInputChangeEvent : UUIDEvent<OnTextInputChangeEventPayload> { };
 171
 172        [System.Serializable]
 173        private class OnScrollChangeEvent : UUIDEvent<OnScrollChangeEventPayload> { };
 174
 175        [System.Serializable]
 176        private class OnFocusEvent : UUIDEvent<EmptyPayload> { };
 177
 178        [System.Serializable]
 179        private class OnBlurEvent : UUIDEvent<EmptyPayload> { };
 180
 181        [System.Serializable]
 182        public class OnEnterEvent : UUIDEvent<OnEnterEventPayload> { };
 183
 184        [System.Serializable]
 185        public class OnClickEventPayload
 186        {
 187            public ACTION_BUTTON buttonId = ACTION_BUTTON.POINTER;
 188        }
 189
 190        [System.Serializable]
 191        public class SendChatMessageEvent
 192        {
 193            public ChatMessage message;
 194        }
 195
 196        [System.Serializable]
 197        public class RemoveEntityComponentsPayLoad
 198        {
 199            public string entityId;
 200            public string componentId;
 201        };
 202
 203        [System.Serializable]
 204        public class StoreSceneStateEvent
 205        {
 1206            public string type = "StoreSceneState";
 1207            public string payload = "";
 208        };
 209
 210        [System.Serializable]
 211        public class OnPointerEventPayload
 212        {
 213            [System.Serializable]
 214            public class Hit
 215            {
 216                public Vector3 origin;
 217                public float length;
 218                public Vector3 hitPoint;
 219                public Vector3 normal;
 220                public Vector3 worldNormal;
 221                public string meshName;
 222                public string entityId;
 223            }
 224
 225            public ACTION_BUTTON buttonId;
 226            public Vector3 origin;
 227            public Vector3 direction;
 228            public Hit hit;
 229        }
 230
 231        [System.Serializable]
 232        public class OnGlobalPointerEventPayload : OnPointerEventPayload
 233        {
 234            public enum InputEventType
 235            {
 236                DOWN,
 237                UP
 238            }
 239
 240            public InputEventType type;
 241        }
 242
 243        [System.Serializable]
 244        public class OnTextSubmitEventPayload
 245        {
 246            public string id;
 247            public string text;
 248        }
 249
 250        [System.Serializable]
 251        public class OnTextInputChangeEventPayload
 252        {
 253            public string value;
 254        }
 255
 256        [System.Serializable]
 257        public class OnScrollChangeEventPayload
 258        {
 259            public Vector2 value;
 260            public int pointerId;
 261        }
 262
 263        [System.Serializable]
 264        public class EmptyPayload { }
 265
 266        [System.Serializable]
 267        public class MetricsModel
 268        {
 269            public int meshes;
 270            public int bodies;
 271            public int materials;
 272            public int textures;
 273            public int triangles;
 274            public int entities;
 275
 276            public static MetricsModel operator + (MetricsModel lhs, MetricsModel rhs)
 277            {
 0278                return new MetricsModel()
 279                {
 280                    meshes = lhs.meshes + rhs.meshes,
 281                    bodies = lhs.bodies + rhs.bodies,
 282                    materials = lhs.materials + rhs.materials,
 283                    textures = lhs.textures + rhs.textures,
 284                    triangles = lhs.triangles + rhs.triangles,
 285                    entities = lhs.entities + rhs.entities
 286                };
 287            }
 288        }
 289
 290        [System.Serializable]
 291        private class OnMetricsUpdate
 292        {
 1293            public MetricsModel given = new MetricsModel();
 1294            public MetricsModel limit = new MetricsModel();
 295        }
 296
 297        [System.Serializable]
 298        public class OnEnterEventPayload { }
 299
 300        [System.Serializable]
 301        public class TransformPayload
 302        {
 0303            public Vector3 position = Vector3.zero;
 0304            public Quaternion rotation = Quaternion.identity;
 0305            public Vector3 scale = Vector3.one;
 306        }
 307
 308        public class OnSendScreenshot
 309        {
 310            public string id;
 311            public string encodedTexture;
 312        };
 313
 314        [System.Serializable]
 315        public class GotoEvent
 316        {
 317            public int x;
 318            public int y;
 319        };
 320
 321        [System.Serializable]
 322        public class BaseResolution
 323        {
 324            public int baseResolution;
 325        };
 326
 327        //-----------------------------------------------------
 328        // Raycast
 329        [System.Serializable]
 330        public class RayInfo
 331        {
 332            public Vector3 origin;
 333            public Vector3 direction;
 334            public float distance;
 335        }
 336
 337        [System.Serializable]
 338        public class RaycastHitInfo
 339        {
 340            public bool didHit;
 341            public RayInfo ray;
 342
 343            public Vector3 hitPoint;
 344            public Vector3 hitNormal;
 345        }
 346
 347        [System.Serializable]
 348        public class HitEntityInfo
 349        {
 350            public string entityId;
 351            public string meshName;
 352        }
 353
 354        [System.Serializable]
 355        public class RaycastHitEntity : RaycastHitInfo
 356        {
 357            public HitEntityInfo entity;
 358        }
 359
 360        [System.Serializable]
 361        public class RaycastHitEntities : RaycastHitInfo
 362        {
 363            public RaycastHitEntity[] entities;
 364        }
 365
 366        [System.Serializable]
 367        public class RaycastResponse<T> where T : RaycastHitInfo
 368        {
 369            public string queryId;
 370            public string queryType;
 371            public T payload;
 372        }
 373
 374        // Note (Zak): We need to explicitly define this classes for the JsonUtility to
 375        // be able to serialize them
 376        [System.Serializable]
 377        public class RaycastHitFirstResponse : RaycastResponse<RaycastHitEntity> { }
 378
 379        [System.Serializable]
 380        public class RaycastHitAllResponse : RaycastResponse<RaycastHitEntities> { }
 381
 382        [System.Serializable]
 383        public class SendExpressionPayload
 384        {
 385            public string id;
 386            public long timestamp;
 387        }
 388
 389        [System.Serializable]
 390        public class UserAcceptedCollectiblesPayload
 391        {
 392            public string id;
 393        }
 394
 395        [System.Serializable]
 396        public class SendBlockPlayerPayload
 397        {
 398            public string userId;
 399        }
 400
 401        [System.Serializable]
 402        public class SendUnblockPlayerPayload
 403        {
 404            public string userId;
 405        }
 406
 407        [System.Serializable]
 408        public class TutorialStepPayload
 409        {
 410            public int tutorialStep;
 411        }
 412
 413        [System.Serializable]
 414        public class PerformanceReportPayload
 415        {
 416            public string samples;
 417            public bool fpsIsCapped;
 418            public int hiccupsInThousandFrames;
 419            public float hiccupsTime;
 420            public float totalTime;
 421        }
 422
 423        [System.Serializable]
 424        public class SystemInfoReportPayload
 425        {
 123426            public string graphicsDeviceName = SystemInfo.graphicsDeviceName;
 123427            public string graphicsDeviceVersion = SystemInfo.graphicsDeviceVersion;
 123428            public int graphicsMemorySize = SystemInfo.graphicsMemorySize;
 123429            public string processorType = SystemInfo.processorType;
 123430            public int processorCount = SystemInfo.processorCount;
 123431            public int systemMemorySize = SystemInfo.systemMemorySize;
 432        }
 433
 434        [System.Serializable]
 435        public class GenericAnalyticPayload
 436        {
 437            public string eventName;
 438            public Dictionary<object, object> data;
 439        }
 440
 441        [System.Serializable]
 442        public class PerformanceHiccupPayload
 443        {
 444            public int hiccupsInThousandFrames;
 445            public float hiccupsTime;
 446            public float totalTime;
 447        }
 448
 449        [System.Serializable]
 450        public class TermsOfServiceResponsePayload
 451        {
 452            public string sceneId;
 453            public bool dontShowAgain;
 454            public bool accepted;
 455        }
 456
 457        [System.Serializable]
 458        public class OpenURLPayload
 459        {
 460            public string url;
 461        }
 462
 463        [System.Serializable]
 464        public class GIFSetupPayload
 465        {
 466            public string imageSource;
 467            public string id;
 468            public bool isWebGL1;
 469        }
 470
 471        [System.Serializable]
 472        public class RequestScenesInfoAroundParcelPayload
 473        {
 474            public Vector2 parcel;
 475            public int scenesAround;
 476        }
 477
 478        [System.Serializable]
 479        public class AudioStreamingPayload
 480        {
 481            public string url;
 482            public bool play;
 483            public float volume;
 484        }
 485
 486        [System.Serializable]
 487        public class SetScenesLoadRadiusPayload
 488        {
 489            public float newRadius;
 490        }
 491
 492        [System.Serializable]
 493        public class SetVoiceChatRecordingPayload
 494        {
 495            public bool recording;
 496        }
 497
 498        [System.Serializable]
 499        public class ApplySettingsPayload
 500        {
 501            public float voiceChatVolume;
 502            public int voiceChatAllowCategory;
 503        }
 504
 505        [System.Serializable]
 506        public class JumpInPayload
 507        {
 0508            public FriendsController.UserStatus.Realm realm = new FriendsController.UserStatus.Realm();
 509            public Vector2 gridPosition;
 510        }
 511
 512        [System.Serializable]
 513        public class LoadingFeedbackMessage
 514        {
 515            public string message;
 516            public int loadPercentage;
 517        }
 518
 519        [System.Serializable]
 520        public class AnalyticsPayload
 521        {
 522            [System.Serializable]
 523            public class Property
 524            {
 525                public string key;
 526                public string value;
 527
 207528                public Property(string key, string value)
 529                {
 207530                    this.key = key;
 207531                    this.value = value;
 207532                }
 533            }
 534
 535            public string name;
 536            public Property[] properties;
 537        }
 538
 539        [System.Serializable]
 540        public class DelightedSurveyEnabledPayload
 541        {
 542            public bool enabled;
 543        }
 544
 545        [System.Serializable]
 546        public class ExternalActionSceneEventPayload
 547        {
 548            public string type;
 549            public string payload;
 550        }
 551
 552        [System.Serializable]
 553        public class MuteUserPayload
 554        {
 555            public string[] usersId;
 556            public bool mute;
 557        }
 558
 559        [System.Serializable]
 560        public class CloseUserAvatarPayload
 561        {
 562            public bool isSignUpFlow;
 563        }
 564
 565        [System.Serializable]
 566        public class StringPayload
 567        {
 568            public string value;
 569        }
 570
 571        [System.Serializable]
 572        public class KillPortableExperiencePayload
 573        {
 574            public string portableExperienceId;
 575        }
 576
 577        [System.Serializable]
 578        public class WearablesRequestFiltersPayload
 579        {
 580            public string ownedByUser;
 581            public string[] wearableIds;
 582            public string[] collectionIds;
 583        }
 584
 585        [System.Serializable]
 586        public class RequestWearablesPayload
 587        {
 588            public WearablesRequestFiltersPayload filters;
 589            public string context;
 590        }
 591
 592        [System.Serializable]
 593        public class SearchENSOwnerPayload
 594        {
 595            public string name;
 596            public int maxResults;
 597        }
 598
 599        [System.Serializable]
 600        public class UnpublishScenePayload
 601        {
 602            public string coordinates;
 603        }
 604
 605#if UNITY_WEBGL && !UNITY_EDITOR
 606    /**
 607     * This method is called after the first render. It marks the loading of the
 608     * rest of the JS client.
 609     */
 610    [DllImport("__Internal")] public static extern void StartDecentraland();
 611    [DllImport("__Internal")] public static extern void MessageFromEngine(string type, string message);
 612    [DllImport("__Internal")] public static extern string GetGraphicCard();
 613    [DllImport("__Internal")] public static extern bool CheckURLParam(string targetParam);
 614#else
 1615        private static bool hasQueuedMessages = false;
 1616        private static List<(string, string)> queuedMessages = new List<(string, string)>();
 0617        public static void StartDecentraland() { }
 0618        public static bool CheckURLParam(string targetParam) { return false; }
 619        public static void MessageFromEngine(string type, string message)
 620        {
 5796621            if (OnMessageFromEngine != null)
 622            {
 2927623                if (hasQueuedMessages)
 624                {
 31625                    ProcessQueuedMessages();
 626                }
 2927627                OnMessageFromEngine.Invoke(type, message);
 2927628                if (VERBOSE)
 629                {
 0630                    Debug.Log("MessageFromEngine called with: " + type + ", " + message);
 631                }
 0632            }
 633            else
 634            {
 2869635                lock (queuedMessages)
 636                {
 2869637                    queuedMessages.Add((type, message));
 2869638                }
 2869639                hasQueuedMessages = true;
 640            }
 5796641        }
 642
 643        private static void ProcessQueuedMessages()
 644        {
 31645            hasQueuedMessages = false;
 31646            lock (queuedMessages)
 647            {
 5796648                foreach ((string type, string payload) in queuedMessages)
 649                {
 2867650                    MessageFromEngine(type, payload);
 651                }
 31652                queuedMessages.Clear();
 31653            }
 31654        }
 655
 0656        public static string GetGraphicCard() => "In Editor Graphic Card";
 657#endif
 658
 659        public static void SendMessage(string type)
 660        {
 661            // sending an empty JSON object to be compatible with other messages
 40662            MessageFromEngine(type, "{}");
 40663        }
 664
 665        public static void SendMessage<T>(string type, T message)
 666        {
 2884667            string messageJson = JsonUtility.ToJson(message);
 668
 2884669            if (VERBOSE)
 670            {
 0671                Debug.Log($"Sending message: " + messageJson);
 672            }
 673
 2884674            MessageFromEngine(type, messageJson);
 2884675        }
 676
 1677        private static ReportPositionPayload positionPayload = new ReportPositionPayload();
 1678        private static CameraModePayload cameraModePayload = new CameraModePayload();
 1679        private static IdleStateChangedPayload idleStateChangedPayload = new IdleStateChangedPayload();
 1680        private static OnMetricsUpdate onMetricsUpdate = new OnMetricsUpdate();
 1681        private static OnClickEvent onClickEvent = new OnClickEvent();
 1682        private static OnPointerDownEvent onPointerDownEvent = new OnPointerDownEvent();
 1683        private static OnPointerUpEvent onPointerUpEvent = new OnPointerUpEvent();
 1684        private static OnTextSubmitEvent onTextSubmitEvent = new OnTextSubmitEvent();
 1685        private static OnTextInputChangeEvent onTextInputChangeEvent = new OnTextInputChangeEvent();
 1686        private static OnScrollChangeEvent onScrollChangeEvent = new OnScrollChangeEvent();
 1687        private static OnFocusEvent onFocusEvent = new OnFocusEvent();
 1688        private static OnBlurEvent onBlurEvent = new OnBlurEvent();
 1689        private static OnEnterEvent onEnterEvent = new OnEnterEvent();
 1690        private static OnSendScreenshot onSendScreenshot = new OnSendScreenshot();
 1691        private static OnPointerEventPayload onPointerEventPayload = new OnPointerEventPayload();
 1692        private static OnGlobalPointerEventPayload onGlobalPointerEventPayload = new OnGlobalPointerEventPayload();
 1693        private static OnGlobalPointerEvent onGlobalPointerEvent = new OnGlobalPointerEvent();
 1694        private static AudioStreamingPayload onAudioStreamingEvent = new AudioStreamingPayload();
 1695        private static SetVoiceChatRecordingPayload setVoiceChatRecordingPayload = new SetVoiceChatRecordingPayload();
 1696        private static SetScenesLoadRadiusPayload setScenesLoadRadiusPayload = new SetScenesLoadRadiusPayload();
 1697        private static ApplySettingsPayload applySettingsPayload = new ApplySettingsPayload();
 1698        private static GIFSetupPayload gifSetupPayload = new GIFSetupPayload();
 1699        private static JumpInPayload jumpInPayload = new JumpInPayload();
 1700        private static GotoEvent gotoEvent = new GotoEvent();
 1701        private static SendChatMessageEvent sendChatMessageEvent = new SendChatMessageEvent();
 1702        private static BaseResolution baseResEvent = new BaseResolution();
 1703        private static AnalyticsPayload analyticsEvent = new AnalyticsPayload();
 1704        private static DelightedSurveyEnabledPayload delightedSurveyEnabled = new DelightedSurveyEnabledPayload();
 1705        private static ExternalActionSceneEventPayload sceneExternalActionEvent = new ExternalActionSceneEventPayload();
 1706        private static MuteUserPayload muteUserEvent = new MuteUserPayload();
 1707        private static StoreSceneStateEvent storeSceneState = new StoreSceneStateEvent();
 1708        private static CloseUserAvatarPayload closeUserAvatarPayload = new CloseUserAvatarPayload();
 1709        private static StringPayload stringPayload = new StringPayload();
 1710        private static KillPortableExperiencePayload killPortableExperiencePayload = new KillPortableExperiencePayload()
 1711        private static RequestWearablesPayload requestWearablesPayload = new RequestWearablesPayload();
 1712        private static SearchENSOwnerPayload searchEnsOwnerPayload = new SearchENSOwnerPayload();
 713
 714        public static void SendSceneEvent<T>(string sceneId, string eventType, T payload)
 715        {
 355716            SceneEvent<T> sceneEvent = new SceneEvent<T>();
 355717            sceneEvent.sceneId = sceneId;
 355718            sceneEvent.eventType = eventType;
 355719            sceneEvent.payload = payload;
 720
 355721            SendMessage("SceneEvent", sceneEvent);
 355722        }
 723
 724        private static void SendAllScenesEvent<T>(string eventType, T payload)
 725        {
 736726            AllScenesEvent<T> allScenesEvent = new AllScenesEvent<T>();
 736727            allScenesEvent.eventType = eventType;
 736728            allScenesEvent.payload = payload;
 729
 736730            SendMessage("AllScenesEvent", allScenesEvent);
 736731        }
 732
 733        public static void ReportPosition(Vector3 position, Quaternion rotation, float playerHeight)
 734        {
 577735            positionPayload.position = position;
 577736            positionPayload.rotation = rotation;
 577737            positionPayload.playerHeight = playerHeight;
 738
 577739            SendMessage("ReportPosition", positionPayload);
 577740        }
 741
 742        public static void ReportCameraChanged(CameraMode.ModeId cameraMode)
 743        {
 206744            cameraModePayload.cameraMode = cameraMode;
 206745            SendAllScenesEvent("cameraModeChanged", cameraModePayload);
 206746        }
 747
 748        public static void ReportIdleStateChanged(bool isIdle)
 749        {
 530750            idleStateChangedPayload.isIdle = isIdle;
 530751            SendAllScenesEvent("idleStateChanged", idleStateChangedPayload);
 530752        }
 753
 1386754        public static void ReportControlEvent<T>(T controlEvent) where T : ControlEvent { SendMessage("ControlEvent", co
 755
 10756        public static void BuilderInWorldMessage(string type, string message) { MessageFromEngine(type, message); }
 757
 758        public static void ReportOnClickEvent(string sceneId, string uuid)
 759        {
 7760            if (string.IsNullOrEmpty(uuid))
 761            {
 0762                return;
 763            }
 764
 7765            onClickEvent.uuid = uuid;
 766
 7767            SendSceneEvent(sceneId, "uuidEvent", onClickEvent);
 7768        }
 769
 770        private static void ReportRaycastResult<T, P>(string sceneId, string queryId, string queryType, P payload) where
 771        {
 0772            T response = new T();
 0773            response.queryId = queryId;
 0774            response.queryType = queryType;
 0775            response.payload = payload;
 776
 0777            SendSceneEvent<T>(sceneId, "raycastResponse", response);
 0778        }
 779
 0780        public static void ReportRaycastHitFirstResult(string sceneId, string queryId, RaycastType raycastType, RaycastH
 781
 0782        public static void ReportRaycastHitAllResult(string sceneId, string queryId, RaycastType raycastType, RaycastHit
 783
 784        private static OnPointerEventPayload.Hit CreateHitObject(string entityId, string meshName, Vector3 point, Vector
 785        {
 20786            OnPointerEventPayload.Hit hit = new OnPointerEventPayload.Hit();
 787
 20788            hit.hitPoint = point;
 20789            hit.length = distance;
 20790            hit.normal = normal;
 20791            hit.worldNormal = normal;
 20792            hit.meshName = meshName;
 20793            hit.entityId = entityId;
 794
 20795            return hit;
 796        }
 797
 798        private static void SetPointerEventPayload(OnPointerEventPayload pointerEventPayload, ACTION_BUTTON buttonId, st
 799        {
 20800            pointerEventPayload.origin = ray.origin;
 20801            pointerEventPayload.direction = ray.direction;
 20802            pointerEventPayload.buttonId = buttonId;
 803
 20804            if (isHitInfoValid)
 20805                pointerEventPayload.hit = CreateHitObject(entityId, meshName, point, normal, distance);
 806            else
 0807                pointerEventPayload.hit = null;
 0808        }
 809
 810        public static void ReportGlobalPointerDownEvent(ACTION_BUTTON buttonId, Ray ray, Vector3 point, Vector3 normal, 
 811        {
 11812            SetPointerEventPayload((OnPointerEventPayload) onGlobalPointerEventPayload, buttonId, entityId, meshName, ra
 11813            onGlobalPointerEventPayload.type = OnGlobalPointerEventPayload.InputEventType.DOWN;
 814
 11815            onGlobalPointerEvent.payload = onGlobalPointerEventPayload;
 816
 11817            SendSceneEvent(sceneId, "pointerEvent", onGlobalPointerEvent);
 11818        }
 819
 820        public static void ReportGlobalPointerUpEvent(ACTION_BUTTON buttonId, Ray ray, Vector3 point, Vector3 normal, fl
 821        {
 3822            SetPointerEventPayload((OnPointerEventPayload) onGlobalPointerEventPayload, buttonId, entityId, meshName, ra
 3823            onGlobalPointerEventPayload.type = OnGlobalPointerEventPayload.InputEventType.UP;
 824
 3825            onGlobalPointerEvent.payload = onGlobalPointerEventPayload;
 826
 3827            SendSceneEvent(sceneId, "pointerEvent", onGlobalPointerEvent);
 3828        }
 829
 830        public static void ReportOnPointerDownEvent(ACTION_BUTTON buttonId, string sceneId, string uuid, string entityId
 831        {
 4832            if (string.IsNullOrEmpty(uuid))
 833            {
 0834                return;
 835            }
 836
 4837            onPointerDownEvent.uuid = uuid;
 4838            SetPointerEventPayload(onPointerEventPayload, buttonId, entityId, meshName, ray, point, normal, distance, is
 4839            onPointerDownEvent.payload = onPointerEventPayload;
 840
 4841            SendSceneEvent(sceneId, "uuidEvent", onPointerDownEvent);
 4842        }
 843
 844        public static void ReportOnPointerUpEvent(ACTION_BUTTON buttonId, string sceneId, string uuid, string entityId, 
 845        {
 2846            if (string.IsNullOrEmpty(uuid))
 847            {
 0848                return;
 849            }
 850
 2851            onPointerUpEvent.uuid = uuid;
 2852            SetPointerEventPayload(onPointerEventPayload, buttonId, entityId, meshName, ray, point, normal, distance, is
 2853            onPointerUpEvent.payload = onPointerEventPayload;
 854
 2855            SendSceneEvent(sceneId, "uuidEvent", onPointerUpEvent);
 2856        }
 857
 858        public static void ReportOnTextSubmitEvent(string sceneId, string uuid, string text)
 859        {
 1860            if (string.IsNullOrEmpty(uuid))
 861            {
 1862                return;
 863            }
 864
 0865            onTextSubmitEvent.uuid = uuid;
 0866            onTextSubmitEvent.payload.text = text;
 867
 0868            SendSceneEvent(sceneId, "uuidEvent", onTextSubmitEvent);
 0869        }
 870
 871        public static void ReportOnTextInputChangedEvent(string sceneId, string uuid, string text)
 872        {
 17873            if (string.IsNullOrEmpty(uuid))
 874            {
 17875                return;
 876            }
 877
 0878            onTextInputChangeEvent.uuid = uuid;
 0879            onTextInputChangeEvent.payload.value = text;
 880
 0881            SendSceneEvent(sceneId, "uuidEvent", onTextInputChangeEvent);
 0882        }
 883
 884        public static void ReportOnFocusEvent(string sceneId, string uuid)
 885        {
 3886            if (string.IsNullOrEmpty(uuid))
 887            {
 3888                return;
 889            }
 890
 0891            onFocusEvent.uuid = uuid;
 0892            SendSceneEvent(sceneId, "uuidEvent", onFocusEvent);
 0893        }
 894
 895        public static void ReportOnBlurEvent(string sceneId, string uuid)
 896        {
 1897            if (string.IsNullOrEmpty(uuid))
 898            {
 1899                return;
 900            }
 901
 0902            onBlurEvent.uuid = uuid;
 0903            SendSceneEvent(sceneId, "uuidEvent", onBlurEvent);
 0904        }
 905
 906        public static void ReportOnScrollChange(string sceneId, string uuid, Vector2 value, int pointerId)
 907        {
 15908            if (string.IsNullOrEmpty(uuid))
 909            {
 13910                return;
 911            }
 912
 2913            onScrollChangeEvent.uuid = uuid;
 2914            onScrollChangeEvent.payload.value = value;
 2915            onScrollChangeEvent.payload.pointerId = pointerId;
 916
 2917            SendSceneEvent(sceneId, "uuidEvent", onScrollChangeEvent);
 2918        }
 919
 0920        public static void ReportEvent<T>(string sceneId, T @event) { SendSceneEvent(sceneId, "uuidEvent", @event); }
 921
 922        public static void ReportOnMetricsUpdate(string sceneId, MetricsModel current,
 923            MetricsModel limit)
 924        {
 122925            onMetricsUpdate.given = current;
 122926            onMetricsUpdate.limit = limit;
 927
 122928            SendSceneEvent(sceneId, "metricsUpdate", onMetricsUpdate);
 122929        }
 930
 931        public static void ReportOnEnterEvent(string sceneId, string uuid)
 932        {
 0933            if (string.IsNullOrEmpty(uuid))
 0934                return;
 935
 0936            onEnterEvent.uuid = uuid;
 937
 0938            SendSceneEvent(sceneId, "uuidEvent", onEnterEvent);
 0939        }
 940
 0941        public static void LogOut() { SendMessage("LogOut"); }
 942
 0943        public static void RedirectToSignUp() { SendMessage("RedirectToSignUp"); }
 944
 0945        public static void PreloadFinished(string sceneId) { SendMessage("PreloadFinished", sceneId); }
 946
 947        public static void ReportMousePosition(Vector3 mousePosition, string id)
 948        {
 0949            positionPayload.mousePosition = mousePosition;
 0950            positionPayload.id = id;
 0951            SendMessage("ReportMousePosition", positionPayload);
 0952        }
 953
 954        public static void SendScreenshot(string encodedTexture, string id)
 955        {
 0956            onSendScreenshot.encodedTexture = encodedTexture;
 0957            onSendScreenshot.id = id;
 0958            SendMessage("SendScreenshot", onSendScreenshot);
 0959        }
 960
 961        public static void SetDelightedSurveyEnabled(bool enabled)
 962        {
 196963            delightedSurveyEnabled.enabled = enabled;
 196964            SendMessage("SetDelightedSurveyEnabled", delightedSurveyEnabled);
 196965        }
 966
 967        public static void SetScenesLoadRadius(float newRadius)
 968        {
 1969            setScenesLoadRadiusPayload.newRadius = newRadius;
 1970            SendMessage("SetScenesLoadRadius", setScenesLoadRadiusPayload);
 1971        }
 972
 973        [System.Serializable]
 974        public class SaveAvatarPayload
 975        {
 976            public string face;
 977            public string face128;
 978            public string face256;
 979            public string body;
 980            public bool isSignUpFlow;
 981            public AvatarModel avatar;
 982        }
 983
 984        public static class RendererAuthenticationType
 985        {
 0986            public static string Guest => "guest";
 0987            public static string WalletConnect => "wallet_connect";
 988        }
 989
 990        [System.Serializable]
 991        public class SendAuthenticationPayload
 992        {
 993            public string rendererAuthenticationType;
 994        }
 995
 996        [System.Serializable]
 997        public class SendPassportPayload
 998        {
 999            public string name;
 1000            public string email;
 1001        }
 1002
 1003        [System.Serializable]
 1004        public class SendSaveUserUnverifiedNamePayload
 1005        {
 1006            public string newUnverifiedName;
 1007        }
 1008
 1009        [Serializable]
 1010        public class SendVideoProgressEvent
 1011        {
 1012            public string componentId;
 1013            public string sceneId;
 1014            public string videoTextureId;
 1015            public int status;
 1016            public float currentOffset;
 1017            public float videoLength;
 1018        }
 1019
 21020        public static void RequestOwnProfileUpdate() { SendMessage("RequestOwnProfileUpdate"); }
 1021
 1022        public static void SendSaveAvatar(AvatarModel avatar, Texture2D faceSnapshot, Texture2D face128Snapshot, Texture
 1023        {
 11024            var payload = new SaveAvatarPayload()
 1025            {
 1026                avatar = avatar,
 1027                face = System.Convert.ToBase64String(faceSnapshot.EncodeToPNG()),
 1028                face128 = System.Convert.ToBase64String(face128Snapshot.EncodeToPNG()),
 1029                face256 = System.Convert.ToBase64String(face256Snapshot.EncodeToPNG()),
 1030                body = System.Convert.ToBase64String(bodySnapshot.EncodeToPNG()),
 1031                isSignUpFlow = isSignUpFlow
 1032            };
 11033            SendMessage("SaveUserAvatar", payload);
 11034        }
 1035
 01036        public static void SendAuthentication(string rendererAuthenticationType) { SendMessage("SendAuthentication", new
 1037
 21038        public static void SendPassport(string name, string email) { SendMessage("SendPassport", new SendPassportPayload
 1039
 1040        public static void SendSaveUserUnverifiedName(string newName)
 1041        {
 01042            var payload = new SendSaveUserUnverifiedNamePayload()
 1043            {
 1044                newUnverifiedName = newName
 1045            };
 1046
 01047            SendMessage("SaveUserUnverifiedName", payload);
 01048        }
 1049
 21050        public static void SendUserAcceptedCollectibles(string airdropId) { SendMessage("UserAcceptedCollectibles", new 
 1051
 521052        public static void SaveUserTutorialStep(int newTutorialStep) { SendMessage("SaveUserTutorialStep", new TutorialS
 1053
 1054        public static void SendPerformanceReport(string encodedFrameTimesInMS, bool usingFPSCap, int hiccupsInThousandFr
 1055        {
 01056            SendMessage("PerformanceReport", new PerformanceReportPayload()
 1057            {
 1058                samples = encodedFrameTimesInMS,
 1059                fpsIsCapped = usingFPSCap,
 1060                hiccupsInThousandFrames = hiccupsInThousandFrames,
 1061                hiccupsTime = hiccupsTime,
 1062                totalTime = totalTime
 1063            });
 01064        }
 1065
 2461066        public static void SendSystemInfoReport() { SendMessage("SystemInfoReport", new SystemInfoReportPayload()); }
 1067
 1068        public static void SendTermsOfServiceResponse(string sceneId, bool accepted, bool dontShowAgain)
 1069        {
 21070            var payload = new TermsOfServiceResponsePayload()
 1071            {
 1072                sceneId = sceneId,
 1073                accepted = accepted,
 1074                dontShowAgain = dontShowAgain
 1075            };
 21076            SendMessage("TermsOfServiceResponse", payload);
 21077        }
 1078
 1079        public static void SendExpression(string expressionID, long timestamp)
 1080        {
 21081            SendMessage("TriggerExpression", new SendExpressionPayload()
 1082            {
 1083                id = expressionID,
 1084                timestamp = timestamp
 1085            });
 21086        }
 1087
 01088        public static void ReportMotdClicked() { SendMessage("MotdConfirmClicked"); }
 1089
 61090        public static void OpenURL(string url) { SendMessage("OpenWebURL", new OpenURLPayload { url = url }); }
 1091
 01092        public static void SendReportScene(string sceneID) { SendMessage("ReportScene", sceneID); }
 1093
 41094        public static void SendReportPlayer(string playerName) { SendMessage("ReportPlayer", playerName); }
 1095
 1096        public static void SendBlockPlayer(string userId)
 1097        {
 11098            SendMessage("BlockPlayer", new SendBlockPlayerPayload()
 1099            {
 1100                userId = userId
 1101            });
 11102        }
 1103
 1104        public static void SendUnblockPlayer(string userId)
 1105        {
 01106            SendMessage("UnblockPlayer", new SendUnblockPlayerPayload()
 1107            {
 1108                userId = userId
 1109            });
 01110        }
 1111
 1112        public static void RequestScenesInfoAroundParcel(Vector2 parcel, int maxScenesArea)
 1113        {
 01114            SendMessage("RequestScenesInfoInArea", new RequestScenesInfoAroundParcelPayload()
 1115            {
 1116                parcel = parcel,
 1117                scenesAround = maxScenesArea
 1118            });
 01119        }
 1120
 1121        public static void SendAudioStreamEvent(string url, bool play, float volume)
 1122        {
 31123            onAudioStreamingEvent.url = url;
 31124            onAudioStreamingEvent.play = play;
 31125            onAudioStreamingEvent.volume = volume;
 31126            SendMessage("SetAudioStream", onAudioStreamingEvent);
 31127        }
 1128
 1129        public static void SendSetVoiceChatRecording(bool recording)
 1130        {
 01131            setVoiceChatRecordingPayload.recording = recording;
 01132            SendMessage("SetVoiceChatRecording", setVoiceChatRecordingPayload);
 01133        }
 1134
 01135        public static void ToggleVoiceChatRecording() { SendMessage("ToggleVoiceChatRecording"); }
 1136
 1137        public static void ApplySettings(float voiceChatVolume, int voiceChatAllowCategory)
 1138        {
 61139            applySettingsPayload.voiceChatVolume = voiceChatVolume;
 61140            applySettingsPayload.voiceChatAllowCategory = voiceChatAllowCategory;
 61141            SendMessage("ApplySettings", applySettingsPayload);
 61142        }
 1143
 1144        public static void RequestGIFProcessor(string gifURL, string gifId, bool isWebGL1)
 1145        {
 01146            gifSetupPayload.imageSource = gifURL;
 01147            gifSetupPayload.id = gifId;
 01148            gifSetupPayload.isWebGL1 = isWebGL1;
 1149
 01150            SendMessage("RequestGIFProcessor", gifSetupPayload);
 01151        }
 1152
 1153        public static void DeleteGIF(string id)
 1154        {
 01155            stringPayload.value = id;
 01156            SendMessage("DeleteGIF", stringPayload);
 01157        }
 1158
 1159        public static void GoTo(int x, int y)
 1160        {
 21161            gotoEvent.x = x;
 21162            gotoEvent.y = y;
 21163            SendMessage("GoTo", gotoEvent);
 21164        }
 1165
 01166        public static void GoToCrowd() { SendMessage("GoToCrowd"); }
 1167
 01168        public static void GoToMagic() { SendMessage("GoToMagic"); }
 1169
 1170        public static void JumpIn(int x, int y, string serverName, string layerName)
 1171        {
 11172            jumpInPayload.realm.serverName = serverName;
 11173            jumpInPayload.realm.layer = layerName;
 1174
 11175            jumpInPayload.gridPosition.x = x;
 11176            jumpInPayload.gridPosition.y = y;
 1177
 11178            SendMessage("JumpIn", jumpInPayload);
 11179        }
 1180
 1181        public static void SendChatMessage(ChatMessage message)
 1182        {
 51183            sendChatMessageEvent.message = message;
 51184            SendMessage("SendChatMessage", sendChatMessageEvent);
 51185        }
 1186
 81187        public static void UpdateFriendshipStatus(FriendsController.FriendshipUpdateStatusMessage message) { SendMessage
 1188
 781189        public static void ScenesLoadingFeedback(LoadingFeedbackMessage message) { SendMessage("ScenesLoadingFeedback", 
 1190
 61191        public static void FetchHotScenes() { SendMessage("FetchHotScenes"); }
 1192
 1193        public static void SetBaseResolution(int resolution)
 1194        {
 21195            baseResEvent.baseResolution = resolution;
 21196            SendMessage("SetBaseResolution", baseResEvent);
 21197        }
 1198
 01199        public static void ReportAnalyticsEvent(string eventName) { ReportAnalyticsEvent(eventName, null); }
 1200
 1201        public static void ReportAnalyticsEvent(string eventName, AnalyticsPayload.Property[] eventProperties)
 1202        {
 591203            analyticsEvent.name = eventName;
 591204            analyticsEvent.properties = eventProperties;
 591205            SendMessage("Track", analyticsEvent);
 591206        }
 1207
 41208        public static void FetchBalanceOfMANA() { SendMessage("FetchBalanceOfMANA"); }
 1209
 1210        public static void SendSceneExternalActionEvent(string sceneId, string type, string payload)
 1211        {
 1961212            sceneExternalActionEvent.type = type;
 1961213            sceneExternalActionEvent.payload = payload;
 1961214            SendSceneEvent(sceneId, "externalAction", sceneExternalActionEvent);
 1961215        }
 1216
 1217        public static void SetMuteUsers(string[] usersId, bool mute)
 1218        {
 01219            muteUserEvent.usersId = usersId;
 01220            muteUserEvent.mute = mute;
 01221            SendMessage("SetMuteUsers", muteUserEvent);
 01222        }
 1223
 1224        public static void SendCloseUserAvatar(bool isSignUpFlow)
 1225        {
 01226            closeUserAvatarPayload.isSignUpFlow = isSignUpFlow;
 01227            SendMessage("CloseUserAvatar", closeUserAvatarPayload);
 01228        }
 1229
 1230        public static void KillPortableExperience(string portableExperienceId)
 1231        {
 01232            killPortableExperiencePayload.portableExperienceId = portableExperienceId;
 01233            SendMessage("KillPortableExperience", killPortableExperiencePayload);
 01234        }
 1235
 1236        public static void RequestWearables(
 1237            string ownedByUser,
 1238            string[] wearableIds,
 1239            string[] collectionIds,
 1240            string context)
 1241        {
 21242            requestWearablesPayload.filters = new WearablesRequestFiltersPayload
 1243            {
 1244                ownedByUser = ownedByUser,
 1245                wearableIds = wearableIds,
 1246                collectionIds = collectionIds
 1247            };
 1248
 21249            requestWearablesPayload.context = context;
 1250
 21251            SendMessage("RequestWearables", requestWearablesPayload);
 21252        }
 1253
 1254        public static void SearchENSOwner(string name, int maxResults)
 1255        {
 61256            searchEnsOwnerPayload.name = name;
 61257            searchEnsOwnerPayload.maxResults = maxResults;
 1258
 61259            SendMessage("SearchENSOwner", searchEnsOwnerPayload);
 61260        }
 1261
 1262        public static void RequestUserProfile(string userId)
 1263        {
 161264            stringPayload.value = userId;
 161265            SendMessage("RequestUserProfile", stringPayload);
 161266        }
 1267
 121268        public static void ReportAvatarFatalError() { SendMessage("ReportAvatarFatalError"); }
 1269
 1270        public static void UnpublishScene(Vector2Int sceneCoordinates)
 1271        {
 21272            var payload = new UnpublishScenePayload() { coordinates = $"{sceneCoordinates.x},{sceneCoordinates.y}" };
 21273            SendMessage("UnpublishScene", payload);
 21274        }
 1275
 1276        public static void NotifyStatusThroughChat(string message)
 1277        {
 01278            stringPayload.value = message;
 01279            SendMessage("NotifyStatusThroughChat", stringPayload);
 01280        }
 1281        public static void ReportVideoProgressEvent(
 1282            string componentId,
 1283            string sceneId,
 1284            string videoClipId,
 1285            int videoStatus,
 1286            float currentOffset,
 1287            float length)
 1288        {
 161289            SendVideoProgressEvent progressEvent = new SendVideoProgressEvent()
 1290            {
 1291                componentId = componentId,
 1292                sceneId = sceneId,
 1293                videoTextureId = videoClipId,
 1294                status = videoStatus,
 1295                currentOffset =  currentOffset,
 1296                videoLength = length
 1297            };
 1298
 161299            SendMessage("VideoProgressEvent", progressEvent);
 161300        }
 1301    }
 1302}

Methods/Properties

WebInterface()
StartStatefulMode(System.String)
StopStatefulMode(System.String)
SceneReady(System.String)
ActivateRenderingACK()
DeactivateRenderingACK()
OnGlobalPointerEvent()
StoreSceneStateEvent()
operator+(DCL.Interface.WebInterface/MetricsModel, DCL.Interface.WebInterface/MetricsModel)
OnMetricsUpdate()
TransformPayload()
SystemInfoReportPayload()
JumpInPayload()
Property(System.String, System.String)
StartDecentraland()
CheckURLParam(System.String)
MessageFromEngine(System.String, System.String)
ProcessQueuedMessages()
GetGraphicCard()
SendMessage(System.String)
SendMessage[T](System.String, T)
SendSceneEvent[T](System.String, System.String, T)
SendAllScenesEvent[T](System.String, T)
ReportPosition(UnityEngine.Vector3, UnityEngine.Quaternion, System.Single)
ReportCameraChanged(CameraMode/ModeId)
ReportIdleStateChanged(System.Boolean)
ReportControlEvent[T](T)
BuilderInWorldMessage(System.String, System.String)
ReportOnClickEvent(System.String, System.String)
ReportRaycastResult[T, P](System.String, System.String, System.String, P)
ReportRaycastHitFirstResult(System.String, System.String, DCL.Models.RaycastType, DCL.Interface.WebInterface/RaycastHitEntity)
ReportRaycastHitAllResult(System.String, System.String, DCL.Models.RaycastType, DCL.Interface.WebInterface/RaycastHitEntities)
CreateHitObject(System.String, System.String, UnityEngine.Vector3, UnityEngine.Vector3, System.Single)
SetPointerEventPayload(DCL.Interface.WebInterface/OnPointerEventPayload, DCL.Interface.WebInterface/ACTION_BUTTON, System.String, System.String, UnityEngine.Ray, UnityEngine.Vector3, UnityEngine.Vector3, System.Single, System.Boolean)
ReportGlobalPointerDownEvent(DCL.Interface.WebInterface/ACTION_BUTTON, UnityEngine.Ray, UnityEngine.Vector3, UnityEngine.Vector3, System.Single, System.String, System.String, System.String, System.Boolean)
ReportGlobalPointerUpEvent(DCL.Interface.WebInterface/ACTION_BUTTON, UnityEngine.Ray, UnityEngine.Vector3, UnityEngine.Vector3, System.Single, System.String, System.String, System.String, System.Boolean)
ReportOnPointerDownEvent(DCL.Interface.WebInterface/ACTION_BUTTON, System.String, System.String, System.String, System.String, UnityEngine.Ray, UnityEngine.Vector3, UnityEngine.Vector3, System.Single)
ReportOnPointerUpEvent(DCL.Interface.WebInterface/ACTION_BUTTON, System.String, System.String, System.String, System.String, UnityEngine.Ray, UnityEngine.Vector3, UnityEngine.Vector3, System.Single)
ReportOnTextSubmitEvent(System.String, System.String, System.String)
ReportOnTextInputChangedEvent(System.String, System.String, System.String)
ReportOnFocusEvent(System.String, System.String)
ReportOnBlurEvent(System.String, System.String)
ReportOnScrollChange(System.String, System.String, UnityEngine.Vector2, System.Int32)
ReportEvent[T](System.String, T)
ReportOnMetricsUpdate(System.String, DCL.Interface.WebInterface/MetricsModel, DCL.Interface.WebInterface/MetricsModel)
ReportOnEnterEvent(System.String, System.String)
LogOut()
RedirectToSignUp()
PreloadFinished(System.String)
ReportMousePosition(UnityEngine.Vector3, System.String)
SendScreenshot(System.String, System.String)
SetDelightedSurveyEnabled(System.Boolean)
SetScenesLoadRadius(System.Single)
Guest()
WalletConnect()
RequestOwnProfileUpdate()
SendSaveAvatar(AvatarModel, UnityEngine.Texture2D, UnityEngine.Texture2D, UnityEngine.Texture2D, UnityEngine.Texture2D, System.Boolean)
SendAuthentication(System.String)
SendPassport(System.String, System.String)
SendSaveUserUnverifiedName(System.String)
SendUserAcceptedCollectibles(System.String)
SaveUserTutorialStep(System.Int32)
SendPerformanceReport(System.String, System.Boolean, System.Int32, System.Single, System.Single)
SendSystemInfoReport()
SendTermsOfServiceResponse(System.String, System.Boolean, System.Boolean)
SendExpression(System.String, System.Int64)
ReportMotdClicked()
OpenURL(System.String)
SendReportScene(System.String)
SendReportPlayer(System.String)
SendBlockPlayer(System.String)
SendUnblockPlayer(System.String)
RequestScenesInfoAroundParcel(UnityEngine.Vector2, System.Int32)
SendAudioStreamEvent(System.String, System.Boolean, System.Single)
SendSetVoiceChatRecording(System.Boolean)
ToggleVoiceChatRecording()
ApplySettings(System.Single, System.Int32)
RequestGIFProcessor(System.String, System.String, System.Boolean)
DeleteGIF(System.String)
GoTo(System.Int32, System.Int32)
GoToCrowd()
GoToMagic()
JumpIn(System.Int32, System.Int32, System.String, System.String)
SendChatMessage(DCL.Interface.ChatMessage)
UpdateFriendshipStatus(FriendsController/FriendshipUpdateStatusMessage)
ScenesLoadingFeedback(DCL.Interface.WebInterface/LoadingFeedbackMessage)
FetchHotScenes()
SetBaseResolution(System.Int32)
ReportAnalyticsEvent(System.String)
ReportAnalyticsEvent(System.String, DCL.Interface.WebInterface/AnalyticsPayload/Property[])
FetchBalanceOfMANA()
SendSceneExternalActionEvent(System.String, System.String, System.String)
SetMuteUsers(System.String[], System.Boolean)
SendCloseUserAvatar(System.Boolean)
KillPortableExperience(System.String)
RequestWearables(System.String, System.String[], System.String[], System.String)
SearchENSOwner(System.String, System.Int32)
RequestUserProfile(System.String)
ReportAvatarFatalError()
UnpublishScene(UnityEngine.Vector2Int)
NotifyStatusThroughChat(System.String)
ReportVideoProgressEvent(System.String, System.String, System.String, System.Int32, System.Single, System.Single)