@dcl/ecs 7.24.1-27294863236.commit-bff98c4 → 7.24.1-27387182535.commit-de44c20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,23 +7,45 @@ const protobufPackageSarasa = "google.protobuf";
7
7
  */
8
8
  export var FieldDescriptorProto_Type;
9
9
  (function (FieldDescriptorProto_Type) {
10
+ /**
11
+ * TYPE_DOUBLE - 0 is reserved for errors.
12
+ * Order is weird for historical reasons.
13
+ */
10
14
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_DOUBLE"] = 1] = "TYPE_DOUBLE";
11
15
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FLOAT"] = 2] = "TYPE_FLOAT";
16
+ /**
17
+ * TYPE_INT64 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
18
+ * negative values are likely.
19
+ */
12
20
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_INT64"] = 3] = "TYPE_INT64";
13
21
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_UINT64"] = 4] = "TYPE_UINT64";
22
+ /**
23
+ * TYPE_INT32 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
24
+ * negative values are likely.
25
+ */
14
26
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_INT32"] = 5] = "TYPE_INT32";
15
27
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FIXED64"] = 6] = "TYPE_FIXED64";
16
28
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FIXED32"] = 7] = "TYPE_FIXED32";
17
29
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_BOOL"] = 8] = "TYPE_BOOL";
18
30
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_STRING"] = 9] = "TYPE_STRING";
31
+ /**
32
+ * TYPE_GROUP - Tag-delimited aggregate.
33
+ * Group type is deprecated and not supported in proto3. However, Proto3
34
+ * implementations should still be able to parse the group wire format and
35
+ * treat group fields as unknown fields.
36
+ */
19
37
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_GROUP"] = 10] = "TYPE_GROUP";
38
+ /** TYPE_MESSAGE - Length-delimited aggregate. */
20
39
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_MESSAGE"] = 11] = "TYPE_MESSAGE";
40
+ /** TYPE_BYTES - New in version 2. */
21
41
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_BYTES"] = 12] = "TYPE_BYTES";
22
42
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_UINT32"] = 13] = "TYPE_UINT32";
23
43
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_ENUM"] = 14] = "TYPE_ENUM";
24
44
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SFIXED32"] = 15] = "TYPE_SFIXED32";
25
45
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SFIXED64"] = 16] = "TYPE_SFIXED64";
46
+ /** TYPE_SINT32 - Uses ZigZag encoding. */
26
47
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SINT32"] = 17] = "TYPE_SINT32";
48
+ /** TYPE_SINT64 - Uses ZigZag encoding. */
27
49
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SINT64"] = 18] = "TYPE_SINT64";
28
50
  })(FieldDescriptorProto_Type || (FieldDescriptorProto_Type = {}));
29
51
  /**
@@ -31,17 +53,22 @@ export var FieldDescriptorProto_Type;
31
53
  */
32
54
  export var FieldDescriptorProto_Label;
33
55
  (function (FieldDescriptorProto_Label) {
56
+ /** LABEL_OPTIONAL - 0 is reserved for errors */
34
57
  FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_OPTIONAL"] = 1] = "LABEL_OPTIONAL";
35
58
  FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_REQUIRED"] = 2] = "LABEL_REQUIRED";
36
59
  FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_REPEATED"] = 3] = "LABEL_REPEATED";
37
60
  })(FieldDescriptorProto_Label || (FieldDescriptorProto_Label = {}));
61
+ /** Generated classes can be optimized for speed or code size. */
38
62
  /**
39
63
  * @public
40
64
  */
41
65
  export var FileOptions_OptimizeMode;
42
66
  (function (FileOptions_OptimizeMode) {
67
+ /** SPEED - Generate complete code for parsing, serialization, */
43
68
  FileOptions_OptimizeMode[FileOptions_OptimizeMode["SPEED"] = 1] = "SPEED";
69
+ /** CODE_SIZE - etc. */
44
70
  FileOptions_OptimizeMode[FileOptions_OptimizeMode["CODE_SIZE"] = 2] = "CODE_SIZE";
71
+ /** LITE_RUNTIME - Generate code using MessageLite and the lite runtime. */
45
72
  FileOptions_OptimizeMode[FileOptions_OptimizeMode["LITE_RUNTIME"] = 3] = "LITE_RUNTIME";
46
73
  })(FileOptions_OptimizeMode || (FileOptions_OptimizeMode = {}));
