forked from FoxCouncil/Steamworks.Core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SteamUgc.cs
1008 lines (693 loc) · 46.5 KB
/
SteamUgc.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// !! // Steamworks.Core - SteamUgc.cs
// *.-". // Created: 2016-10-22 [1:52 AM]
// | | // Copyright 2016 // MIT License // The Fox Council
// Modified by: Fox Diller on 2016-10-22 @ 3:03 PM
#region Usings
using System;
using System.Runtime.InteropServices;
using System.Text;
#endregion
namespace Steamworks.Core
{
public class SteamUgc : ISteamUgc
{
private readonly IntPtr m_instancePtr;
public SteamUgc(IntPtr c_instancePtr)
{
m_instancePtr = c_instancePtr;
}
private void CheckIfUsable()
{
if (m_instancePtr == IntPtr.Zero)
{
throw new InvalidOperationException("Steam Ugc Not Initialized!");
}
}
#region Native Methods
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_CreateQueryUserUGCRequest")]
private static extern ulong SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(IntPtr c_instancePtr, uint c_unAccountId, uint c_eListType, uint c_eMatchingUgcType, uint c_eSortOrder, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_CreateQueryAllUGCRequest")]
private static extern ulong SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(IntPtr c_instancePtr, uint c_eQueryType, uint c_eMatchingeMatchingUgcTypeFileType, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest")]
private static extern ulong SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest(IntPtr c_instancePtr, ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SendQueryUGCRequest")]
private static extern ulong SteamAPI_ISteamUGC_SendQueryUGCRequest(IntPtr c_instancePtr, ulong c_handle);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCResult")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCResult(IntPtr c_instancePtr, ulong c_handle, uint c_index, ref SteamUgcDetails c_pDetails);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCPreviewURL")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCPreviewURL(IntPtr c_instancePtr, ulong c_handle, uint c_index, StringBuilder c_pchUrl, uint c_cchUrlSize);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCMetadata")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCMetadata(IntPtr c_instancePtr, ulong c_handle, uint c_index, StringBuilder c_pchMetadata, uint c_cchMetadatasize);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCChildren")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCChildren(IntPtr c_instancePtr, ulong c_handle, uint c_index, ref ulong c_pvecPublishedFileId, uint c_cMaxEntries);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCStatistic")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCStatistic(IntPtr c_instancePtr, ulong c_handle, uint c_index, uint c_eStatType, ref ulong c_pStatValue);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews")]
private static extern uint SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(IntPtr c_instancePtr, ulong c_handle, uint c_index);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(IntPtr c_instancePtr, ulong c_handle, uint c_index, uint c_previewIndex, StringBuilder c_pchUrlOrVideoId, uint c_cchUrlSize, StringBuilder c_pchOriginalFileName, uint c_cchOriginalFileNameSize, ref uint c_pPreviewType);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags")]
private static extern uint SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(IntPtr c_instancePtr, ulong c_handle, uint c_index);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag")]
private static extern bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(IntPtr c_instancePtr, ulong c_handle, uint c_index, uint c_keyValueTagIndex, StringBuilder c_pchKey, uint c_cchKeySize, StringBuilder c_pchValue, uint c_cchValueSize);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest")]
private static extern bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(IntPtr c_instancePtr, ulong c_handle);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddRequiredTag")]
private static extern bool SteamAPI_ISteamUGC_AddRequiredTag(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pTagName);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddExcludedTag")]
private static extern bool SteamAPI_ISteamUGC_AddExcludedTag(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pTagName);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnOnlyIDs")]
private static extern bool SteamAPI_ISteamUGC_SetReturnOnlyIDs(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnOnlyIDs);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnKeyValueTags")]
private static extern bool SteamAPI_ISteamUGC_SetReturnKeyValueTags(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnKeyValueTags);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnLongDescription")]
private static extern bool SteamAPI_ISteamUGC_SetReturnLongDescription(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnLongDescription);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnMetadata")]
private static extern bool SteamAPI_ISteamUGC_SetReturnMetadata(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnMetadata);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnChildren")]
private static extern bool SteamAPI_ISteamUGC_SetReturnChildren(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnChildren);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnAdditionalPreviews")]
private static extern bool SteamAPI_ISteamUGC_SetReturnAdditionalPreviews(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnAdditionalPreviews);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetReturnTotalOnly")]
private static extern bool SteamAPI_ISteamUGC_SetReturnTotalOnly(IntPtr c_instancePtr, ulong c_handle, bool c_bReturnTotalOnly);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetLanguage")]
private static extern bool SteamAPI_ISteamUGC_SetLanguage(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchLanguage);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetAllowCachedResponse")]
private static extern bool SteamAPI_ISteamUGC_SetAllowCachedResponse(IntPtr c_instancePtr, ulong c_handle, uint c_unMaxAgeSeconds);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetCloudFileNameFilter")]
private static extern bool SteamAPI_ISteamUGC_SetCloudFileNameFilter(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pMatchCloudFileName);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetMatchAnyTag")]
private static extern bool SteamAPI_ISteamUGC_SetMatchAnyTag(IntPtr c_instancePtr, ulong c_handle, bool c_bMatchAnyTag);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetSearchText")]
private static extern bool SteamAPI_ISteamUGC_SetSearchText(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pSearchText);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetRankedByTrendDays")]
private static extern bool SteamAPI_ISteamUGC_SetRankedByTrendDays(IntPtr c_instancePtr, ulong c_handle, uint c_unDays);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddRequiredKeyValueTag")]
private static extern bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pKey, SafeUtf8String c_pValue);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_RequestUGCDetails")]
private static extern ulong SteamAPI_ISteamUGC_RequestUGCDetails(IntPtr c_instancePtr, ulong c_nPublishedFileId, uint c_unMaxAgeSeconds);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_CreateItem")]
private static extern ulong SteamAPI_ISteamUGC_CreateItem(IntPtr c_instancePtr, uint c_nConsumerAppId, uint c_eFileType);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_StartItemUpdate")]
private static extern ulong SteamAPI_ISteamUGC_StartItemUpdate(IntPtr c_instancePtr, uint c_nConsumerAppId, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemTitle")]
private static extern bool SteamAPI_ISteamUGC_SetItemTitle(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchTitle);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemDescription")]
private static extern bool SteamAPI_ISteamUGC_SetItemDescription(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchDescription);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemUpdateLanguage")]
private static extern bool SteamAPI_ISteamUGC_SetItemUpdateLanguage(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchLanguage);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemMetadata")]
private static extern bool SteamAPI_ISteamUGC_SetItemMetadata(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchMetaData);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemVisibility")]
private static extern bool SteamAPI_ISteamUGC_SetItemVisibility(IntPtr c_instancePtr, ulong c_handle, uint c_eVisibility);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemTags")]
private static extern bool SteamAPI_ISteamUGC_SetItemTags(IntPtr c_instancePtr, ulong c_updateHandle, ref SteamParamStringArray c_pTags);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemContent")]
private static extern bool SteamAPI_ISteamUGC_SetItemContent(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pszContentFolder);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetItemPreview")]
private static extern bool SteamAPI_ISteamUGC_SetItemPreview(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pszPreviewFile);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_RemoveItemKeyValueTags")]
private static extern bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchKey);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddItemKeyValueTag")]
private static extern bool SteamAPI_ISteamUGC_AddItemKeyValueTag(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchKey, SafeUtf8String c_pchValue);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddItemPreviewFile")]
private static extern bool SteamAPI_ISteamUGC_AddItemPreviewFile(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pszPreviewFile, uint c_type);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddItemPreviewVideo")]
private static extern bool SteamAPI_ISteamUGC_AddItemPreviewVideo(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pszVideoId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_UpdateItemPreviewFile")]
private static extern bool SteamAPI_ISteamUGC_UpdateItemPreviewFile(IntPtr c_instancePtr, ulong c_handle, uint c_index, SafeUtf8String c_pszPreviewFile);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_UpdateItemPreviewVideo")]
private static extern bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo(IntPtr c_instancePtr, ulong c_handle, uint c_index, SafeUtf8String c_pszVideoId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_RemoveItemPreview")]
private static extern bool SteamAPI_ISteamUGC_RemoveItemPreview(IntPtr c_instancePtr, ulong c_handle, uint c_index);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SubmitItemUpdate")]
private static extern ulong SteamAPI_ISteamUGC_SubmitItemUpdate(IntPtr c_instancePtr, ulong c_handle, SafeUtf8String c_pchChangeNote);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetItemUpdateProgress")]
private static extern uint SteamAPI_ISteamUGC_GetItemUpdateProgress(IntPtr c_instancePtr, ulong c_handle, ref ulong c_punBytesProcessed, ref ulong c_punBytesTotal);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SetUserItemVote")]
private static extern ulong SteamAPI_ISteamUGC_SetUserItemVote(IntPtr c_instancePtr, ulong c_nPublishedFileId, bool c_bVoteUp);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetUserItemVote")]
private static extern ulong SteamAPI_ISteamUGC_GetUserItemVote(IntPtr c_instancePtr, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_AddItemToFavorites")]
private static extern ulong SteamAPI_ISteamUGC_AddItemToFavorites(IntPtr c_instancePtr, uint c_nAppId, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_RemoveItemFromFavorites")]
private static extern ulong SteamAPI_ISteamUGC_RemoveItemFromFavorites(IntPtr c_instancePtr, uint c_nAppId, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SubscribeItem")]
private static extern ulong SteamAPI_ISteamUGC_SubscribeItem(IntPtr c_instancePtr, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_UnsubscribeItem")]
private static extern ulong SteamAPI_ISteamUGC_UnsubscribeItem(IntPtr c_instancePtr, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetNumSubscribedItems")]
private static extern uint SteamAPI_ISteamUGC_GetNumSubscribedItems(IntPtr c_instancePtr);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetSubscribedItems")]
private static extern uint SteamAPI_ISteamUGC_GetSubscribedItems(IntPtr c_instancePtr, ref ulong c_pvecPublishedFileId, uint c_cMaxEntries);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetItemState")]
private static extern uint SteamAPI_ISteamUGC_GetItemState(IntPtr c_instancePtr, ulong c_nPublishedFileId);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetItemInstallInfo")]
private static extern bool SteamAPI_ISteamUGC_GetItemInstallInfo(IntPtr c_instancePtr, ulong c_nPublishedFileId, ref ulong c_punSizeOnDisk, StringBuilder c_pchFolder, uint c_cchFolderSize, ref uint c_punTimeStamp);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_GetItemDownloadInfo")]
private static extern bool SteamAPI_ISteamUGC_GetItemDownloadInfo(IntPtr c_instancePtr, ulong c_nPublishedFileId, ref ulong c_punBytesDownloaded, ref ulong c_punBytesTotal);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_DownloadItem")]
private static extern bool SteamAPI_ISteamUGC_DownloadItem(IntPtr c_instancePtr, ulong c_nPublishedFileId, bool c_bHighPriority);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_BInitWorkshopForGameServer")]
private static extern bool SteamAPI_ISteamUGC_BInitWorkshopForGameServer(IntPtr c_instancePtr, uint c_unWorkshopDepotId, SafeUtf8String c_pszFolder);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_SuspendDownloads")]
private static extern void SteamAPI_ISteamUGC_SuspendDownloads(IntPtr c_instancePtr, bool c_bSuspend);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_StartPlaytimeTracking")]
private static extern ulong SteamAPI_ISteamUGC_StartPlaytimeTracking(IntPtr c_instancePtr, ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_StopPlaytimeTracking")]
private static extern ulong SteamAPI_ISteamUGC_StopPlaytimeTracking(IntPtr c_instancePtr, ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
[DllImport(SteamApi.STEAMWORKS_MODULE_NAME, EntryPoint = "SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems")]
private static extern ulong SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems(IntPtr c_instancePtr);
#endregion
#region Overrides of ISteamUgc
public override IntPtr GetIntPtr()
{
return m_instancePtr;
}
public override ulong CreateQueryUserUgcRequest(uint c_unAccountId, uint c_eListType, uint c_eMatchingUgcType, uint c_eSortOrder, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(m_instancePtr, c_unAccountId, c_eListType, c_eMatchingUgcType, c_eSortOrder, c_nCreatorAppId, c_nConsumerAppId, c_unPage);
return a_result;
}
public override ulong CreateQueryAllUgcRequest(uint c_eQueryType, uint c_eMatchingeMatchingUgcTypeFileType, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(m_instancePtr, c_eQueryType, c_eMatchingeMatchingUgcTypeFileType, c_nCreatorAppId, c_nConsumerAppId, c_unPage);
return a_result;
}
public override ulong CreateQueryUgcDetailsRequest(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest(m_instancePtr, ref c_pvecPublishedFileId, c_unNumPublishedFileIDs);
return a_result;
}
public override ulong SendQueryUgcRequest(ulong c_handle)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SendQueryUGCRequest(m_instancePtr, c_handle);
return a_result;
}
public override bool GetQueryUgcResult(ulong c_handle, uint c_index, ref SteamUgcDetails c_pDetails)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetQueryUGCResult(m_instancePtr, c_handle, c_index, ref c_pDetails);
return a_result;
}
public override bool GetQueryUgcPreviewUrl(ulong c_handle, uint c_index, out string c_pchUrl)
{
CheckIfUsable();
var a_stringBuilder = new StringBuilder(2048);
var a_result = SteamAPI_ISteamUGC_GetQueryUGCPreviewURL(m_instancePtr, c_handle, c_index, a_stringBuilder, 2048);
c_pchUrl = a_stringBuilder.ToString();
return a_result;
}
public override bool GetQueryUgcMetadata(ulong c_handle, uint c_index, out string c_pchMetadata)
{
CheckIfUsable();
var a_stringBuilder = new StringBuilder(2048);
var a_result = SteamAPI_ISteamUGC_GetQueryUGCMetadata(m_instancePtr, c_handle, c_index, a_stringBuilder, 2048);
c_pchMetadata = a_stringBuilder.ToString();
return a_result;
}
public override bool GetQueryUgcChildren(ulong c_handle, uint c_index, ref ulong c_pvecPublishedFileId, uint c_cMaxEntries)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetQueryUGCChildren(m_instancePtr, c_handle, c_index, ref c_pvecPublishedFileId, c_cMaxEntries);
return a_result;
}
public override bool GetQueryUgcStatistic(ulong c_handle, uint c_index, uint c_eStatType, ref ulong c_pStatValue)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetQueryUGCStatistic(m_instancePtr, c_handle, c_index, c_eStatType, ref c_pStatValue);
return a_result;
}
public override uint GetQueryUgcNumAdditionalPreviews(ulong c_handle, uint c_index)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(m_instancePtr, c_handle, c_index);
return a_result;
}
public override bool GetQueryUgcAdditionalPreview(ulong c_handle, uint c_index, uint c_previewIndex, out string c_pchUrlOrVideoId, out string c_pchOriginalFileName, uint c_cchOriginalFileNameSize, ref uint c_pPreviewType)
{
CheckIfUsable();
var a_stringBuilder1 = new StringBuilder(2048);
var a_stringBuilder2 = new StringBuilder(2048);
var a_result = SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(m_instancePtr, c_handle, c_index, c_previewIndex, a_stringBuilder1, 2048, a_stringBuilder2, 2048, ref c_pPreviewType);
c_pchUrlOrVideoId = a_stringBuilder1.ToString();
c_pchOriginalFileName = a_stringBuilder2.ToString();
return a_result;
}
public override uint GetQueryUgcNumKeyValueTags(ulong c_handle, uint c_index)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(m_instancePtr, c_handle, c_index);
return a_result;
}
public override bool GetQueryUgcKeyValueTag(ulong c_handle, uint c_index, uint c_keyValueTagIndex, out string c_pchKey, out string c_pchValue)
{
CheckIfUsable();
var a_stringBuilder1 = new StringBuilder(2048);
var a_stringBuilder2 = new StringBuilder(2048);
var a_result = SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(m_instancePtr, c_handle, c_index, c_keyValueTagIndex, a_stringBuilder1, 2048, a_stringBuilder2, 2048);
c_pchKey = a_stringBuilder1.ToString();
c_pchValue = a_stringBuilder2.ToString();
return a_result;
}
public override bool ReleaseQueryUgcRequest(ulong c_handle)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(m_instancePtr, c_handle);
return a_result;
}
public override bool AddRequiredTag(ulong c_handle, string c_pTagName)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddRequiredTag(m_instancePtr, c_handle, new SafeUtf8String(c_pTagName));
return a_result;
}
public override bool AddExcludedTag(ulong c_handle, string c_pTagName)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddExcludedTag(m_instancePtr, c_handle, new SafeUtf8String(c_pTagName));
return a_result;
}
public override bool SetReturnOnlyIDs(ulong c_handle, bool c_bReturnOnlyIDs)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnOnlyIDs(m_instancePtr, c_handle, c_bReturnOnlyIDs);
return a_result;
}
public override bool SetReturnKeyValueTags(ulong c_handle, bool c_bReturnKeyValueTags)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnKeyValueTags(m_instancePtr, c_handle, c_bReturnKeyValueTags);
return a_result;
}
public override bool SetReturnLongDescription(ulong c_handle, bool c_bReturnLongDescription)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnLongDescription(m_instancePtr, c_handle, c_bReturnLongDescription);
return a_result;
}
public override bool SetReturnMetadata(ulong c_handle, bool c_bReturnMetadata)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnMetadata(m_instancePtr, c_handle, c_bReturnMetadata);
return a_result;
}
public override bool SetReturnChildren(ulong c_handle, bool c_bReturnChildren)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnChildren(m_instancePtr, c_handle, c_bReturnChildren);
return a_result;
}
public override bool SetReturnAdditionalPreviews(ulong c_handle, bool c_bReturnAdditionalPreviews)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnAdditionalPreviews(m_instancePtr, c_handle, c_bReturnAdditionalPreviews);
return a_result;
}
public override bool SetReturnTotalOnly(ulong c_handle, bool c_bReturnTotalOnly)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetReturnTotalOnly(m_instancePtr, c_handle, c_bReturnTotalOnly);
return a_result;
}
public override bool SetLanguage(ulong c_handle, string c_pchLanguage)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetLanguage(m_instancePtr, c_handle, new SafeUtf8String(c_pchLanguage));
return a_result;
}
public override bool SetAllowCachedResponse(ulong c_handle, uint c_unMaxAgeSeconds)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetAllowCachedResponse(m_instancePtr, c_handle, c_unMaxAgeSeconds);
return a_result;
}
public override bool SetCloudFileNameFilter(ulong c_handle, string c_pMatchCloudFileName)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetCloudFileNameFilter(m_instancePtr, c_handle, new SafeUtf8String(c_pMatchCloudFileName));
return a_result;
}
public override bool SetMatchAnyTag(ulong c_handle, bool c_bMatchAnyTag)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetMatchAnyTag(m_instancePtr, c_handle, c_bMatchAnyTag);
return a_result;
}
public override bool SetSearchText(ulong c_handle, string c_pSearchText)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetSearchText(m_instancePtr, c_handle, new SafeUtf8String(c_pSearchText));
return a_result;
}
public override bool SetRankedByTrendDays(ulong c_handle, uint c_unDays)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetRankedByTrendDays(m_instancePtr, c_handle, c_unDays);
return a_result;
}
public override bool AddRequiredKeyValueTag(ulong c_handle, string c_pKey, string c_pValue)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddRequiredKeyValueTag(m_instancePtr, c_handle, new SafeUtf8String(c_pKey), new SafeUtf8String(c_pValue));
return a_result;
}
public override ulong RequestUgcDetails(ulong c_nPublishedFileId, uint c_unMaxAgeSeconds)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_RequestUGCDetails(m_instancePtr, c_nPublishedFileId, c_unMaxAgeSeconds);
return a_result;
}
public override ulong CreateItem(uint c_nConsumerAppId, uint c_eFileType)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_CreateItem(m_instancePtr, c_nConsumerAppId, c_eFileType);
return a_result;
}
public override ulong StartItemUpdate(uint c_nConsumerAppId, ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_StartItemUpdate(m_instancePtr, c_nConsumerAppId, c_nPublishedFileId);
return a_result;
}
public override bool SetItemTitle(ulong c_handle, string c_pchTitle)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemTitle(m_instancePtr, c_handle, new SafeUtf8String(c_pchTitle));
return a_result;
}
public override bool SetItemDescription(ulong c_handle, string c_pchDescription)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemDescription(m_instancePtr, c_handle, new SafeUtf8String(c_pchDescription));
return a_result;
}
public override bool SetItemUpdateLanguage(ulong c_handle, string c_pchLanguage)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemUpdateLanguage(m_instancePtr, c_handle, new SafeUtf8String(c_pchLanguage));
return a_result;
}
public override bool SetItemMetadata(ulong c_handle, string c_pchMetaData)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemMetadata(m_instancePtr, c_handle, new SafeUtf8String(c_pchMetaData));
return a_result;
}
public override bool SetItemVisibility(ulong c_handle, uint c_eVisibility)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemVisibility(m_instancePtr, c_handle, c_eVisibility);
return a_result;
}
public override bool SetItemTags(ulong c_updateHandle, ref SteamParamStringArray c_pTags)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemTags(m_instancePtr, c_updateHandle, ref c_pTags);
return a_result;
}
public override bool SetItemContent(ulong c_handle, string c_pszContentFolder)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemContent(m_instancePtr, c_handle, new SafeUtf8String(c_pszContentFolder));
return a_result;
}
public override bool SetItemPreview(ulong c_handle, string c_pszPreviewFile)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetItemPreview(m_instancePtr, c_handle, new SafeUtf8String(c_pszPreviewFile));
return a_result;
}
public override bool RemoveItemKeyValueTags(ulong c_handle, string c_pchKey)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_RemoveItemKeyValueTags(m_instancePtr, c_handle, new SafeUtf8String(c_pchKey));
return a_result;
}
public override bool AddItemKeyValueTag(ulong c_handle, string c_pchKey, string c_pchValue)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddItemKeyValueTag(m_instancePtr, c_handle, new SafeUtf8String(c_pchKey), new SafeUtf8String(c_pchValue));
return a_result;
}
public override bool AddItemPreviewFile(ulong c_handle, string c_pszPreviewFile, uint c_type)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddItemPreviewFile(m_instancePtr, c_handle, new SafeUtf8String(c_pszPreviewFile), c_type);
return a_result;
}
public override bool AddItemPreviewVideo(ulong c_handle, string c_pszVideoId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddItemPreviewVideo(m_instancePtr, c_handle, new SafeUtf8String(c_pszVideoId));
return a_result;
}
public override bool UpdateItemPreviewFile(ulong c_handle, uint c_index, string c_pszPreviewFile)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_UpdateItemPreviewFile(m_instancePtr, c_handle, c_index, new SafeUtf8String(c_pszPreviewFile));
return a_result;
}
public override bool UpdateItemPreviewVideo(ulong c_handle, uint c_index, string c_pszVideoId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_UpdateItemPreviewVideo(m_instancePtr, c_handle, c_index, new SafeUtf8String(c_pszVideoId));
return a_result;
}
public override bool RemoveItemPreview(ulong c_handle, uint c_index)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_RemoveItemPreview(m_instancePtr, c_handle, c_index);
return a_result;
}
public override ulong SubmitItemUpdate(ulong c_handle, string c_pchChangeNote)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SubmitItemUpdate(m_instancePtr, c_handle, new SafeUtf8String(c_pchChangeNote));
return a_result;
}
public override uint GetItemUpdateProgress(ulong c_handle, ref ulong c_punBytesProcessed, ref ulong c_punBytesTotal)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetItemUpdateProgress(m_instancePtr, c_handle, ref c_punBytesProcessed, ref c_punBytesTotal);
return a_result;
}
public override ulong SetUserItemVote(ulong c_nPublishedFileId, bool c_bVoteUp)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SetUserItemVote(m_instancePtr, c_nPublishedFileId, c_bVoteUp);
return a_result;
}
public override ulong GetUserItemVote(ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetUserItemVote(m_instancePtr, c_nPublishedFileId);
return a_result;
}
public override ulong AddItemToFavorites(uint c_nAppId, ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_AddItemToFavorites(m_instancePtr, c_nAppId, c_nPublishedFileId);
return a_result;
}
public override ulong RemoveItemFromFavorites(uint c_nAppId, ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_RemoveItemFromFavorites(m_instancePtr, c_nAppId, c_nPublishedFileId);
return a_result;
}
public override ulong SubscribeItem(ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_SubscribeItem(m_instancePtr, c_nPublishedFileId);
return a_result;
}
public override ulong UnsubscribeItem(ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_UnsubscribeItem(m_instancePtr, c_nPublishedFileId);
return a_result;
}
public override uint GetNumSubscribedItems()
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetNumSubscribedItems(m_instancePtr);
return a_result;
}
public override uint GetSubscribedItems(ref ulong c_pvecPublishedFileId, uint c_cMaxEntries)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetSubscribedItems(m_instancePtr, ref c_pvecPublishedFileId, c_cMaxEntries);
return a_result;
}
public override uint GetItemState(ulong c_nPublishedFileId)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetItemState(m_instancePtr, c_nPublishedFileId);
return a_result;
}
public override bool GetItemInstallInfo(ulong c_nPublishedFileId, ref ulong c_punSizeOnDisk, out string c_pchFolder, ref uint c_punTimeStamp)
{
CheckIfUsable();
var a_stringBuilder = new StringBuilder(2048);
var a_result = SteamAPI_ISteamUGC_GetItemInstallInfo(m_instancePtr, c_nPublishedFileId, ref c_punSizeOnDisk, a_stringBuilder, 2048, ref c_punTimeStamp);
c_pchFolder = a_stringBuilder.ToString();
return a_result;
}
public override bool GetItemDownloadInfo(ulong c_nPublishedFileId, ref ulong c_punBytesDownloaded, ref ulong c_punBytesTotal)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_GetItemDownloadInfo(m_instancePtr, c_nPublishedFileId, ref c_punBytesDownloaded, ref c_punBytesTotal);
return a_result;
}
public override bool DownloadItem(ulong c_nPublishedFileId, bool c_bHighPriority)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_DownloadItem(m_instancePtr, c_nPublishedFileId, c_bHighPriority);
return a_result;
}
public override bool BInitWorkshopForGameServer(uint c_unWorkshopDepotId, string c_pszFolder)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_BInitWorkshopForGameServer(m_instancePtr, c_unWorkshopDepotId, new SafeUtf8String(c_pszFolder));
return a_result;
}
public override void SuspendDownloads(bool c_bSuspend)
{
CheckIfUsable();
SteamAPI_ISteamUGC_SuspendDownloads(m_instancePtr, c_bSuspend);
}
public override ulong StartPlaytimeTracking(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_StartPlaytimeTracking(m_instancePtr, ref c_pvecPublishedFileId, c_unNumPublishedFileIDs);
return a_result;
}
public override ulong StopPlaytimeTracking(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs)
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_StopPlaytimeTracking(m_instancePtr, ref c_pvecPublishedFileId, c_unNumPublishedFileIDs);
return a_result;
}
public override ulong StopPlaytimeTrackingForAllItems()
{
CheckIfUsable();
var a_result = SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems(m_instancePtr);
return a_result;
}
#endregion
}
public abstract class ISteamUgc
{
public abstract IntPtr GetIntPtr();
public abstract ulong CreateQueryUserUgcRequest(uint c_unAccountId, uint c_eListType, uint c_eMatchingUgcType, uint c_eSortOrder, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage);
public abstract ulong CreateQueryAllUgcRequest(uint c_eQueryType, uint c_eMatchingeMatchingUgcTypeFileType, uint c_nCreatorAppId, uint c_nConsumerAppId, uint c_unPage);
public abstract ulong CreateQueryUgcDetailsRequest(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
public abstract ulong SendQueryUgcRequest(ulong c_handle);
public abstract bool GetQueryUgcResult(ulong c_handle, uint c_index, ref SteamUgcDetails c_pDetails);
public abstract bool GetQueryUgcPreviewUrl(ulong c_handle, uint c_index, out string c_pchUrl);
public abstract bool GetQueryUgcMetadata(ulong c_handle, uint c_index, out string c_pchMetadata);
public abstract bool GetQueryUgcChildren(ulong c_handle, uint c_index, ref ulong c_pvecPublishedFileId, uint c_cMaxEntries);
public abstract bool GetQueryUgcStatistic(ulong c_handle, uint c_index, uint c_eStatType, ref ulong c_pStatValue);
public abstract uint GetQueryUgcNumAdditionalPreviews(ulong c_handle, uint c_index);
public abstract bool GetQueryUgcAdditionalPreview(ulong c_handle, uint c_index, uint c_previewIndex, out string c_pchUrlOrVideoId, out string c_pchOriginalFileName, uint c_cchOriginalFileNameSize, ref uint c_pPreviewType);
public abstract uint GetQueryUgcNumKeyValueTags(ulong c_handle, uint c_index);
public abstract bool GetQueryUgcKeyValueTag(ulong c_handle, uint c_index, uint c_keyValueTagIndex, out string c_pchKey, out string c_pchValue);
public abstract bool ReleaseQueryUgcRequest(ulong c_handle);
public abstract bool AddRequiredTag(ulong c_handle, string c_pTagName);
public abstract bool AddExcludedTag(ulong c_handle, string c_pTagName);
public abstract bool SetReturnOnlyIDs(ulong c_handle, bool c_bReturnOnlyIDs);
public abstract bool SetReturnKeyValueTags(ulong c_handle, bool c_bReturnKeyValueTags);
public abstract bool SetReturnLongDescription(ulong c_handle, bool c_bReturnLongDescription);
public abstract bool SetReturnMetadata(ulong c_handle, bool c_bReturnMetadata);
public abstract bool SetReturnChildren(ulong c_handle, bool c_bReturnChildren);
public abstract bool SetReturnAdditionalPreviews(ulong c_handle, bool c_bReturnAdditionalPreviews);
public abstract bool SetReturnTotalOnly(ulong c_handle, bool c_bReturnTotalOnly);
public abstract bool SetLanguage(ulong c_handle, string c_pchLanguage);
public abstract bool SetAllowCachedResponse(ulong c_handle, uint c_unMaxAgeSeconds);
public abstract bool SetCloudFileNameFilter(ulong c_handle, string c_pMatchCloudFileName);
public abstract bool SetMatchAnyTag(ulong c_handle, bool c_bMatchAnyTag);
public abstract bool SetSearchText(ulong c_handle, string c_pSearchText);
public abstract bool SetRankedByTrendDays(ulong c_handle, uint c_unDays);
public abstract bool AddRequiredKeyValueTag(ulong c_handle, string c_pKey, string c_pValue);
public abstract ulong RequestUgcDetails(ulong c_nPublishedFileId, uint c_unMaxAgeSeconds);
public abstract ulong CreateItem(uint c_nConsumerAppId, uint c_eFileType);
public abstract ulong StartItemUpdate(uint c_nConsumerAppId, ulong c_nPublishedFileId);
public abstract bool SetItemTitle(ulong c_handle, string c_pchTitle);
public abstract bool SetItemDescription(ulong c_handle, string c_pchDescription);
public abstract bool SetItemUpdateLanguage(ulong c_handle, string c_pchLanguage);
public abstract bool SetItemMetadata(ulong c_handle, string c_pchMetaData);
public abstract bool SetItemVisibility(ulong c_handle, uint c_eVisibility);
public abstract bool SetItemTags(ulong c_updateHandle, ref SteamParamStringArray c_pTags);
public abstract bool SetItemContent(ulong c_handle, string c_pszContentFolder);
public abstract bool SetItemPreview(ulong c_handle, string c_pszPreviewFile);
public abstract bool RemoveItemKeyValueTags(ulong c_handle, string c_pchKey);
public abstract bool AddItemKeyValueTag(ulong c_handle, string c_pchKey, string c_pchValue);
public abstract bool AddItemPreviewFile(ulong c_handle, string c_pszPreviewFile, uint c_type);
public abstract bool AddItemPreviewVideo(ulong c_handle, string c_pszVideoId);
public abstract bool UpdateItemPreviewFile(ulong c_handle, uint c_index, string c_pszPreviewFile);
public abstract bool UpdateItemPreviewVideo(ulong c_handle, uint c_index, string c_pszVideoId);
public abstract bool RemoveItemPreview(ulong c_handle, uint c_index);
public abstract ulong SubmitItemUpdate(ulong c_handle, string c_pchChangeNote);
public abstract uint GetItemUpdateProgress(ulong c_handle, ref ulong c_punBytesProcessed, ref ulong c_punBytesTotal);
public abstract ulong SetUserItemVote(ulong c_nPublishedFileId, bool c_bVoteUp);
public abstract ulong GetUserItemVote(ulong c_nPublishedFileId);
public abstract ulong AddItemToFavorites(uint c_nAppId, ulong c_nPublishedFileId);
public abstract ulong RemoveItemFromFavorites(uint c_nAppId, ulong c_nPublishedFileId);
public abstract ulong SubscribeItem(ulong c_nPublishedFileId);
public abstract ulong UnsubscribeItem(ulong c_nPublishedFileId);
public abstract uint GetNumSubscribedItems();
public abstract uint GetSubscribedItems(ref ulong c_pvecPublishedFileId, uint c_cMaxEntries);
public abstract uint GetItemState(ulong c_nPublishedFileId);
public abstract bool GetItemInstallInfo(ulong c_nPublishedFileId, ref ulong c_punSizeOnDisk, out string c_pchFolder, ref uint c_punTimeStamp);
public abstract bool GetItemDownloadInfo(ulong c_nPublishedFileId, ref ulong c_punBytesDownloaded, ref ulong c_punBytesTotal);
public abstract bool DownloadItem(ulong c_nPublishedFileId, bool c_bHighPriority);
public abstract bool BInitWorkshopForGameServer(uint c_unWorkshopDepotId, string c_pszFolder);
public abstract void SuspendDownloads(bool c_bSuspend);
public abstract ulong StartPlaytimeTracking(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
public abstract ulong StopPlaytimeTracking(ref ulong c_pvecPublishedFileId, uint c_unNumPublishedFileIDs);
public abstract ulong StopPlaytimeTrackingForAllItems();
}
[StructLayout(LayoutKind.Sequential)]
public struct SteamUgcDetails
{
public ulong PublishedFileId;
public EResult Result;
public EWorkshopFileType FileType;
public uint CreatorAppID;
public uint ConsumerAppID;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 129)]
public string Title; //char[129]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8000)]
public string Description; //char[8000]
public ulong SteamIDOwner;
public uint Created;
public uint Updated;
public uint AddedToUserList;
public ERemoteStoragePublishedFileVisibility Visibility;
[MarshalAs(UnmanagedType.I1)]
public bool Banned;
[MarshalAs(UnmanagedType.I1)]
public bool AcceptedForUse;
[MarshalAs(UnmanagedType.I1)]
public bool TagsTruncated;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1025)]
public string Tags; //char[1025]
public ulong File;
public ulong PreviewFile;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string FileName; //char[260]
public int FileSize;
public int PreviewFileSize;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
public string URL; //char[256]
public uint VotesUp;