Facepunch.Steamworks Wiki

Revision Difference

Creating_Workshop_Items#523920

<cat>code.workshop</cat>⤶ <title>Creating Workshop Items</title>⤶ ⤶ # Creating An Item⤶ ⤶ Creating an item is pretty straight forward.⤶ ⤶ ```⤶ var result = await Ugc.Editor.NewCommunityFile⤶ .WithTitle( "My New Item" )⤶ .WithDescription( itemDescription )⤶ .WithTag( "Map" )⤶ .SubmitAsync();⤶ ```⤶ ⤶ # Uploading An Item⤶ ⤶ The previous example doesn't include any files with the item. To do that we use <page>Ugc.Editor.WithContent</page>.⤶ ⤶ This will upload the contents of that folder as your entry.⤶ ⤶ ```⤶ var result = await Ugc.Editor.NewCommunityFile⤶ .WithTitle( "My New Item" )⤶ .WithDescription( itemDescription )⤶ .WithTag( "Map" )⤶ .WithContent( pathToFolder )⤶ .SubmitAsync();⤶ ```⤶ ⤶ # Showing Progress ⤶ ⤶ ⤶ The submit function <page>Ugc.Editor.SubmitAsync</page> takes an optional parameter of a IProgress<float>.⤶ ⤶ You should be able to use this to show some progress.⤶ ⤶ ⤶ ```⤶ ⤶ class ProgressClass : IProgress<float>⤶ {⤶ float lastvalue = 0;⤶ ⤶ public void Report( float value )⤶ {⤶ if ( lastvalue >= value ) return;⤶ ⤶ lastvalue = value;⤶ ⤶ Console.WriteLine( value );⤶ }⤶ }⤶ ⤶ ...⤶ ⤶ var result = await Ugc.Editor.NewCommunityFile⤶ .WithTitle( "My New Item" )⤶ .WithDescription( itemDescription )⤶ .WithTag( "Map" )⤶ .WithContent( pathToFolder )⤶ .SubmitAsync( new ProgressClass() );⤶ ```⤶ ⤶