47
74
  /**
@@ -49,6 +76,7 @@ export var FileOptions_OptimizeMode;
49
76
  */
50
77
  export var FieldOptions_CType;
51
78
  (function (FieldOptions_CType) {
79
+ /** STRING - Default mode. */
52
80
  FieldOptions_CType[FieldOptions_CType["STRING"] = 0] = "STRING";
53
81
  FieldOptions_CType[FieldOptions_CType["CORD"] = 1] = "CORD";
54
82
  FieldOptions_CType[FieldOptions_CType["STRING_PIECE"] = 2] = "STRING_PIECE";
@@ -58,10 +86,29 @@ export var FieldOptions_CType;
58
86
  */
59
87
  export var FieldOptions_JSType;
60
88
  (function (FieldOptions_JSType) {
89
+ /** JS_NORMAL - Use the default type. */
61
90
  FieldOptions_JSType[FieldOptions_JSType["JS_NORMAL"] = 0] = "JS_NORMAL";
91
+ /** JS_STRING - Use JavaScript strings. */
62
92
  FieldOptions_JSType[FieldOptions_JSType["JS_STRING"] = 1] = "JS_STRING";
93
+ /** JS_NUMBER - Use JavaScript numbers. */
63
94
  FieldOptions_JSType[FieldOptions_JSType["JS_NUMBER"] = 2] = "JS_NUMBER";
64
95
  })(FieldOptions_JSType || (FieldOptions_JSType = {}));
96
+ /**
97
+ * Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
98
+ * or neither? HTTP based RPC implementation may choose GET verb for safe
99
+ * methods, and PUT verb for idempotent methods instead of the default POST.
100
+ */
101
+ /**
102
+ * @public
103
+ */
104
+ export var MethodOptions_IdempotencyLevel;
105
+ (function (MethodOptions_IdempotencyLevel) {
106
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["IDEMPOTENCY_UNKNOWN"] = 0] = "IDEMPOTENCY_UNKNOWN";
107
+ /** NO_SIDE_EFFECTS - implies idempotent */
108
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["NO_SIDE_EFFECTS"] = 1] = "NO_SIDE_EFFECTS";
109
+ /** IDEMPOTENT - idempotent, but may have side effects */
110
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["IDEMPOTENT"] = 2] = "IDEMPOTENT";
111
+ })(MethodOptions_IdempotencyLevel || (MethodOptions_IdempotencyLevel = {}));
65
112
  function createBaseFileDescriptorSet() {
66
113
  return { file: [] };
67
114
  }
@@ -399,7 +446,7 @@ export var DescriptorProto;
399
446
  DescriptorProto.decode = decode;
400
447
  })(DescriptorProto || (DescriptorProto = {}));
401
448
  function createBaseDescriptorProto_ExtensionRange() {
402
- return { start: 0, end: 0 };
449
+ return { start: 0, end: 0, options: undefined };
403
450
  }
404
451
  /**
405
452
  * @public
@@ -413,6 +460,9 @@ export var DescriptorProto_ExtensionRange;
413
460
  if (message.end !== 0) {
414
461
  writer.uint32(16).int32(message.end);
415
462
  }
463
+ if (message.options !== undefined) {
464
+ ExtensionRangeOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
465
+ }
416
466
  return writer;
417
467
  }
418
468
  DescriptorProto_ExtensionRange.encode = encode;
@@ -435,6 +485,12 @@ export var DescriptorProto_ExtensionRange;
435
485
  }
436
486
  message.end = reader.int32();
437
487
  continue;
488
+ case 3:
489
+ if (tag !== 26) {
490
+ break;
491
+ }
492
+ message.options = ExtensionRangeOptions.decode(reader, reader.uint32());
493
+ continue;
438
494
  }
439
495
  if ((tag & 7) === 4 || tag === 0) {
440
496
  break;
@@ -492,6 +548,44 @@ export var DescriptorProto_ReservedRange;
492
548
  }
493
549
  DescriptorProto_ReservedRange.decode = decode;
494
550
  })(DescriptorProto_ReservedRange || (DescriptorProto_ReservedRange = {}));
551
+ function createBaseExtensionRangeOptions() {
552
+ return { uninterpretedOption: [] };
553
+ }
554
+ /**
555
+ * @public
556
+ */
557
+ export var ExtensionRangeOptions;
558
+ (function (ExtensionRangeOptions) {
559
+ function encode(message, writer = _m0.Writer.create()) {
560
+ for (const v of message.uninterpretedOption) {
561
+ UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
562
+ }
563
+ return writer;
564
+ }
565
+ ExtensionRangeOptions.encode = encode;
566
+ function decode(input, length) {
567
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
568
+ let end = length === undefined ? reader.len : reader.pos + length;
569
+ const message = createBaseExtensionRangeOptions();
570
+ while (reader.pos < end) {
571
+ const tag = reader.uint32();
572
+ switch (tag >>> 3) {
573
+ case 999:
574
+ if (tag !== 7994) {
575
+ break;
576
+ }
577
+ message.uninterpretedOption.push(UninterpretedOption.decode(reader, reader.uint32()));
578
+ continue;
579
+ }
580
+ if ((tag & 7) === 4 || tag === 0) {
581
+ break;
582
+ }
583
+ reader.skipType(tag & 7);
584
+ }
585
+ return message;
586
+ }
587
+ ExtensionRangeOptions.decode = decode;
588
+ })(ExtensionRangeOptions || (ExtensionRangeOptions = {}));
495
589
  function createBaseFieldDescriptorProto() {
496
590
  return {
497
591
  name: "",
@@ -504,6 +598,7 @@ function createBaseFieldDescriptorProto() {
504
598
  oneofIndex: 0,
505
599
  jsonName: "",
506
600
  options: undefined,
601
+ proto3Optional: false,
507
602
  };
508
603
  }
509
604
  /**
@@ -542,6 +637,9 @@ export var FieldDescriptorProto;
542
637
  if (message.options !== undefined) {
543
638
  FieldOptions.encode(message.options, writer.uint32(66).fork()).ldelim();
544
639
  }
640
+ if (message.proto3Optional === true) {
641
+ writer.uint32(136).bool(message.proto3Optional);
642
+ }
545
643
  return writer;
546
644
  }
547
645
  FieldDescriptorProto.encode = encode;
@@ -612,6 +710,12 @@ export var FieldDescriptorProto;
612
710
  }
613
711
  message.options = FieldOptions.decode(reader, reader.uint32());
614
712
  continue;
713
+ case 17:
714
+ if (tag !== 136) {
715
+ break;
716
+ }
717
+ message.proto3Optional = reader.bool();
718
+ continue;
615
719
  }
616
720
  if ((tag & 7) === 4 || tag === 0) {
617
721
  break;
@@ -670,7 +774,7 @@ export var OneofDescriptorProto;
670
774
  OneofDescriptorProto.decode = decode;
671
775
  })(OneofDescriptorProto || (OneofDescriptorProto = {}));
672
776
  function createBaseEnumDescriptorProto() {
673
- return { name: "", value: [], options: undefined };
777
+ return { name: "", value: [], options: undefined, reservedRange: [], reservedName: [] };
674
778
  }
675
779
  /**
676
780
  * @public
@@ -687,6 +791,12 @@ export var EnumDescriptorProto;
687
791
  if (message.options !== undefined) {
688
792
  EnumOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
689
793
  }
794
+ for (const v of message.reservedRange) {
795
+ EnumDescriptorProto_EnumReservedRange.encode(v, writer.uint32(34).fork()).ldelim();
796
+ }
797
+ for (const v of message.reservedName) {
798
+ writer.uint32(42).string(v);
799
+ }
690
800
  return writer;
691
801
  }
692
802
  EnumDescriptorProto.encode = encode;
@@ -715,6 +825,18 @@ export var EnumDescriptorProto;
715
825
  }
716
826
  message.options = EnumOptions.decode(reader, reader.uint32());
717
827
  continue;
828
+ case 4:
829
+ if (tag !== 34) {
830
+ break;
831
+ }
832
+ message.reservedRange.push(EnumDescriptorProto_EnumReservedRange.decode(reader, reader.uint32()));
833
+ continue;
834
+ case 5:
835
+ if (tag !== 42) {
836
+ break;
837
+ }
838
+ message.reservedName.push(reader.string());
839
+ continue;
718
840
  }
719
841
  if ((tag & 7) === 4 || tag === 0) {
720
842
  break;
@@ -725,6 +847,53 @@ export var EnumDescriptorProto;
725
847
  }
726
848
  EnumDescriptorProto.decode = decode;
727
849
  })(EnumDescriptorProto || (EnumDescriptorProto = {}));
850
+ function createBaseEnumDescriptorProto_EnumReservedRange() {
851
+ return { start: 0, end: 0 };
852
+ }
853
+ /**
854
+ * @public
855
+ */
856
+ export var EnumDescriptorProto_EnumReservedRange;
857
+ (function (EnumDescriptorProto_EnumReservedRange) {
858
+ function encode(message, writer = _m0.Writer.create()) {
859
+ if (message.start !== 0) {
860
+ writer.uint32(8).int32(message.start);
861
+ }
862
+ if (message.end !== 0) {
863
+ writer.uint32(16).int32(message.end);
864
+ }
865
+ return writer;
866
+ }
867
+ EnumDescriptorProto_EnumReservedRange.encode = encode;
868
+ function decode(input, length) {
869
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
870
+ let end = length === undefined ? reader.len : reader.pos + length;
871
+ const message = createBaseEnumDescriptorProto_EnumReservedRange();
872
+ while (reader.pos < end) {
873
+ const tag = reader.uint32();
874
+ switch (tag >>> 3) {
875
+ case 1:
876
+ if (tag !== 8) {
877
+ break;
878
+ }
879
+ message.start = reader.int32();
880
+ continue;
881
+ case 2:
882
+ if (tag !== 16) {
883
+ break;
884
+ }
885
+ message.end = reader.int32();
886
+ continue;
887
+ }
888
+ if ((tag & 7) === 4 || tag === 0) {
889
+ break;
890
+ }
891
+ reader.skipType(tag & 7);
892
+ }
893
+ return message;
894
+ }
895
+ EnumDescriptorProto_EnumReservedRange.decode = decode;
896
+ })(EnumDescriptorProto_EnumReservedRange || (EnumDescriptorProto_EnumReservedRange = {}));
728
897
  function createBaseEnumValueDescriptorProto() {
729
898
  return { name: "", number: 0, options: undefined };
730
899
  }
@@ -939,10 +1108,16 @@ function createBaseFileOptions() {
939
1108
  ccGenericServices: false,
940
1109
  javaGenericServices: false,
941
1110
  pyGenericServices: false,
1111
+ phpGenericServices: false,
942
1112
  deprecated: false,
943
1113
  ccEnableArenas: false,
944
1114
  objcClassPrefix: "",
945
1115
  csharpNamespace: "",
1116
+ swiftPrefix: "",
1117
+ phpClassPrefix: "",
1118
+ phpNamespace: "",
1119
+ phpMetadataNamespace: "",
1120
+ rubyPackage: "",
946
1121
  uninterpretedOption: [],
947
1122
  };
948
1123
  }
@@ -982,6 +1157,9 @@ export var FileOptions;
982
1157
  if (message.pyGenericServices === true) {
983
1158
  writer.uint32(144).bool(message.pyGenericServices);
984
1159
  }
1160
+ if (message.phpGenericServices === true) {
1161
+ writer.uint32(336).bool(message.phpGenericServices);
1162
+ }
985
1163
  if (message.deprecated === true) {
986
1164
  writer.uint32(184).bool(message.deprecated);
987
1165
  }
@@ -994,6 +1172,21 @@ export var FileOptions;
994
1172
  if (message.csharpNamespace !== "") {
995
1173
  writer.uint32(298).string(message.csharpNamespace);
996
1174
  }
1175
+ if (message.swiftPrefix !== "") {
1176
+ writer.uint32(314).string(message.swiftPrefix);
1177
+ }
1178
+ if (message.phpClassPrefix !== "") {
1179
+ writer.uint32(322).string(message.phpClassPrefix);
1180
+ }
1181
+ if (message.phpNamespace !== "") {
1182
+ writer.uint32(330).string(message.phpNamespace);
1183
+ }
1184
+ if (message.phpMetadataNamespace !== "") {
1185
+ writer.uint32(354).string(message.phpMetadataNamespace);
1186
+ }
1187
+ if (message.rubyPackage !== "") {
1188
+ writer.uint32(362).string(message.rubyPackage);
1189
+ }
997
1190
  for (const v of message.uninterpretedOption) {
998
1191
  UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
999
1192
  }
@@ -1067,6 +1260,12 @@ export var FileOptions;
1067
1260
  }
1068
1261
  message.pyGenericServices = reader.bool();
1069
1262
  continue;
1263
+ case 42:
1264
+ if (tag !== 336) {
1265
+ break;
1266
+ }
1267
+ message.phpGenericServices = reader.bool();
1268
+ continue;
1070
1269
  case 23:
1071
1270
  if (tag !== 184) {
1072
1271
  break;
@@ -1091,6 +1290,36 @@ export var FileOptions;
1091
1290
  }
1092
1291
  message.csharpNamespace = reader.string();
1093
1292
  continue;
1293
+ case 39:
1294
+ if (tag !== 314) {
1295
+ break;
1296
+ }
1297
+ message.swiftPrefix = reader.string();
1298
+ continue;
1299
+ case 40:
1300
+ if (tag !== 322) {
1301
+ break;
1302
+ }
1303
+ message.phpClassPrefix = reader.string();
1304
+ continue;
1305
+ case 41:
1306
+ if (tag !== 330) {
1307
+ break;
1308
+ }
1309
+ message.phpNamespace = reader.string();
1310
+ continue;
1311
+ case 44:
1312
+ if (tag !== 354) {
1313
+ break;
1314
+ }
1315
+ message.phpMetadataNamespace = reader.string();
1316
+ continue;
1317
+ case 45:
1318
+ if (tag !== 362) {
1319
+ break;
1320
+ }
1321
+ message.rubyPackage = reader.string();
1322
+ continue;
1094
1323
  case 999:
1095
1324
  if (tag !== 7994) {
1096
1325
  break;
@@ -1188,7 +1417,16 @@ export var MessageOptions;
1188
1417
  MessageOptions.decode = decode;
1189
1418
  })(MessageOptions || (MessageOptions = {}));
1190
1419
  function createBaseFieldOptions() {
1191
- return { ctype: 0, packed: false, jstype: 0, lazy: false, deprecated: false, weak: false, uninterpretedOption: [] };
1420
+ return {
1421
+ ctype: 0,
1422
+ packed: false,
1423
+ jstype: 0,
1424
+ lazy: false,
1425
+ unverifiedLazy: false,
1426
+ deprecated: false,
1427
+ weak: false,
1428
+ uninterpretedOption: [],
1429
+ };
1192
1430
  }
1193
1431
  /**
1194
1432
  * @public
@@ -1208,6 +1446,9 @@ export var FieldOptions;
1208
1446
  if (message.lazy === true) {
1209
1447
  writer.uint32(40).bool(message.lazy);
1210
1448
  }
1449
+ if (message.unverifiedLazy === true) {
1450
+ writer.uint32(120).bool(message.unverifiedLazy);
1451
+ }
1211
1452
  if (message.deprecated === true) {
1212
1453
  writer.uint32(24).bool(message.deprecated);
1213
1454
  }
@@ -1251,6 +1492,12 @@ export var FieldOptions;
1251
1492
  }
1252
1493
  message.lazy = reader.bool();
1253
1494
  continue;
1495
+ case 15:
1496
+ if (tag !== 120) {
1497
+ break;
1498
+ }
1499
+ message.unverifiedLazy = reader.bool();
1500
+ continue;
1254
1501
  case 3:
1255
1502
  if (tag !== 24) {
1256
1503
  break;
@@ -1468,7 +1715,7 @@ export var ServiceOptions;
1468
1715
  ServiceOptions.decode = decode;
1469
1716
  })(ServiceOptions || (ServiceOptions = {}));
1470
1717
  function createBaseMethodOptions() {
1471
- return { deprecated: false, uninterpretedOption: [] };
1718
+ return { deprecated: false, idempotencyLevel: 0, uninterpretedOption: [] };
1472
1719
  }
1473
1720
  /**
1474
1721
  * @public
@@ -1479,6 +1726,9 @@ export var MethodOptions;
1479
1726
  if (message.deprecated === true) {
1480
1727
  writer.uint32(264).bool(message.deprecated);
1481
1728
  }
1729
+ if (message.idempotencyLevel !== 0) {
1730
+ writer.uint32(272).int32(message.idempotencyLevel);
1731
+ }
1482
1732
  for (const v of message.uninterpretedOption) {
1483
1733
  UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
1484
1734
  }
@@ -1498,6 +1748,12 @@ export var MethodOptions;
1498
1748
  }
1499
1749
  message.deprecated = reader.bool();
1500
1750
  continue;
1751
+ case 34:
1752
+ if (tag !== 272) {
1753
+ break;
1754
+ }
1755
+ message.idempotencyLevel = reader.int32();
1756
+ continue;
1501
1757
  case 999:
1502
1758
  if (tag !== 7994) {
1503
1759
  break;
@@ -8,11 +8,13 @@ export interface AudioSourceComponentDefinitionExtended extends LastWriteWinElem
8
8
  /**
9
9
  * @public
10
10
  *
11
- * Set playing=true the sound `$name`
12
- * @param entity - entity with AudioSource component
11
+ * Play the sound `src` on the given entity. Creates the AudioSource component
12
+ * if it does not yet exist. Always emits a CRDT PUT, so repeated calls with
13
+ * identical parameters reliably retrigger playback.
14
+ * @param entity - target entity (AudioSource will be created if missing)
13
15
  * @param src - the path to the sound to play
14
16
  * @param resetCursor - the sound starts at 0 or continues from the current cursor position
15
- * @returns true in successful playing, false if it doesn't find the AudioSource component
17
+ * @returns always true; retained for backwards compatibility
16
18
  */
17
19
  playSound(entity: Entity, src: string, resetCursor?: boolean): boolean;
18
20
  /**
@@ -7,13 +7,13 @@ function defineAudioSourceComponent(engine) {
7
7
  return {
8
8
  ...theComponent,
9
9
  playSound(entity, src, resetCursor = true) {
10
- // Get the mutable to modify
11
- const audioSource = theComponent.getMutableOrNull(entity);
12
- if (!audioSource)
13
- return false;
14
- audioSource.audioClipUrl = src;
15
- audioSource.playing = true;
16
- audioSource.currentTime = resetCursor ? 0 : audioSource.currentTime;
10
+ const existing = theComponent.getOrNull(entity);
11
+ theComponent.createOrReplace(entity, {
12
+ ...existing,
13
+ audioClipUrl: src,
14
+ playing: true,
15
+ currentTime: resetCursor ? 0 : existing?.currentTime ?? 0
16
+ });
17
17
  return true;
18
18
  },
19
19
  stopSound(entity, resetCursor = true) {