diff --git a/.idea/.idea.station_obscurum_temp/.idea/indexLayout.xml b/.idea/.idea.station_obscurum_temp/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.station_obscurum_temp/.idea/indexLayout.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="UserContentModel"> + <attachedFolders /> + <explicitIncludes /> + <explicitExcludes /> + </component> +</project> \ No newline at end of file diff --git a/.idea/.idea.station_obscurum_temp/.idea/projectSettingsUpdater.xml b/.idea/.idea.station_obscurum_temp/.idea/projectSettingsUpdater.xml new file mode 100644 index 0000000..4bb9f4d --- /dev/null +++ b/.idea/.idea.station_obscurum_temp/.idea/projectSettingsUpdater.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RiderProjectSettingsUpdater"> + <option name="vcsConfiguration" value="2" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/.idea.station_obscurum_temp/.idea/vcs.xml b/.idea/.idea.station_obscurum_temp/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.station_obscurum_temp/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/.idea.station_obscurum_temp/.idea/workspace.xml b/.idea/.idea.station_obscurum_temp/.idea/workspace.xml new file mode 100644 index 0000000..51f7f66 --- /dev/null +++ b/.idea/.idea.station_obscurum_temp/.idea/workspace.xml @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="AnalysisUIOptions"> + <option name="SCOPE_TYPE" value="8" /> + <option name="CUSTOM_SCOPE_NAME" value="Project Files" /> + </component> + <component name="AutoImportSettings"> + <option name="autoReloadType" value="SELECTIVE" /> + </component> + <component name="ChangeListManager"> + <list default="true" id="8e9b3697-c9b4-441a-aeed-4ea7b4488600" name="Changes" comment=""> + <change beforePath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/DefaultPrefabObjects.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/DefaultPrefabObjects.asset" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Demos/FishNet.Demos.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Demos/FishNet.Demos.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Example/FishNet.Example.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Example/FishNet.Example.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs.meta" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Runtime/Config.json" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Runtime/Config.json" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Runtime/FishNet.Runtime.asmdef" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/FishNet/Runtime/FishNet.Runtime.asmdef" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/FishNet/Runtime/Transporting/Transports/Tugboat/LiteNetLib/LiteNetLib.csproj.meta" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/CharacterControllerForce.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/CharacterControllerForce.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/DGemItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/DGemItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Darkness/VectorFieldHandler.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Darkness/VectorFieldHandler.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/DynamicLine.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/DynamicLine.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/DummyComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/DummyComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/MonsterComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/MonsterComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enemies/SwarmAnimator.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enemies/SwarmAnimator.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Enviornment/EmissiveLightMatching.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Enviornment/EmissiveLightMatching.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Experimental/TestAnimationParameters.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Experimental/TestAnimationParameters.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Game/InGameManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Game/InGameManager.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Game/InGameMenuManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Game/InGameMenuManager.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Game/Optimizer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Game/Optimizer.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/GemItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/GemItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Holograms/RotatingHologram.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Holograms/RotatingHologram.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Interactable/Insertable.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Interactable/Insertable.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Interactable/Interactable.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Interactable/Interactable.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Interactable/ItemSelector.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Interactable/ItemSelector.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Inventory/Inventory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Inventory/Inventory.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Inventory/TempInventory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Inventory/TempInventory.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/CarryableItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/CarryableItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/DoorInteractable.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/DoorInteractable.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/GenericInteractable.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/GenericInteractable.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/HeavyInteractableItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/HeavyInteractableItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/HeavyItemReceiver.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/HeavyItemReceiver.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/InteractableItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/InteractableItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/KeyItem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/KeyItem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/BulletComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/BulletComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/PistolComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/Pistol/PistolComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/Registers/FlareRegister.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/Registers/FlareRegister.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Item/SpecialItemCycler.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Item/SpecialItemCycler.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/MainMenu/MainMenuManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/MainMenu/MainMenuManager.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/CameraController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/CameraController.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/CameraShift.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/CameraShift.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerAim.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerAim.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerAnimationController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerAnimationController.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerComponent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerComponent.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerInteractionHandler.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerInteractionHandler.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerMovementController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerMovementController.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/StatsOutputScreen.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/StatsOutputScreen.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/ObjectiveText.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/ObjectiveText.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/WaypointMarker.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/WaypointMarker.cs" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/TextMesh Pro/Sprites/EmojiOne.json" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/TextMesh Pro/Sprites/EmojiOne.json" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta" beforeDir="false" /> + <change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/ProjectSettings/SceneTemplateSettings.json" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/SceneTemplateSettings.json" afterDir="false" /> + </list> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="HighlightingSettingsPerFile"> + <setting file="file://$PROJECT_DIR$/Assets/Scripts/Steam/FriendObject.cs" root0="FORCE_HIGHLIGHTING" /> + <setting file="file://$PROJECT_DIR$/Assets/Scripts/Steam/SteamFriendManager.cs" root0="FORCE_HIGHLIGHTING" /> + <setting file="file://$PROJECT_DIR$/Assets/Scripts/Steam/SteamManager.cs" root0="FORCE_HIGHLIGHTING" /> + <setting file="file://$USER_HOME$/Downloads/Unity-Facepunch-Steamwork-tutorial-main/Assets/SteamFriendsManager.cs" root0="SKIP_HIGHLIGHTING" /> + </component> + <component name="MarkdownSettingsMigration"> + <option name="stateVersion" value="1" /> + </component> + <component name="ProjectId" id="2QaKQGlpcBQN822RXF9HTdnO83e" /> + <component name="ProjectViewState"> + <option name="hideEmptyMiddlePackages" value="true" /> + <option name="showLibraryContents" value="true" /> + </component> + <component name="PropertiesComponent">{ + "keyToString": { + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "WebServerToolWindowFactoryState": "false", + "ignore.virus.scanning.warn.message": "true", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "settings.editor.selected.configurable": "preferences.pluginManager", + "vue.rearranger.settings.migration": "true" + }, + "keyToStringList": { + "rider.external.source.directories": [ + "C:\\Users\\madha\\AppData\\Roaming\\JetBrains\\Rider2023.1\\resharper-host\\DecompilerCache", + "C:\\Users\\madha\\AppData\\Roaming\\JetBrains\\Rider2023.1\\resharper-host\\SourcesCache", + "C:\\Users\\madha\\AppData\\Local\\Symbols\\src" + ] + } +}</component> + <component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor"> + <configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable"> + <option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\2021.3.18f1\Editor\Unity.exe" /> + <option name="PROGRAM_PARAMETERS" value="-projectPath C:\Users\madha\Documents\station_obscurum_temp -debugCodeOptimization" /> + <option name="WORKING_DIRECTORY" value="C:\Users\madha\Documents\station_obscurum_temp" /> + <option name="PASS_PARENT_ENVS" value="1" /> + <option name="USE_EXTERNAL_CONSOLE" value="0" /> + <method v="2" /> + </configuration> + <configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable"> + <option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\2021.3.18f1\Editor\Unity.exe" /> + <option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath C:\Users\madha\Documents\station_obscurum_temp -testResults Logs/results.xml -testPlatform EditMode -debugCodeOptimization" /> + <option name="WORKING_DIRECTORY" value="C:\Users\madha\Documents\station_obscurum_temp" /> + <option name="PASS_PARENT_ENVS" value="1" /> + <option name="USE_EXTERNAL_CONSOLE" value="0" /> + <method v="2" /> + </configuration> + <configuration name="Attach to Unity Editor & Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost"> + <option name="allowRunningInParallel" value="false" /> + <option name="listenPortForConnections" value="false" /> + <option name="pid" /> + <option name="projectPathOnTarget" /> + <option name="selectedOptions"> + <list /> + </option> + <method v="2" /> + </configuration> + <configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost"> + <option name="allowRunningInParallel" value="false" /> + <option name="listenPortForConnections" value="false" /> + <option name="pid" /> + <option name="projectPathOnTarget" /> + <option name="selectedOptions"> + <list /> + </option> + <method v="2" /> + </configuration> + </component> + <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="8e9b3697-c9b4-441a-aeed-4ea7b4488600" name="Changes" comment="" /> + <created>1685586236403</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1685586236403</updated> + <workItem from="1685586237466" duration="1661000" /> + <workItem from="1685631913453" duration="701000" /> + <workItem from="1685633165416" duration="1363000" /> + <workItem from="1685636004032" duration="545000" /> + <workItem from="1685636572156" duration="4819000" /> + <workItem from="1685617055026" duration="83000" /> + <workItem from="1685617157524" duration="1587000" /> + </task> + <servers /> + </component> + <component name="TypeScriptGeneratedFilesManager"> + <option name="version" value="3" /> + </component> + <component name="UnityProjectConfiguration" hasMinimizedUI="true" /> + <component name="UnityUnitTestConfiguration" currentTestLauncher="Both" /> + <component name="VcsManagerConfiguration"> + <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" /> + </component> +</project> \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e232cd6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,55 @@ +{ + "files.exclude": + { + "**/.DS_Store":true, + "**/.git":true, + "**/.gitmodules":true, + "**/*.booproj":true, + "**/*.pidb":true, + "**/*.suo":true, + "**/*.user":true, + "**/*.userprefs":true, + "**/*.unityproj":true, + "**/*.dll":true, + "**/*.exe":true, + "**/*.pdf":true, + "**/*.mid":true, + "**/*.midi":true, + "**/*.wav":true, + "**/*.gif":true, + "**/*.ico":true, + "**/*.jpg":true, + "**/*.jpeg":true, + "**/*.png":true, + "**/*.psd":true, + "**/*.tga":true, + "**/*.tif":true, + "**/*.tiff":true, + "**/*.3ds":true, + "**/*.3DS":true, + "**/*.fbx":true, + "**/*.FBX":true, + "**/*.lxo":true, + "**/*.LXO":true, + "**/*.ma":true, + "**/*.MA":true, + "**/*.obj":true, + "**/*.OBJ":true, + "**/*.asset":true, + "**/*.cubemap":true, + "**/*.flare":true, + "**/*.mat":true, + "**/*.meta":true, + "**/*.prefab":true, + "**/*.unity":true, + "build/":true, + "Build/":true, + "Library/":true, + "library/":true, + "obj/":true, + "Obj/":true, + "ProjectSettings/":true, + "temp/":true, + "Temp/":true + } +} \ No newline at end of file diff --git a/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef b/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef index b15e2b3..40be8f1 100644 --- a/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef +++ b/Assets/Adobe/Substance3DForUnity/Editor/Adobe.Substance.Editor.asmdef @@ -1,19 +1,19 @@ { - "name": "Adobe.SubstanceEditor", - "rootNamespace": "Adobe.SubstanceEditor", - "references": [ - "GUID:0322a29457affe94ab4ade0a1555000f", - "GUID:b78cd19d3dcc04e4a8eb1915990b2db1" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "Adobe.SubstanceEditor", + "rootNamespace": "Adobe.SubstanceEditor", + "references": [ + "GUID:0322a29457affe94ab4ade0a1555000f", + "GUID:b78cd19d3dcc04e4a8eb1915990b2db1" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef b/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef index 5904a18..c4c3a15 100644 --- a/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef +++ b/Assets/Adobe/Substance3DForUnity/Runtime/Adobe.Substance.asmdef @@ -1,14 +1,14 @@ { - "name": "Adobe.Substance", - "rootNamespace": "Adobe.Substance", - "references": [], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "Adobe.Substance", + "rootNamespace": "Adobe.Substance", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef b/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef index 9ebba17..3c5b636 100644 --- a/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef +++ b/Assets/Adobe/Substance3DForUnity/Runtime/Runtime/Adobe.Substance.Runtime.asmdef @@ -1,16 +1,16 @@ { - "name": "Adobe.Substance.Runtime", - "rootNamespace": "Adobe.Substance.Runtime", - "references": [ - "GUID:0322a29457affe94ab4ade0a1555000f" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "Adobe.Substance.Runtime", + "rootNamespace": "Adobe.Substance.Runtime", + "references": [ + "GUID:0322a29457affe94ab4ade0a1555000f" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef b/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef index 9e678c5..30efa59 100644 --- a/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef +++ b/Assets/FishNet/CodeGenerating/Unity.FishNet.CodeGen.asmdef @@ -1,19 +1,19 @@ { - "name": "Unity.FishNet.Codegen", - "references": [ - "FishNet.Runtime", - "FishNet.Codegen.Cecil", - "FishNet.Generated" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": true, - "precompiledReferences": [], - "autoReferenced": false, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "Unity.FishNet.Codegen", + "references": [ + "FishNet.Runtime", + "FishNet.Codegen.Cecil", + "FishNet.Generated" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": true, + "precompiledReferences": [], + "autoReferenced": false, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef b/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef index c52c300..1470137 100644 --- a/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef +++ b/Assets/FishNet/CodeGenerating/cecil-0.11.4/MonoFN.Cecil.asmdef @@ -1,15 +1,15 @@ { - "name": "FishNet.Codegen.Cecil", - "references": [], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": true, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "FishNet.Codegen.Cecil", + "references": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": true, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/Demos/FishNet.Demos.asmdef b/Assets/FishNet/Demos/FishNet.Demos.asmdef index 0350994..f82c292 100644 --- a/Assets/FishNet/Demos/FishNet.Demos.asmdef +++ b/Assets/FishNet/Demos/FishNet.Demos.asmdef @@ -1,15 +1,15 @@ { - "name": "FishNet.Demos", - "references": [ - "GUID:7c88a4a7926ee5145ad2dfa06f454c67" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "FishNet.Demos", + "references": [ + "GUID:7c88a4a7926ee5145ad2dfa06f454c67" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef b/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef index 3fdc7d5..a37792f 100644 --- a/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef +++ b/Assets/FishNet/Demos/Network LOD/Prefabs/mydef.asmdef @@ -1,17 +1,17 @@ { - "name": "mydef", - "rootNamespace": "", - "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c", - "GUID:7c88a4a7926ee5145ad2dfa06f454c67" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "mydef", + "rootNamespace": "", + "references": [ + "GUID:75469ad4d38634e559750d17036d5f7c", + "GUID:7c88a4a7926ee5145ad2dfa06f454c67" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity b/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity index 3ff30cb..d1bd189 100644 --- a/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity +++ b/Assets/FishNet/Demos/Network LOD/Scenes/NetworkLOD_Demo.unity @@ -1348,7 +1348,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _steamAppID: 480 - _serverBindAddress: + _serverBindAddress: 76561198308605766 _port: 27015 _maximumClients: 16 _clientAddress: 76561198308605766 diff --git a/Assets/FishNet/Example/FishNet.Example.asmdef b/Assets/FishNet/Example/FishNet.Example.asmdef index bc50a03..dd0e8cf 100644 --- a/Assets/FishNet/Example/FishNet.Example.asmdef +++ b/Assets/FishNet/Example/FishNet.Example.asmdef @@ -1,15 +1,15 @@ { - "name": "FishNet.Example", - "references": [ - "GUID:7c88a4a7926ee5145ad2dfa06f454c67" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "FishNet.Example", + "references": [ + "GUID:7c88a4a7926ee5145ad2dfa06f454c67" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs b/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs deleted file mode 100644 index 0ad7e4e..0000000 --- a/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs +++ /dev/null @@ -1,144 +0,0 @@ -using FishNet; -using FishNet.Transporting; -using Steamworks; -using System; -using System.Net; -using UnityEngine; - -public class SteamManager : MonoBehaviour -{ - #region Serialized. - [Header("Steam Settings")] - /// <summary> - /// Steam application Id. - /// </summary> - [Tooltip("Steam application Id.")] - [SerializeField] - private uint _steamAppID = 480; - - /// <summary> - /// SSteam Mod Directory. - /// </summary> - [Tooltip("Steam Mod Directory.")] - [SerializeField] - private string _modDir = string.Empty; - - /// <summary> - /// Steam Game Description. - /// </summary> - [Tooltip("Steam Game Description.")] - [SerializeField] - private string _gameDesc = string.Empty; - - /// <summary> - /// Steam version. - /// </summary> - [Tooltip("Steam version.")] - [SerializeField] - private string _version = string.Empty; - - [Header("Server Settings")] - /// <summary> - /// Servername. - /// </summary> - [Tooltip("Server Name")] - [SerializeField] - private string _serverName = string.Empty; - - /// <summary> - /// Server Password. - /// </summary> - [Tooltip("Server Password.")] - [SerializeField] - private string _password = string.Empty; - - /// <summary> - /// Steam Server Query Port. - /// </summary> - [Tooltip("Server Query Port.")] - [SerializeField] - private ushort _queryPort = 27016; - - /// <summary> - /// Server VAC Secure. - /// </summary> - [Tooltip("Server VAC Secure.")] - [SerializeField] - private bool _vac = true; - - /// <summary> - /// Server as Dedicated Server. - /// </summary> - [Tooltip("Server as Dedicated Server.")] - [SerializeField] - private bool _ds = true; - #endregion - - void Start() - { -#if UNITY_SERVER - InstanceFinder.ServerManager.StartConnection(); - InstanceFinder.ServerManager.OnServerConnectionState += OnServerConnectionState; -#endif - } - - private void OnServerConnectionState(FishNet.Transporting.ServerConnectionStateArgs state) - { - if (state.ConnectionState == FishNet.Transporting.LocalConnectionState.Started) - { - var serverInit = new SteamServerInit(_modDir, _gameDesc) - { - IpAddress = IPAddress.Parse(InstanceFinder.TransportManager.Transport.GetServerBindAddress(IPAddressType.IPv4)), - GamePort = InstanceFinder.TransportManager.Transport.GetPort(), - QueryPort = _queryPort, - Secure = _vac, - DedicatedServer = _ds, - VersionString = _version, - }; - serverInit.WithRandomSteamPort(); - - try - { - SteamServer.Init(1280590, serverInit, true); - SteamServer.ServerName = _serverName; - SteamServer.MaxPlayers = InstanceFinder.TransportManager.Transport.GetMaximumClients(); - SteamServer.Passworded = !string.IsNullOrEmpty(_password); - - SteamServer.DedicatedServer = _ds; - SteamServer.AutomaticHeartbeats = true; - - SteamServer.LogOnAnonymous(); - - SteamServer.OnSteamServersConnected += OnSteamServersConnected; - SteamServer.OnSteamServersDisconnected += OnSteamServersDisconnected; - SteamServer.OnSteamServerConnectFailure += OnSteamServerConnectFailure; - - if (!SteamServer.IsValid) - { - Debug.LogWarning("Couldn't initialize server"); - return; - } - } - catch (Exception ex) - { - Debug.LogError("Couldn't initialize Steam server (" + ex.Message + ")"); - Application.Quit(); - } - } - } - - private void OnSteamServersConnected() - { - Debug.Log("Dedicated Server connected to Steam successfully"); - } - - private void OnSteamServerConnectFailure(Result result, bool stilltrying) - { - Debug.Log("Dedicated Server failed to connect to Steam"); - } - - private void OnSteamServersDisconnected(Result result) - { - Debug.Log("Dedicated Server got logged out of Steam"); - } -} diff --git a/Assets/FishNet/Runtime/Config.json b/Assets/FishNet/Runtime/Config.json index a24f387..a2e3019 100644 --- a/Assets/FishNet/Runtime/Config.json +++ b/Assets/FishNet/Runtime/Config.json @@ -1 +1,3 @@ -{"StripReleaseBuilds":true} \ No newline at end of file +{ + "StripReleaseBuilds": true +} \ No newline at end of file diff --git a/Assets/FishNet/Runtime/FishNet.Runtime.asmdef b/Assets/FishNet/Runtime/FishNet.Runtime.asmdef index ea60e5c..9ff34a4 100644 --- a/Assets/FishNet/Runtime/FishNet.Runtime.asmdef +++ b/Assets/FishNet/Runtime/FishNet.Runtime.asmdef @@ -1,17 +1,17 @@ { - "name": "FishNet.Runtime", - "references": [ - "GUID:9e24947de15b9834991c9d8411ea37cf", - "GUID:84651a3751eca9349aac36a66bba901b", - "GUID:69448af7b92c7f342b298e06a37122aa" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false + "name": "FishNet.Runtime", + "references": [ + "GUID:9e24947de15b9834991c9d8411ea37cf", + "GUID:84651a3751eca9349aac36a66bba901b", + "GUID:69448af7b92c7f342b298e06a37122aa" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta index 1e31fb9..542717d 100644 --- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta +++ b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.dll.meta @@ -12,7 +12,7 @@ PluginImporter: validateReferences: 1 platformData: - first: - '': Any + : Any second: enabled: 0 settings: diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml index 414ee29..859dd91 100644 --- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml +++ b/Assets/Packages/Facepunch/Facepunch.Steamworks.Posix.xml @@ -6,1356 +6,1385 @@ <members> <member name="T:Steamworks.CallResult`1"> <summary> - An awaitable version of a SteamAPICall_t + An awaitable version of a SteamAPICall_t </summary> </member> <member name="M:Steamworks.CallResult`1.OnCompleted(System.Action)"> <summary> - This gets called if IsComplete returned false on the first call. - The Action "continues" the async call. We pass it to the Dispatch - to be called when the callback returns. + This gets called if IsComplete returned false on the first call. + The Action "continues" the async call. We pass it to the Dispatch + to be called when the callback returns. </summary> </member> <member name="M:Steamworks.CallResult`1.GetResult"> <summary> - Gets the result. This is called internally by the async shit. + Gets the result. This is called internally by the async shit. </summary> </member> <member name="P:Steamworks.CallResult`1.IsCompleted"> <summary> - Return true if complete or failed + Return true if complete or failed </summary> </member> <member name="M:Steamworks.CallResult`1.GetAwaiter"> <summary> - This is what makes this struct awaitable + This is what makes this struct awaitable </summary> </member> <member name="T:Steamworks.ICallbackData"> <summary> - Gives us a generic way to get the CallbackId of structs + Gives us a generic way to get the CallbackId of structs </summary> </member> <member name="M:Steamworks.AuthTicket.Cancel"> <summary> - Cancels a ticket. - You should cancel your ticket when you close the game or leave a server. + Cancels a ticket. + You should cancel your ticket when you close the game or leave a server. </summary> </member> <member name="T:Steamworks.Dispatch"> <summary> - Responsible for all callback/callresult handling - - This manually pumps Steam's message queue and dispatches those - events to any waiting callbacks/callresults. + Responsible for all callback/callresult handling + + This manually pumps Steam's message queue and dispatches those + events to any waiting callbacks/callresults. </summary> </member> <member name="F:Steamworks.Dispatch.OnDebugCallback"> <summary> - If set then we'll call this function every time a callback is generated. - - This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific - callback then please create an issue on github and I'll add it! - - Params are : [Callback Type] [Callback Contents] [server] - + If set then we'll call this function every time a callback is generated. + + This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific + callback then please create an issue on github and I'll add it! + + Params are : [Callback Type] [Callback Contents] [server] + </summary> </member> <member name="F:Steamworks.Dispatch.OnException"> <summary> - Called if an exception happens during a callback/callresult. - This is needed because the exception isn't always accessible when running - async.. and can fail silently. With this hooked you won't be stuck wondering - what happened. + Called if an exception happens during a callback/callresult. + This is needed because the exception isn't always accessible when running + async.. and can fail silently. With this hooked you won't be stuck wondering + what happened. </summary> </member> <member name="M:Steamworks.Dispatch.Init"> <summary> - This gets called from Client/Server Init - It's important to switch to the manual dispatcher + This gets called from Client/Server Init + It's important to switch to the manual dispatcher </summary> </member> <member name="F:Steamworks.Dispatch.runningFrame"> <summary> - Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. + Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. </summary> </member> <member name="M:Steamworks.Dispatch.Frame(Steamworks.Data.HSteamPipe)"> <summary> - Calls RunFrame and processes events from this Steam Pipe + Calls RunFrame and processes events from this Steam Pipe </summary> </member> <member name="F:Steamworks.Dispatch.actionsToCall"> <summary> - To be safe we don't call the continuation functions while iterating - the Callback list. This is maybe overly safe because the only way this - could be an issue is if the callback list is modified in the continuation - which would only happen if starting or shutting down in the callback. + To be safe we don't call the continuation functions while iterating + the Callback list. This is maybe overly safe because the only way this + could be an issue is if the callback list is modified in the continuation + which would only happen if starting or shutting down in the callback. </summary> </member> <member name="M:Steamworks.Dispatch.ProcessCallback(Steamworks.Dispatch.CallbackMsg_t,System.Boolean)"> <summary> - A callback is a general global message + A callback is a general global message </summary> </member> <member name="M:Steamworks.Dispatch.CallbackToString(Steamworks.CallbackType,System.IntPtr,System.Int32)"> <summary> - Given a callback, try to turn it into a string + Given a callback, try to turn it into a string </summary> </member> <member name="M:Steamworks.Dispatch.ProcessResult(Steamworks.Dispatch.CallbackMsg_t)"> <summary> - A result is a reply to a specific command + A result is a reply to a specific command </summary> </member> <member name="M:Steamworks.Dispatch.LoopClientAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.LoopServerAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.OnCallComplete``1(Steamworks.Data.SteamAPICall_t,System.Action,System.Boolean)"> <summary> - Watch for a steam api call + Watch for a steam api call </summary> </member> <member name="M:Steamworks.Dispatch.Install``1(System.Action{``0},System.Boolean)"> <summary> - Install a global callback. The passed function will get called if it's all good. + Install a global callback. The passed function will get called if it's all good. </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.Numeric"> <summary> - The score is just a simple numerical value + The score is just a simple numerical value </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeSeconds"> <summary> - The score represents a time, in seconds + The score represents a time, in seconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeMilliSeconds"> <summary> - The score represents a time, in milliseconds + The score represents a time, in milliseconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Ascending"> <summary> - The top-score is the lowest number + The top-score is the lowest number </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Descending"> <summary> - The top-score is the highest number + The top-score is the highest number </summary> </member> <member name="F:Steamworks.Data.SendType.Unreliable"> - <summary> - Send the message unreliably. Can be lost. Messages *can* be larger than a - single MTU (UDP packet), but there is no retransmission, so if any piece - of the message is lost, the entire message will be dropped. - - The sending API does have some knowledge of the underlying connection, so - if there is no NAT-traversal accomplished or there is a recognized adjustment - happening on the connection, the packet will be batched until the connection - is open again. - </summary> + <summary> + Send the message unreliably. Can be lost. Messages *can* be larger than a + single MTU (UDP packet), but there is no retransmission, so if any piece + of the message is lost, the entire message will be dropped. + + The sending API does have some knowledge of the underlying connection, so + if there is no NAT-traversal accomplished or there is a recognized adjustment + happening on the connection, the packet will be batched until the connection + is open again. + </summary> </member> <member name="F:Steamworks.Data.SendType.NoNagle"> <summary> - Disable Nagle's algorithm. - By default, Nagle's algorithm is applied to all outbound messages. This means - that the message will NOT be sent immediately, in case further messages are - sent soon after you send this, which can be grouped together. Any time there - is enough buffered data to fill a packet, the packets will be pushed out immediately, - but partially-full packets not be sent until the Nagle timer expires. + Disable Nagle's algorithm. + By default, Nagle's algorithm is applied to all outbound messages. This means + that the message will NOT be sent immediately, in case further messages are + sent soon after you send this, which can be grouped together. Any time there + is enough buffered data to fill a packet, the packets will be pushed out immediately, + but partially-full packets not be sent until the Nagle timer expires. </summary> </member> <member name="F:Steamworks.Data.SendType.NoDelay"> <summary> - If the message cannot be sent very soon (because the connection is still doing some initial - handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable - messages. Using this flag on reliable messages is invalid. + If the message cannot be sent very soon (because the connection is still doing some initial + handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable + messages. Using this flag on reliable messages is invalid. </summary> </member> <member name="F:Steamworks.Data.SendType.Reliable"> - Reliable message send. Can send up to 0.5mb in a single message. + Reliable message send. Can send up to 0.5mb in a single message. Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. </member> <member name="P:Steamworks.Data.NetIdentity.LocalHost"> <summary> - Return a NetIdentity that represents LocalHost + Return a NetIdentity that represents LocalHost </summary> </member> <member name="P:Steamworks.Data.NetIdentity.IsLocalHost"> <summary> - Return true if this identity is localhost + Return true if this identity is localhost </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.SteamId)~Steamworks.Data.NetIdentity"> <summary> - Convert to a SteamId + Convert to a SteamId </summary> <param name="value"></param> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetAddress)~Steamworks.Data.NetIdentity"> <summary> - Set the specified Address + Set the specified Address </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetIdentity)~Steamworks.SteamId"> <summary> - Automatically convert to a SteamId + Automatically convert to a SteamId </summary> <param name="value"></param> </member> <member name="P:Steamworks.Data.NetIdentity.SteamId"> <summary> - Returns NULL if we're not a SteamId + Returns NULL if we're not a SteamId </summary> </member> <member name="P:Steamworks.Data.NetIdentity.Address"> <summary> - Returns NULL if we're not a NetAddress + Returns NULL if we're not a NetAddress </summary> </member> <member name="M:Steamworks.Data.NetIdentity.ToString"> <summary> - We override tostring to provide a sensible representation + We override tostring to provide a sensible representation </summary> </member> <member name="P:Steamworks.Data.NetAddress.Port"> <summary> - The Port. This is redundant documentation. + The Port. This is redundant documentation. </summary> </member> <member name="M:Steamworks.Data.NetAddress.AnyIp(System.UInt16)"> <summary> - Any IP, specific port + Any IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.LocalHost(System.UInt16)"> <summary> - Localhost IP, specific port + Localhost IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.String,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.Net.IPAddress,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="P:Steamworks.Data.NetAddress.Cleared"> <summary> - Set everything to zero + Set everything to zero </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv6AllZeros"> <summary> - Return true if the IP is ::0. (Doesn't check port.) + Return true if the IP is ::0. (Doesn't check port.) </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv4"> <summary> - Return true if IP is mapped IPv4 + Return true if IP is mapped IPv4 </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsLocalHost"> <summary> - Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) + Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) </summary> </member> <member name="P:Steamworks.Data.NetAddress.Address"> <summary> - Get the Address section + Get the Address section </summary> </member> <member name="T:Steamworks.Data.Connection"> <summary> - Used as a base to create your client connection. This creates a socket - to a single connection. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your client connection. This creates a socket + to a single connection. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.Data.Connection.Accept"> <summary> - Accept an incoming connection that has been received on a listen socket. + Accept an incoming connection that has been received on a listen socket. </summary> </member> <member name="M:Steamworks.Data.Connection.Close(System.Boolean,System.Int32,System.String)"> <summary> - Disconnects from the remote host and invalidates the connection handle. Any unread data on the connection is discarded.. - reasonCode is defined and used by you. + Disconnects from the remote host and invalidates the connection handle. Any unread data on the + connection is discarded.. + reasonCode is defined and used by you. </summary> </member> <member name="P:Steamworks.Data.Connection.UserData"> <summary> - Get/Set connection user data + Get/Set connection user data </summary> </member> <member name="P:Steamworks.Data.Connection.ConnectionName"> <summary> - A name for the connection, used mostly for debugging + A name for the connection, used mostly for debugging </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.IntPtr,System.Int32,Steamworks.Data.SendType)"> <summary> - This is the best version to use. + This is the best version to use. </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],System.Int32,System.Int32,Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.String,Steamworks.Data.SendType)"> <summary> - This creates a ton of garbage - so don't do anything with this beyond testing! + This creates a ton of garbage - so don't do anything with this beyond testing! </summary> </member> <member name="M:Steamworks.Data.Connection.Flush"> <summary> - Flush any messages waiting on the Nagle timer and send them at the next transmission - opportunity (often that means right now). + Flush any messages waiting on the Nagle timer and send them at the next transmission + opportunity (often that means right now). </summary> </member> <member name="M:Steamworks.Data.Connection.DetailedStatus"> <summary> - Returns detailed connection stats in text format. Useful - for dumping to a log, etc. + Returns detailed connection stats in text format. Useful + for dumping to a log, etc. </summary> <returns>Plain text connection info</returns> </member> <member name="T:Steamworks.Data.ConnectionInfo"> <summary> - Describe the state of a connection + Describe the state of a connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.State"> <summary> - High level state of the connection + High level state of the connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Address"> <summary> - Remote address. Might be all 0's if we don't know it, or if this is N/A. + Remote address. Might be all 0's if we don't know it, or if this is N/A. </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Identity"> <summary> - Who is on the other end? Depending on the connection type and phase of the connection, we might not know + Who is on the other end? Depending on the connection type and phase of the connection, we might not know </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.EndReason"> <summary> - Basic cause of the connection termination or problem. + Basic cause of the connection termination or problem. </summary> </member> <member name="T:Steamworks.Data.NetPingLocation"> - <summary> - - Object that describes a "location" on the Internet with sufficient - detail that we can reasonably estimate an upper bound on the ping between - the two hosts, even if a direct route between the hosts is not possible, - and the connection must be routed through the Steam Datagram Relay network. - This does not contain any information that identifies the host. Indeed, - if two hosts are in the same building or otherwise have nearly identical - networking characteristics, then it's valid to use the same location - object for both of them. - - NOTE: This object should only be used in the same process! Do not serialize it, - send it over the wire, or persist it in a file or database! If you need - to do that, convert it to a string representation using the methods in - ISteamNetworkingUtils(). - - </summary> + <summary> + + Object that describes a "location" on the Internet with sufficient + detail that we can reasonably estimate an upper bound on the ping between + the two hosts, even if a direct route between the hosts is not possible, + and the connection must be routed through the Steam Datagram Relay network. + This does not contain any information that identifies the host. Indeed, + if two hosts are in the same building or otherwise have nearly identical + networking characteristics, then it's valid to use the same location + object for both of them. + + NOTE: This object should only be used in the same process! Do not serialize it, + send it over the wire, or persist it in a file or database! If you need + to do that, convert it to a string representation using the methods in + ISteamNetworkingUtils(). + + </summary> </member> <member name="M:Steamworks.Data.NetPingLocation.EstimatePingTo(Steamworks.Data.NetPingLocation)"> - Estimate the round-trip latency between two arbitrary locations, in - milliseconds. This is a conservative estimate, based on routing through - the relay network. For most basic relayed connections, this ping time - will be pretty accurate, since it will be based on the route likely to - be actually used. - - If a direct IP route is used (perhaps via NAT traversal), then the route - will be different, and the ping time might be better. Or it might actually - be a bit worse! Standard IP routing is frequently suboptimal! - - But even in this case, the estimate obtained using this method is a - reasonable upper bound on the ping time. (Also it has the advantage - of returning immediately and not sending any packets.) - - In a few cases we might not able to estimate the route. In this case - a negative value is returned. k_nSteamNetworkingPing_Failed means - the reason was because of some networking difficulty. (Failure to - ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot - currently answer the question for some other reason. - - Do you need to be able to do this from a backend/matchmaking server? - You are looking for the "ticketgen" library. + Estimate the round-trip latency between two arbitrary locations, in + milliseconds. This is a conservative estimate, based on routing through + the relay network. For most basic relayed connections, this ping time + will be pretty accurate, since it will be based on the route likely to + be actually used. + + If a direct IP route is used (perhaps via NAT traversal), then the route + will be different, and the ping time might be better. Or it might actually + be a bit worse! Standard IP routing is frequently suboptimal! + + But even in this case, the estimate obtained using this method is a + reasonable upper bound on the ping time. (Also it has the advantage + of returning immediately and not sending any packets.) + + In a few cases we might not able to estimate the route. In this case + a negative value is returned. k_nSteamNetworkingPing_Failed means + the reason was because of some networking difficulty. (Failure to + ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot + currently answer the question for some other reason. + + Do you need to be able to do this from a backend/matchmaking server? + You are looking for the "ticketgen" library. </member> <member name="M:Steamworks.Data.Socket.Close"> <summary> - Destroy a listen socket. All the connections that were accepting on the listen - socket are closed ungracefully. + Destroy a listen socket. All the connections that were accepting on the listen + socket are closed ungracefully. </summary> </member> <member name="P:Steamworks.Data.Achievement.State"> <summary> - True if unlocked + True if unlocked </summary> </member> <member name="P:Steamworks.Data.Achievement.UnlockTime"> <summary> - Should hold the unlock time if State is true + Should hold the unlock time if State is true </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIcon"> <summary> - Gets the icon of the achievement. This can return a null image even though the image exists if the image - hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be downloaded. + Gets the icon of the achievement. This can return a null image even though the image exists if the image + hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be + downloaded. </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIconAsync(System.Int32)"> <summary> - Gets the icon of the achievement, waits for it to load if we have to + Gets the icon of the achievement, waits for it to load if we have to </summary> </member> <member name="P:Steamworks.Data.Achievement.GlobalUnlocked"> <summary> - Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data available. + Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data + available. </summary> </member> <member name="M:Steamworks.Data.Achievement.Trigger(System.Boolean)"> <summary> - Make this achievement earned + Make this achievement earned </summary> </member> <member name="M:Steamworks.Data.Achievement.Clear"> <summary> - Reset this achievement to not achieved + Reset this achievement to not achieved </summary> </member> <member name="T:Steamworks.Data.DurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero + rate. </summary> </member> <member name="P:Steamworks.Data.DurationControl.Appid"> <summary> - appid generating playtime + appid generating playtime </summary> </member> <member name="P:Steamworks.Data.DurationControl.Applicable"> <summary> - is duration control applicable to user + game combination + is duration control applicable to user + game combination </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeInLastFiveHours"> <summary> - playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in seconds + playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in + seconds </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeToday"> <summary> - playtime on current calendar day + playtime on current calendar day </summary> </member> <member name="P:Steamworks.Data.DurationControl.Progress"> <summary> - recommended progress + recommended progress </summary> </member> <member name="P:Steamworks.Data.Leaderboard.Name"> <summary> - the name of a leaderboard + the name of a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.ReplaceScore(System.Int32,System.Int32[])"> <summary> - Submit your score and replace your old score even if it was better + Submit your score and replace your old score even if it was better </summary> </member> <member name="M:Steamworks.Data.Leaderboard.SubmitScoreAsync(System.Int32,System.Int32[])"> <summary> - Submit your new score, but won't replace your high score if it's lower + Submit your new score, but won't replace your high score if it's lower </summary> </member> <member name="M:Steamworks.Data.Leaderboard.AttachUgc(Steamworks.Data.Ugc)"> <summary> - Attaches a piece of user generated content the user's entry on a leaderboard + Attaches a piece of user generated content the user's entry on a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAsync(System.Int32,System.Int32)"> <summary> - Used to query for a sequential range of leaderboard entries by leaderboard Sort. + Used to query for a sequential range of leaderboard entries by leaderboard Sort. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAroundUserAsync(System.Int32,System.Int32)"> <summary> - Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the leaderboard - before or after the user's entry, Steam will adjust the range to try to return the number of entries requested. - For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will return the first - 5 entries in the leaderboard. If The current user has no entry, this will return null. + Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the + leaderboard + before or after the user's entry, Steam will adjust the range to try to return the number of entries + requested. + For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will + return the first + 5 entries in the leaderboard. If The current user has no entry, this will return null. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresFromFriendsAsync"> <summary> - Used to retrieve all leaderboard entries for friends of the current user + Used to retrieve all leaderboard entries for friends of the current user </summary> </member> <member name="M:Steamworks.Data.Lobby.Join"> <summary> - Try to join this room. Will return RoomEnter.Success on success, - and anything else is a failure + Try to join this room. Will return RoomEnter.Success on success, + and anything else is a failure </summary> </member> <member name="M:Steamworks.Data.Lobby.Leave"> <summary> - Leave a lobby; this will take effect immediately on the client side - other users in the lobby will be notified by a LobbyChatUpdate_t callback + Leave a lobby; this will take effect immediately on the client side + other users in the lobby will be notified by a LobbyChatUpdate_t callback </summary> </member> <member name="M:Steamworks.Data.Lobby.InviteFriend(Steamworks.SteamId)"> <summary> - Invite another user to the lobby - will return true if the invite is successfully sent, whether or not the target responds - returns false if the local user is not connected to the Steam servers + Invite another user to the lobby + will return true if the invite is successfully sent, whether or not the target responds + returns false if the local user is not connected to the Steam servers </summary> </member> <member name="P:Steamworks.Data.Lobby.MemberCount"> <summary> - returns the number of users in the specified lobby + returns the number of users in the specified lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Members"> <summary> - Returns current members. Need to be in the lobby to see the users. + Returns current members. Need to be in the lobby to see the users. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetData(System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetData(System.String,System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.DeleteData(System.String)"> <summary> - Removes a metadata key from the lobby + Removes a metadata key from the lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Data"> <summary> - Get all data for this lobby + Get all data for this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.GetMemberData(Steamworks.Friend,System.String)"> <summary> - Gets per-user metadata for someone in this lobby + Gets per-user metadata for someone in this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetMemberData(System.String,System.String)"> <summary> - Sets per-user metadata (for the local user implicitly) + Sets per-user metadata (for the local user implicitly) </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatString(System.String)"> <summary> - Sends a string to the chat room + Sends a string to the chat room </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatBytes(System.Byte[])"> <summary> - Sends bytes the the chat room - this isn't exposed because there's no way to read raw bytes atm, - and I figure people can send json if they want something more advanced + Sends bytes the the chat room + this isn't exposed because there's no way to read raw bytes atm, + and I figure people can send json if they want something more advanced </summary> </member> <member name="M:Steamworks.Data.Lobby.Refresh"> <summary> - Refreshes metadata for a lobby you're not necessarily in right now - you never do this for lobbies you're a member of, only if your - this will send down all the metadata associated with a lobby - this is an asynchronous call - returns false if the local user is not connected to the Steam servers - results will be returned by a LobbyDataUpdate_t callback - if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + Refreshes metadata for a lobby you're not necessarily in right now + you never do this for lobbies you're a member of, only if your + this will send down all the metadata associated with a lobby + this is an asynchronous call + returns false if the local user is not connected to the Steam servers + results will be returned by a LobbyDataUpdate_t callback + if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false </summary> </member> <member name="P:Steamworks.Data.Lobby.MaxMembers"> <summary> - Max members able to join this lobby. Cannot be over 250. - Can only be set by the owner + Max members able to join this lobby. Cannot be over 250. + Can only be set by the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(Steamworks.SteamId)"> <summary> - [SteamID variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [SteamID variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(System.String,System.UInt16)"> <summary> - [IP/Port variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [IP/Port variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetGameServer(System.UInt32@,System.UInt16@,Steamworks.SteamId@)"> <summary> - Gets the details of the lobby's game server, if set. Returns true if the lobby is - valid and has a server set, otherwise returns false. + Gets the details of the lobby's game server, if set. Returns true if the lobby is + valid and has a server set, otherwise returns false. </summary> </member> <member name="P:Steamworks.Data.Lobby.Owner"> <summary> - You must be the lobby owner to set the owner + You must be the lobby owner to set the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.IsOwnedBy(Steamworks.SteamId)"> <summary> - Check if the specified SteamId owns the lobby + Check if the specified SteamId owns the lobby </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceClose"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceFar"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceWorldwide"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithKeyValue(System.String,System.String)"> <summary> - Filter by specified key/value pair; string parameters + Filter by specified key/value pair; string parameters </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithLower(System.String,System.Int32)"> <summary> - Numerical filter where value is less than the value provided + Numerical filter where value is less than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithHigher(System.String,System.Int32)"> <summary> - Numerical filter where value is greater than the value provided + Numerical filter where value is greater than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must be equal to the value provided + Numerical filter where value must be equal to the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithNotEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must not equal the value provided + Numerical filter where value must not equal the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.AddNumericalFilter(System.String,System.Int32,Steamworks.LobbyComparison)"> <summary> - Test key, initialize numerical filter list if necessary, then add new numerical filter + Test key, initialize numerical filter list if necessary, then add new numerical filter </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.OrderByNear(System.String,System.Int32)"> <summary> - Order filtered results according to key/values nearest the provided key/value pair. - Can specify multiple near value filters; each successive filter is lower priority than the previous. + Order filtered results according to key/values nearest the provided key/value pair. + Can specify multiple near value filters; each successive filter is lower priority than the previous. </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithSlotsAvailable(System.Int32)"> <summary> - returns only lobbies with the specified number of slots available + returns only lobbies with the specified number of slots available </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithMaxResults(System.Int32)"> <summary> - sets how many results to return, the lower the count the faster it is to download the lobby results + sets how many results to return, the lower the count the faster it is to download the lobby results </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.RequestAsync"> <summary> - Run the query, get the matching lobbies + Run the query, get the matching lobbies </summary> </member> <member name="T:Steamworks.Data.OutgoingPacket"> <summary> - A server query packet. + A server query packet. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Address"> <summary> - Target IP address + Target IP address </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Port"> <summary> - Target port + Target port </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Data"> <summary> - This data is pooled. Make a copy if you don't use it immediately. - This buffer is also quite large - so pay attention to Size. + This data is pooled. Make a copy if you don't use it immediately. + This buffer is also quite large - so pay attention to Size. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Size"> <summary> - Size of the data + Size of the data </summary> </member> <member name="T:Steamworks.Data.RemotePlaySession"> <summary> - Represents a RemotePlaySession from the SteamRemotePlay interface + Represents a RemotePlaySession from the SteamRemotePlay interface </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.IsValid"> <summary> - Returns true if this session was valid when created. This will stay true even - after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected + Returns true if this session was valid when created. This will stay true even + after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.SteamId"> <summary> - Get the SteamID of the connected user + Get the SteamID of the connected user </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.ClientName"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.FormFactor"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagUser(Steamworks.SteamId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.SetLocation(System.String)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagPublishedFile(Steamworks.Data.PublishedFileId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="P:Steamworks.Data.ServerInfo.Tags"> <summary> - Gets the individual tags for this server + Gets the individual tags for this server </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToHistory"> <summary> - Add this server to our history list - If we're already in the history list, weill set the last played time to now + Add this server to our history list + If we're already in the history list, weill set the last played time to now </summary> </member> <member name="M:Steamworks.Data.ServerInfo.QueryRulesAsync"> <summary> - If this server responds to source engine style queries, we'll be able to get a list of rules here + If this server responds to source engine style queries, we'll be able to get a list of rules here </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromHistory"> <summary> - Remove this server from our history list + Remove this server from our history list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToFavourites"> <summary> - Add this server to our favourite list + Add this server to our favourite list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromFavourites"> <summary> - Remove this server from our favourite list + Remove this server from our favourite list </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultStatus(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Find out the status of an asynchronous inventory result handle. + Find out the status of an asynchronous inventory result handle. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultItems(Steamworks.Data.SteamInventoryResult_t,Steamworks.Data.SteamItemDetails_t[],System.UInt32@)"> <summary> - Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used. + Copies the contents of a result set into a flat array. The specific contents of the result set depend on + which query which was used. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultTimestamp(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age. + Returns the server time at which the result was generated. Compare against the value of + IClientUtils::GetServerRealTime() to determine age. </summary> </member> <member name="M:Steamworks.ISteamInventory.CheckResultSteamID(Steamworks.Data.SteamInventoryResult_t,Steamworks.SteamId)"> <summary> - Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory. + Returns true if the result belongs to the target steam ID or false if the result does not. This is + important when using DeserializeResult to verify that a remote player is not pretending to have a + different users inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.DestroyResult(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Destroys a result handle and frees all associated memory. + Destroys a result handle and frees all associated memory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetAllItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - Captures the entire state of the current users Steam inventory. + Captures the entire state of the current users Steam inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetItemsByID(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId@,System.UInt32)"> <summary> - Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs. + Captures the state of a subset of the current users Steam inventory identified by an array of item + instance IDs. </summary> </member> <member name="M:Steamworks.ISteamInventory.GrantPromoItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only). + GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the + items (one time only). </summary> </member> <member name="M:Steamworks.ISteamInventory.ConsumeItem(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId,System.UInt32)"> <summary> - ConsumeItem() removes items from the inventory permanently. + ConsumeItem() removes items from the inventory permanently. </summary> </member> <member name="M:Steamworks.ISteamInventory.SendItemDropHeartbeat"> <summary> - Deprecated method. Playtime accounting is performed on the Steam servers. + Deprecated method. Playtime accounting is performed on the Steam servers. </summary> </member> <member name="M:Steamworks.ISteamInventory.TriggerItemDrop(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryDefId)"> <summary> - Playtime credit must be consumed and turned into item drops by your game. + Playtime credit must be consumed and turned into item drops by your game. </summary> </member> <member name="M:Steamworks.ISteamInventory.LoadItemDefinitions"> <summary> - LoadItemDefinitions triggers the automatic load and refresh of item definitions. + LoadItemDefinitions triggers the automatic load and refresh of item definitions. </summary> </member> <member name="M:Steamworks.ISteamUserStats.DownloadLeaderboardEntriesForUsers(Steamworks.Data.SteamLeaderboard_t,Steamworks.SteamId[],System.Int32)"> <summary> - Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is + k_ELeaderboardDataRequestUsers </summary> </member> <member name="P:Steamworks.ConnectionManager.Interface"> <summary> - An optional interface to use instead of deriving + An optional interface to use instead of deriving </summary> </member> <member name="F:Steamworks.ConnectionManager.Connection"> <summary> - The actual connection we're managing + The actual connection we're managing </summary> </member> <member name="P:Steamworks.ConnectionManager.ConnectionInfo"> <summary> - The last received ConnectionInfo + The last received ConnectionInfo </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We're trying to connect! + We're trying to connect! </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.ConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We started connecting to this guy + We started connecting to this guy </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.IConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - We got disconnected + We got disconnected </summary> </member> <member name="M:Steamworks.IConnectionManager.OnMessage(System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message + Received a message </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Must call Accept or Close on the connection within a second or so + Must call Accept or Close on the connection within a second or so </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.ISocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection leaves + Called when the connection leaves </summary> </member> <member name="M:Steamworks.ISocketManager.OnMessage(Steamworks.Data.Connection,Steamworks.Data.NetIdentity,System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message from a connection + Received a message from a connection </summary> </member> <member name="T:Steamworks.SocketManager"> <summary> - Used as a base to create your networking server. This creates a socket - and listens/communicates with multiple queries. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your networking server. This creates a socket + and listens/communicates with multiple queries. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.SocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Default behaviour is to accept every connection + Default behaviour is to accept every connection </summary> </member> <member name="M:Steamworks.SocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.SocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="P:Steamworks.ServerList.Base.AppId"> <summary> - Which app we're querying. Defaults to the current app. + Which app we're querying. Defaults to the current app. </summary> </member> <member name="E:Steamworks.ServerList.Base.OnChanges"> <summary> - When a new server is added, this function will get called + When a new server is added, this function will get called </summary> </member> <member name="E:Steamworks.ServerList.Base.OnResponsiveServer"> <summary> - Called for every responsive server + Called for every responsive server </summary> </member> <member name="F:Steamworks.ServerList.Base.Responsive"> <summary> - A list of servers that responded. If you're only interested in servers that responded since you - last updated, then simply clear this list. + A list of servers that responded. If you're only interested in servers that responded since you + last updated, then simply clear this list. </summary> </member> <member name="F:Steamworks.ServerList.Base.Unresponsive"> <summary> - A list of servers that were in the master list but didn't respond. + A list of servers that were in the master list but didn't respond. </summary> </member> <member name="M:Steamworks.ServerList.Base.RunQueryAsync(System.Single)"> <summary> - Query the server list. Task result will be true when finished + Query the server list. Task result will be true when finished </summary> <returns></returns> </member> <member name="T:Steamworks.SteamApps"> <summary> - Exposes a wide range of information and actions for applications and Downloadable Content (DLC). + Exposes a wide range of information and actions for applications and Downloadable Content (DLC). </summary> </member> <member name="E:Steamworks.SteamApps.OnDlcInstalled"> <summary> - posted after the user gains ownership of DLC and that DLC is installed + posted after the user gains ownership of DLC and that DLC is installed </summary> </member> <member name="E:Steamworks.SteamApps.OnNewLaunchParameters"> <summary> - posted after the user gains executes a Steam URL with command line or query parameters - such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc - while the game is already running. The new params can be queried - with GetLaunchQueryParam and GetLaunchCommandLine + posted after the user gains executes a Steam URL with command line or query parameters + such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc + while the game is already running. The new params can be queried + with GetLaunchQueryParam and GetLaunchCommandLine </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribed"> <summary> - Checks if the active user is subscribed to the current App ID + Checks if the active user is subscribed to the current App ID </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFamilySharing"> <summary> - Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID + Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender + SteamID </summary> </member> <member name="P:Steamworks.SteamApps.IsLowVoilence"> <summary> - Checks if the license owned by the user provides low violence depots. - Low violence depots are useful for copies sold in countries that have content restrictions + Checks if the license owned by the user provides low violence depots. + Low violence depots are useful for copies sold in countries that have content restrictions </summary> </member> <member name="P:Steamworks.SteamApps.IsCybercafe"> <summary> - Checks whether the current App ID license is for Cyber Cafes. + Checks whether the current App ID license is for Cyber Cafes. </summary> </member> <member name="P:Steamworks.SteamApps.IsVACBanned"> <summary> - CChecks if the user has a VAC ban on their account + CChecks if the user has a VAC ban on their account </summary> </member> <member name="P:Steamworks.SteamApps.GameLanguage"> <summary> - Gets the current language that the user has set. - This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. + Gets the current language that the user has set. + This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. </summary> </member> <member name="P:Steamworks.SteamApps.AvailableLanguages"> <summary> - Gets a list of the languages the current app supports. + Gets a list of the languages the current app supports. </summary> </member> <member name="M:Steamworks.SteamApps.IsSubscribedToApp(Steamworks.AppId)"> <summary> - Checks if the active user is subscribed to a specified AppId. - Only use this if you need to check ownership of another game related to yours, a demo for example. + Checks if the active user is subscribed to a specified AppId. + Only use this if you need to check ownership of another game related to yours, a demo for example. </summary> </member> <member name="M:Steamworks.SteamApps.IsDlcInstalled(Steamworks.AppId)"> <summary> - Checks if the user owns a specific DLC and if the DLC is installed + Checks if the user owns a specific DLC and if the DLC is installed </summary> </member> <member name="M:Steamworks.SteamApps.PurchaseTime(Steamworks.AppId)"> <summary> - Returns the time of the purchase of the app + Returns the time of the purchase of the app </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFreeWeekend"> <summary> - Checks if the user is subscribed to the current app through a free weekend - This function will return false for users who have a retail or other type of license - Before using, please ask your Valve technical contact how to package and secure your free weekened + Checks if the user is subscribed to the current app through a free weekend + This function will return false for users who have a retail or other type of license + Before using, please ask your Valve technical contact how to package and secure your free weekened </summary> </member> <member name="M:Steamworks.SteamApps.DlcInformation"> <summary> - Returns metadata for all available DLC + Returns metadata for all available DLC </summary> </member> <member name="M:Steamworks.SteamApps.InstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="M:Steamworks.SteamApps.UninstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="P:Steamworks.SteamApps.CurrentBetaName"> <summary> - Returns null if we're not on a beta branch, else the name of the branch + Returns null if we're not on a beta branch, else the name of the branch </summary> </member> <member name="M:Steamworks.SteamApps.MarkContentCorrupt(System.Boolean)"> - <summary> - Allows you to force verify game content on next launch. - - If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a server), - you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. - </summary> + <summary> + Allows you to force verify game content on next launch. + + If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a + server), + you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. + </summary> </member> <member name="M:Steamworks.SteamApps.InstalledDepots(Steamworks.AppId)"> <summary> - Gets a list of all installed depots for a given App ID in mount order + Gets a list of all installed depots for a given App ID in mount order </summary> </member> <member name="M:Steamworks.SteamApps.AppInstallDir(Steamworks.AppId)"> <summary> - Gets the install folder for a specific AppID. - This works even if the application is not installed, based on where the game would be installed with the default Steam library location. + Gets the install folder for a specific AppID. + This works even if the application is not installed, based on where the game would be installed with the + default Steam library location. </summary> </member> <member name="M:Steamworks.SteamApps.IsAppInstalled(Steamworks.AppId)"> <summary> - The app may not actually be owned by the current user, they may have it left over from a free weekend, etc. + The app may not actually be owned by the current user, they may have it left over from a free weekend, + etc. </summary> </member> <member name="P:Steamworks.SteamApps.AppOwner"> <summary> - Gets the Steam ID of the original owner of the current app. If it's different from the current user then it is borrowed.. + Gets the Steam ID of the original owner of the current app. If it's different from the current user then + it is borrowed.. </summary> </member> <member name="M:Steamworks.SteamApps.GetLaunchParam(System.String)"> <summary> - Gets the associated launch parameter if the game is run via steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. - Parameter names starting with the character '@' are reserved for internal use and will always return an empty string. - Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, - but it is advised that you not param names beginning with an underscore for your own features. + Gets the associated launch parameter if the game is run via + steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. + Parameter names starting with the character '@' are reserved for internal use and will always return an + empty string. + Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried + by the game, + but it is advised that you not param names beginning with an underscore for your own features. </summary> </member> <member name="M:Steamworks.SteamApps.DlcDownloadProgress(Steamworks.AppId)"> <summary> - Gets the download progress for optional DLC. + Gets the download progress for optional DLC. </summary> </member> <member name="P:Steamworks.SteamApps.BuildId"> <summary> - Gets the buildid of this app, may change at any time based on backend updates to the game. - Defaults to 0 if you're not running a build downloaded from steam. + Gets the buildid of this app, may change at any time based on backend updates to the game. + Defaults to 0 if you're not running a build downloaded from steam. </summary> </member> <member name="M:Steamworks.SteamApps.GetFileDetailsAsync(System.String)"> <summary> - Asynchronously retrieves metadata details about a specific file in the depot manifest. - Currently provides: + Asynchronously retrieves metadata details about a specific file in the depot manifest. + Currently provides: </summary> </member> <member name="P:Steamworks.SteamApps.CommandLine"> <summary> - Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. - This method of passing a connect string (used when joining via rich presence, accepting an - invite, etc) is preferable to passing the connect string on the operating system command - line, which is a security risk. In order for rich presence joins to go through this - path and not be placed on the OS command line, you must set a value in your app's - configuration on Steam. Ask Valve for help with this. + Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. + This method of passing a connect string (used when joining via rich presence, accepting an + invite, etc) is preferable to passing the connect string on the operating system command + line, which is a security risk. In order for rich presence joins to go through this + path and not be placed on the OS command line, you must set a value in your app's + configuration on Steam. Ask Valve for help with this. </summary> </member> <member name="M:Steamworks.SteamClient.Init(System.UInt32,System.Boolean)"> <summary> - Initialize the steam client. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam client. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="P:Steamworks.SteamClient.IsLoggedOn"> <summary> - Checks if the current user's Steam client is connected to the Steam servers. - If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam - client will automatically be trying to recreate the connection as often as possible. When the - connection is restored a SteamServersConnected_t callback will be posted. - You usually don't need to check for this yourself. All of the API calls that rely on this will - check internally. Forcefully disabling stuff when the player loses access is usually not a - very good experience for the player and you could be preventing them from accessing APIs that do not - need a live connection to Steam. + Checks if the current user's Steam client is connected to the Steam servers. + If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam + client will automatically be trying to recreate the connection as often as possible. When the + connection is restored a SteamServersConnected_t callback will be posted. + You usually don't need to check for this yourself. All of the API calls that rely on this will + check internally. Forcefully disabling stuff when the player loses access is usually not a + very good experience for the player and you could be preventing them from accessing APIs that do not + need a live connection to Steam. </summary> </member> <member name="P:Steamworks.SteamClient.SteamId"> <summary> - Gets the Steam ID of the account currently logged into the Steam client. This is - commonly called the 'current user', or 'local user'. - A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat - rooms, and used to differentiate users in all parts of the Steamworks API. + Gets the Steam ID of the account currently logged into the Steam client. This is + commonly called the 'current user', or 'local user'. + A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat + rooms, and used to differentiate users in all parts of the Steamworks API. </summary> </member> <member name="P:Steamworks.SteamClient.Name"> <summary> - returns the local players name - guaranteed to not be NULL. - this is the same name as on the users community profile page + returns the local players name - guaranteed to not be NULL. + this is the same name as on the users community profile page </summary> </member> <member name="P:Steamworks.SteamClient.State"> <summary> - gets the status of the current user + gets the status of the current user </summary> </member> <member name="P:Steamworks.SteamClient.AppId"> <summary> - returns the appID of the current process + returns the appID of the current process </summary> </member> <member name="M:Steamworks.SteamClient.RestartAppIfNecessary(System.UInt32)"> <summary> - Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't - this returns true then it starts the Steam client if required and launches your game again through it, - and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it - may not relaunch the exact executable that called it, as it will always relaunch from the version - installed in your Steam library folder/ - Note that during development, when not launching via Steam, this might always return true. + Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't + this returns true then it starts the Steam client if required and launches your game again through it, + and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it + may not relaunch the exact executable that called it, as it will always relaunch from the version + installed in your Steam library folder/ + Note that during development, when not launching via Steam, this might always return true. </summary> </member> <member name="M:Steamworks.SteamClient.ValidCheck"> <summary> - Called in interfaces that rely on this being initialized + Called in interfaces that rely on this being initialized </summary> </member> <member name="T:Steamworks.SteamFriends"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamFriends.OnChatMessage"> <summary> - Called when chat message has been received from a friend. You'll need to turn on - ListenForFriendsMessages to recieve this. (friend, msgtype, message) + Called when chat message has been received from a friend. You'll need to turn on + ListenForFriendsMessages to recieve this. (friend, msgtype, message) </summary> </member> <member name="E:Steamworks.SteamFriends.OnPersonaStateChange"> <summary> - called when a friends' status changes + called when a friends' status changes </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameRichPresenceJoinRequested"> <summary> - Called when the user tries to join a game from their friends list - rich presence will have been set with the "connect" key which is set here + Called when the user tries to join a game from their friends list + rich presence will have been set with the "connect" key which is set here </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameOverlayActivated"> <summary> - Posted when game overlay activates or deactivates - the game can use this to be pause or resume single player games + Posted when game overlay activates or deactivates + the game can use this to be pause or resume single player games </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameServerChangeRequested"> <summary> - Called when the user tries to join a different game server from their friends list - game client should attempt to connect to specified server when this is received + Called when the user tries to join a different game server from their friends list + game client should attempt to connect to specified server when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameLobbyJoinRequested"> <summary> - Called when the user tries to join a lobby from their friends list - game client should attempt to connect to specified lobby when this is received + Called when the user tries to join a lobby from their friends list + game client should attempt to connect to specified lobby when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnFriendRichPresenceUpdate"> <summary> - Callback indicating updated data about friends rich presence information + Callback indicating updated data about friends rich presence information </summary> </member> <member name="M:Steamworks.SteamFriends.OpenOverlay(System.String)"> <summary> - The dialog to open. Valid options are: - "friends", - "community", - "players", - "settings", - "officialgamegroup", - "stats", - "achievements". + The dialog to open. Valid options are: + "friends", + "community", + "players", + "settings", + "officialgamegroup", + "stats", + "achievements". </summary> </member> <member name="M:Steamworks.SteamFriends.OpenUserOverlay(Steamworks.SteamId,System.String)"> <summary> - "steamid" - Opens the overlay web browser to the specified user or groups profile. - "chat" - Opens a chat window to the specified user, or joins the group chat. - "jointrade" - Opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API. - "stats" - Opens the overlay web browser to the specified user's stats. - "achievements" - Opens the overlay web browser to the specified user's achievements. - "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. - "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. - "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming friend invite. - "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming friend invite. + "steamid" - Opens the overlay web browser to the specified user or groups profile. + "chat" - Opens a chat window to the specified user, or joins the group chat. + "jointrade" - Opens a window to a Steam Trading session that was started with the + ISteamEconomy/StartTrade Web API. + "stats" - Opens the overlay web browser to the specified user's stats. + "achievements" - Opens the overlay web browser to the specified user's achievements. + "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. + "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. + "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming + friend invite. + "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming + friend invite. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenStoreOverlay(Steamworks.AppId)"> <summary> - Activates the Steam Overlay to the Steam store page for the provided app. + Activates the Steam Overlay to the Steam store page for the provided app. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenWebOverlay(System.String,System.Boolean)"> <summary> - Activates Steam Overlay web browser directly to the specified URL. + Activates Steam Overlay web browser directly to the specified URL. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenGameInviteOverlay(Steamworks.SteamId)"> <summary> - Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the provided lobby. + Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the + provided lobby. </summary> </member> <member name="M:Steamworks.SteamFriends.SetPlayedWith(Steamworks.SteamId)"> <summary> - Mark a target user as 'played with'. - NOTE: The current user must be in game with the other player for the association to work. + Mark a target user as 'played with'. + NOTE: The current user must be in game with the other player for the association to work. </summary> </member> <member name="M:Steamworks.SteamFriends.RequestUserInformation(Steamworks.SteamId,System.Boolean)"> <summary> - Requests the persona name and optionally the avatar of a specified user. - NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them. - returns true if we're fetching the data, false if we already have it + Requests the persona name and optionally the avatar of a specified user. + NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, + don't request them. + returns true if we're fetching the data, false if we already have it </summary> </member> <member name="M:Steamworks.SteamFriends.GetRichPresence(System.String)"> <summary> - Find a rich presence value by key for current user. Will be null if not found. + Find a rich presence value by key for current user. Will be null if not found. </summary> </member> <member name="M:Steamworks.SteamFriends.SetRichPresence(System.String,System.String)"> <summary> - Sets a rich presence value by key for current user. + Sets a rich presence value by key for current user. </summary> </member> <member name="M:Steamworks.SteamFriends.ClearRichPresence"> <summary> - Clears all of the current user's rich presence data. + Clears all of the current user's rich presence data. </summary> </member> <member name="P:Steamworks.SteamFriends.ListenForFriendsMessages"> <summary> - Listens for Steam friends chat messages. - You can then show these chats inline in the game. For example with a Blizzard style chat message system or the chat system in Dota 2. - After enabling this you will receive callbacks when ever the user receives a chat message. + Listens for Steam friends chat messages. + You can then show these chats inline in the game. For example with a Blizzard style chat message system + or the chat system in Dota 2. + After enabling this you will receive callbacks when ever the user receives a chat message. </summary> </member> <member name="M:Steamworks.SteamInput.RunFrame"> <summary> - You shouldn't really need to call this because it get called by RunCallbacks on SteamClient - but Valve think it might be a nice idea if you call it right before you get input info - - just to make sure the info you're getting is 100% up to date. + You shouldn't really need to call this because it get called by RunCallbacks on SteamClient + but Valve think it might be a nice idea if you call it right before you get input info - + just to make sure the info you're getting is 100% up to date. </summary> </member> <member name="P:Steamworks.SteamInput.Controllers"> <summary> - Return a list of connected controllers. + Return a list of connected controllers. </summary> </member> <member name="M:Steamworks.SteamInput.GetDigitalActionGlyph(Steamworks.Controller,System.String)"> <summary> - Return an absolute path to the PNG image glyph for the provided digital action name. The current - action set in use for the controller will be used for the lookup. You should cache the result and - maintain your own list of loaded PNG assets. + Return an absolute path to the PNG image glyph for the provided digital action name. The current + action set in use for the controller will be used for the lookup. You should cache the result and + maintain your own list of loaded PNG assets. </summary> <param name="controller"></param> <param name="action"></param> @@ -1363,980 +1392,997 @@ </member> <member name="T:Steamworks.SteamInventory"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamInventory.LoadItemDefinitions"> <summary> - Call this if you're going to want to access definition information. You should be able to get - away with calling this once at the start if your game, assuming your items don't change all the time. - This will trigger OnDefinitionsUpdated at which point Definitions should be set. + Call this if you're going to want to access definition information. You should be able to get + away with calling this once at the start if your game, assuming your items don't change all the time. + This will trigger OnDefinitionsUpdated at which point Definitions should be set. </summary> </member> <member name="M:Steamworks.SteamInventory.WaitForDefinitions(System.Single)"> <summary> - Will call LoadItemDefinitions and wait until Definitions is not null + Will call LoadItemDefinitions and wait until Definitions is not null </summary> </member> <member name="M:Steamworks.SteamInventory.FindDefinition(Steamworks.Data.InventoryDefId)"> <summary> - Try to find the definition that matches this definition ID. - Uses a dictionary so should be about as fast as possible. + Try to find the definition that matches this definition ID. + Uses a dictionary so should be about as fast as possible. </summary> </member> <member name="P:Steamworks.SteamInventory.Items"> <summary> - We will try to keep this list of your items automatically up to date. + We will try to keep this list of your items automatically up to date. </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItems"> <summary> - Update the list of Items[] + Update the list of Items[] </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItemsAsync"> <summary> - Get all items and return the InventoryResult + Get all items and return the InventoryResult </summary> </member> <member name="M:Steamworks.SteamInventory.GenerateItemAsync(Steamworks.InventoryDef,System.Int32)"> <summary> - This is used to grant a specific item to the user. This should - only be used for development prototyping, from a trusted server, - or if you don't care about hacked clients granting arbitrary items. - This call can be disabled by a setting on Steamworks. + This is used to grant a specific item to the user. This should + only be used for development prototyping, from a trusted server, + or if you don't care about hacked clients granting arbitrary items. + This call can be disabled by a setting on Steamworks. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem.Amount[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.DeserializeAsync(System.Byte[],System.Int32)"> <summary> - Deserializes a result set and verifies the signature bytes. - This call has a potential soft-failure mode where the Result is expired, it will - still succeed in this mode.The "expired" - result could indicate that the data may be out of date - not just due to timed - expiration( one hour ), but also because one of the items in the result set may - have been traded or consumed since the result set was generated.You could compare - the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine - how old the data is. You could simply ignore the "expired" result code and - continue as normal, or you could request the player with expired data to send - an updated result set. - You should call CheckResultSteamID on the result handle when it completes to verify - that a remote player is not pretending to have a different user's inventory. + Deserializes a result set and verifies the signature bytes. + This call has a potential soft-failure mode where the Result is expired, it will + still succeed in this mode.The "expired" + result could indicate that the data may be out of date - not just due to timed + expiration( one hour ), but also because one of the items in the result set may + have been traded or consumed since the result set was generated.You could compare + the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine + how old the data is. You could simply ignore the "expired" result code and + continue as normal, or you could request the player with expired data to send + an updated result set. + You should call CheckResultSteamID on the result handle when it completes to verify + that a remote player is not pretending to have a different user's inventory. </summary> </member> <member name="M:Steamworks.SteamInventory.GrantPromoItemsAsync"> <summary> - Grant all promotional items the user is eligible for + Grant all promotional items the user is eligible for </summary> </member> <member name="M:Steamworks.SteamInventory.TriggerItemDropAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger an item drop for this user. This is for timed drops. + Trigger an item drop for this user. This is for timed drops. </summary> </member> <member name="M:Steamworks.SteamInventory.AddPromoItemAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger a promo item drop. You can call this at startup, it won't - give users multiple promo drops. + Trigger a promo item drop. You can call this at startup, it won't + give users multiple promo drops. </summary> </member> <member name="M:Steamworks.SteamInventory.StartPurchaseAsync(Steamworks.InventoryDef[])"> <summary> - Start buying a cart load of items. This will return a positive result is the purchase has - begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. + Start buying a cart load of items. This will return a positive result is the purchase has + begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. </summary> </member> <member name="T:Steamworks.SteamMatchmaking"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="P:Steamworks.SteamMatchmaking.MaxLobbyKeyLength"> <summary> - Maximum number of characters a lobby metadata key can be + Maximum number of characters a lobby metadata key can be </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyInvite"> <summary> - Someone invited you to a lobby + Someone invited you to a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyEntered"> <summary> - You joined a lobby + You joined a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyCreated"> <summary> - You created a lobby + You created a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyGameCreated"> <summary> - A game server has been associated with the lobby + A game server has been associated with the lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyDataChanged"> <summary> - The lobby metadata has changed + The lobby metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDataChanged"> <summary> - The lobby member metadata has changed + The lobby member metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberJoined"> <summary> - The lobby member joined + The lobby member joined </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberLeave"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDisconnected"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberKicked"> <summary> - The lobby member was kicked. The 3rd param is the user that kicked them. + The lobby member was kicked. The 3rd param is the user that kicked them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberBanned"> <summary> - The lobby member was banned. The 3rd param is the user that banned them. + The lobby member was banned. The 3rd param is the user that banned them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnChatMessage"> <summary> - A chat message was recieved from a member of a lobby + A chat message was recieved from a member of a lobby </summary> </member> <member name="M:Steamworks.SteamMatchmaking.CreateLobbyAsync(System.Int32)"> <summary> - Creates a new invisible lobby. Call lobby.SetPublic to take it online. + Creates a new invisible lobby. Call lobby.SetPublic to take it online. </summary> </member> <member name="M:Steamworks.SteamMatchmaking.JoinLobbyAsync(Steamworks.SteamId)"> <summmary> - Attempts to directly join the specified lobby + Attempts to directly join the specified lobby </summmary> </member> <member name="M:Steamworks.SteamMatchmaking.GetFavoriteServers"> <summary> - Get a list of servers that are on your favorites list + Get a list of servers that are on your favorites list </summary> </member> <member name="M:Steamworks.SteamMatchmaking.GetHistoryServers"> <summary> - Get a list of servers that you have added to your play history + Get a list of servers that you have added to your play history </summary> </member> <member name="T:Steamworks.SteamMatchmakingServers"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="T:Steamworks.SteamMusic"> <summary> - Functions to control music playback in the steam client. - This gives games the opportunity to do things like pause the music or lower the volume, - when an important cut scene is shown, and start playing afterwards. - Nothing uses Steam Music though so this can probably get fucked + Functions to control music playback in the steam client. + This gives games the opportunity to do things like pause the music or lower the volume, + when an important cut scene is shown, and start playing afterwards. + Nothing uses Steam Music though so this can probably get fucked </summary> </member> <member name="E:Steamworks.SteamMusic.OnPlaybackChanged"> <summary> - Playback status changed + Playback status changed </summary> </member> <member name="E:Steamworks.SteamMusic.OnVolumeChanged"> <summary> - Volume changed, parameter is new volume + Volume changed, parameter is new volume </summary> </member> <member name="P:Steamworks.SteamMusic.IsEnabled"> <summary> - Checks if Steam Music is enabled + Checks if Steam Music is enabled </summary> </member> <member name="P:Steamworks.SteamMusic.IsPlaying"> <summary> - true if a song is currently playing, paused, or queued up to play; otherwise false. + true if a song is currently playing, paused, or queued up to play; otherwise false. </summary> </member> <member name="P:Steamworks.SteamMusic.Status"> <summary> - Gets the current status of the Steam Music player + Gets the current status of the Steam Music player </summary> </member> <member name="M:Steamworks.SteamMusic.PlayPrevious"> <summary> - Have the Steam Music player play the previous song. + Have the Steam Music player play the previous song. </summary> </member> <member name="M:Steamworks.SteamMusic.PlayNext"> <summary> - Have the Steam Music player skip to the next song + Have the Steam Music player skip to the next song </summary> </member> <member name="P:Steamworks.SteamMusic.Volume"> <summary> - Gets/Sets the current volume of the Steam Music player + Gets/Sets the current volume of the Steam Music player </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PSessionRequest"> <summary> - This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser - if you want to recieve their messages + This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser + if you want to recieve their messages </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PConnectionFailed"> <summary> - Called when packets can't get through to the specified user. - All queued packets unsent at this point will be dropped, further attempts - to send will retry making the connection (but will be dropped if we fail again). + Called when packets can't get through to the specified user. + All queued packets unsent at this point will be dropped, further attempts + to send will retry making the connection (but will be dropped if we fail again). </summary> </member> <member name="M:Steamworks.SteamNetworking.AcceptP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called in response to a OnP2PSessionRequest + This should be called in response to a OnP2PSessionRequest </summary> </member> <member name="M:Steamworks.SteamNetworking.AllowP2PPacketRelay(System.Boolean)"> <summary> - Allow or disallow P2P connects to fall back on Steam server relay if direct - connection or NAT traversal can't be established. Applies to connections - created after setting or old connections that need to reconnect. + Allow or disallow P2P connects to fall back on Steam server relay if direct + connection or NAT traversal can't be established. Applies to connections + created after setting or old connections that need to reconnect. </summary> </member> <member name="M:Steamworks.SteamNetworking.CloseP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called when you're done communicating with a user, as this will - free up all of the resources allocated for the connection under-the-hood. - If the remote user tries to send data to you again, a new OnP2PSessionRequest - callback will be posted + This should be called when you're done communicating with a user, as this will + free up all of the resources allocated for the connection under-the-hood. + If the remote user tries to send data to you again, a new OnP2PSessionRequest + callback will be posted </summary> </member> <member name="M:Steamworks.SteamNetworking.IsP2PPacketAvailable(System.Int32)"> <summary> - Checks if a P2P packet is available to read, and gets the size of the message if there is one. + Checks if a P2P packet is available to read, and gets the size of the message if there is one. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte[],System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte*,System.UInt32,System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte[],System.Int32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte*,System.UInt32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket``1(Steamworks.Data.NetAddress)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6) - - To use this derive a class from SocketManager and override as much as you want. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6) + + To use this derive a class from SocketManager and override as much as you want. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket(Steamworks.Data.NetAddress,Steamworks.ISocketManager)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6). - - To use this you should pass a class that inherits ISocketManager. You can use - SocketManager to get connections and send messages, but the ISocketManager class - will received all the appropriate callbacks. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6). + + To use this you should pass a class that inherits ISocketManager. You can use + SocketManager to get connections and send messages, but the ISocketManager class + will received all the appropriate callbacks. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal``1(Steamworks.Data.NetAddress)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal(Steamworks.Data.NetAddress,Steamworks.IConnectionManager)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateRelaySocket``1(System.Int32)"> <summary> - Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) + Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectRelay``1(Steamworks.SteamId,System.Int32)"> <summary> - Connect to a relay server + Connect to a relay server </summary> </member> <member name="T:Steamworks.SteamNetworkingUtils"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamNetworkingUtils.OnDebugOutput"> <summary> - A function to receive debug network information on. This will do nothing - unless you set DebugLevel to something other than None. - - You should set this to an appropriate level instead of setting it to the highest - and then filtering it by hand because a lot of energy is used by creating the strings - and your frame rate will tank and you won't know why. + A function to receive debug network information on. This will do nothing + unless you set DebugLevel to something other than None. + + You should set this to an appropriate level instead of setting it to the highest + and then filtering it by hand because a lot of energy is used by creating the strings + and your frame rate will tank and you won't know why. </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Status"> <summary> - The latest available status gathered from the SteamRelayNetworkStatus callback + The latest available status gathered from the SteamRelayNetworkStatus callback </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.InitRelayNetworkAccess"> - <summary> - If you know that you are going to be using the relay network (for example, - because you anticipate making P2P connections), call this to initialize the - relay network. If you do not call this, the initialization will - be delayed until the first time you use a feature that requires access - to the relay network, which will delay that first access. - - You can also call this to force a retry if the previous attempt has failed. - Performing any action that requires access to the relay network will also - trigger a retry, and so calling this function is never strictly necessary, - but it can be useful to call it a program launch time, if access to the - relay network is anticipated. - - Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t - callbacks to know when initialization has completed. - Typically initialization completes in a few seconds. - - Note: dedicated servers hosted in known data centers do *not* need - to call this, since they do not make routing decisions. However, if - the dedicated server will be using P2P functionality, it will act as - a "client" and this should be called. - </summary> + <summary> + If you know that you are going to be using the relay network (for example, + because you anticipate making P2P connections), call this to initialize the + relay network. If you do not call this, the initialization will + be delayed until the first time you use a feature that requires access + to the relay network, which will delay that first access. + + You can also call this to force a retry if the previous attempt has failed. + Performing any action that requires access to the relay network will also + trigger a retry, and so calling this function is never strictly necessary, + but it can be useful to call it a program launch time, if access to the + relay network is anticipated. + + Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + callbacks to know when initialization has completed. + Typically initialization completes in a few seconds. + + Note: dedicated servers hosted in known data centers do *not* need + to call this, since they do not make routing decisions. However, if + the dedicated server will be using P2P functionality, it will act as + a "client" and this should be called. + </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.LocalPingLocation"> - <summary> - Return location info for the current host. - - It takes a few seconds to initialize access to the relay network. If - you call this very soon after startup the data may not be available yet. - - This always return the most up-to-date information we have available - right now, even if we are in the middle of re-calculating ping times. - </summary> + <summary> + Return location info for the current host. + + It takes a few seconds to initialize access to the relay network. If + you call this very soon after startup the data may not be available yet. + + This always return the most up-to-date information we have available + right now, even if we are in the middle of re-calculating ping times. + </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.EstimatePingTo(Steamworks.Data.NetPingLocation)"> <summary> - Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. - This is a bit faster, especially if you need to calculate a bunch of - these in a loop to find the fastest one. + Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. + This is a bit faster, especially if you need to calculate a bunch of + these in a loop to find the fastest one. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.WaitForPingDataAsync(System.Single)"> <summary> - If you need ping information straight away, wait on this. It will return - immediately if you already have up to date ping data + If you need ping information straight away, wait on this. It will return + immediately if you already have up to date ping data </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.ConnectionTimeout"> <summary> - Timeout value (in ms) to use when first connecting + Timeout value (in ms) to use when first connecting </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Timeout"> <summary> - Timeout value (in ms) to use after connection is established + Timeout value (in ms) to use after connection is established </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.SendBufferSize"> <summary> - Upper limit of buffered pending bytes to be sent. - If this is reached SendMessage will return LimitExceeded. - Default is 524288 bytes (512k) + Upper limit of buffered pending bytes to be sent. + If this is reached SendMessage will return LimitExceeded. + Default is 524288 bytes (512k) </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.DebugLevel"> <summary> - Get Debug Information via OnDebugOutput event - - Except when debugging, you should only use NetDebugOutput.Msg - or NetDebugOutput.Warning. For best performance, do NOT - request a high detail level and then filter out messages in the callback. - - This incurs all of the expense of formatting the messages, which are then discarded. - Setting a high priority value (low numeric value) here allows the library to avoid - doing this work. + Get Debug Information via OnDebugOutput event + + Except when debugging, you should only use NetDebugOutput.Msg + or NetDebugOutput.Warning. For best performance, do NOT + request a high detail level and then filter out messages in the callback. + + This incurs all of the expense of formatting the messages, which are then discarded. + Setting a high priority value (low numeric value) here allows the library to avoid + doing this work. </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugLevel"> <summary> - So we can remember and provide a Get for DebugLEvel + So we can remember and provide a Get for DebugLEvel </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugFunc"> <summary> - We need to keep the delegate around until it's not used anymore + We need to keep the delegate around until it's not used anymore </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OnDebugMessage(Steamworks.NetDebugOutput,System.IntPtr)"> <summary> - This can be called from other threads - so we're going to queue these up and process them in a safe place. + This can be called from other threads - so we're going to queue these up and process them in a safe + place. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OutputDebugMessages"> <summary> - Called regularly from the Dispatch loop so we can provide a timely - stream of messages. + Called regularly from the Dispatch loop so we can provide a timely + stream of messages. </summary> </member> <member name="T:Steamworks.SteamParental"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamParental.OnSettingsChanged"> <summary> - Parental Settings Changed + Parental Settings Changed </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockEnabled"> <summary> - + </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockLocked"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsAppBlocked(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsAppInBlockList(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsFeatureBlocked(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsFeatureInBlockList(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="T:Steamworks.SteamParties"> <summary> - This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. - Tell Steam the number of player spots that are available for your party, and a join-game string, and it - will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. - Adjust the number of open slots if other players join through alternate matchmaking methods. + This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. + Tell Steam the number of player spots that are available for your party, and a join-game string, and it + will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. + Adjust the number of open slots if other players join through alternate matchmaking methods. </summary> </member> <member name="E:Steamworks.SteamParties.OnBeaconLocationsUpdated"> <summary> - The list of possible Party beacon locations has changed + The list of possible Party beacon locations has changed </summary> </member> <member name="E:Steamworks.SteamParties.OnActiveBeaconsUpdated"> <summary> - The list of active beacons may have changed + The list of active beacons may have changed </summary> </member> <member name="T:Steamworks.SteamRemotePlay"> <summary> - Functions that provide information about Steam Remote Play sessions, streaming your game content to another computer or to a Steam Link app or hardware. + Functions that provide information about Steam Remote Play sessions, streaming your game content to + another computer or to a Steam Link app or hardware. </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionConnected"> <summary> - Called when a session is connected + Called when a session is connected </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionDisconnected"> <summary> - Called when a session becomes disconnected + Called when a session becomes disconnected </summary> </member> <member name="P:Steamworks.SteamRemotePlay.SessionCount"> <summary> - Get the number of currently connected Steam Remote Play sessions + Get the number of currently connected Steam Remote Play sessions </summary> </member> <member name="M:Steamworks.SteamRemotePlay.GetSession(System.Int32)"> <summary> - Get the currently connected Steam Remote Play session ID at the specified index. - IsValid will return false if it's out of bounds + Get the currently connected Steam Remote Play session ID at the specified index. + IsValid will return false if it's out of bounds </summary> </member> <member name="M:Steamworks.SteamRemotePlay.SendInvite(Steamworks.SteamId)"> <summary> - Invite a friend to Remote Play Together - This returns false if the invite can't be sent + Invite a friend to Remote Play Together + This returns false if the invite can't be sent </summary> </member> <member name="T:Steamworks.SteamRemoteStorage"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileWrite(System.String,System.Byte[])"> <summary> - Creates a new file, writes the bytes to the file, and then closes the file. - If the target file already exists, it is overwritten + Creates a new file, writes the bytes to the file, and then closes the file. + If the target file already exists, it is overwritten </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileRead(System.String)"> <summary> - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileExists(System.String)"> <summary> - Checks whether the specified file exists. + Checks whether the specified file exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FilePersisted(System.String)"> <summary> - Checks if a specific file is persisted in the steam cloud. + Checks if a specific file is persisted in the steam cloud. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileTime(System.String)"> <summary> - Gets the specified file's last modified date/time. + Gets the specified file's last modified date/time. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileSize(System.String)"> <summary> - Gets the specified files size in bytes. 0 if not exists. + Gets the specified files size in bytes. 0 if not exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileForget(System.String)"> <summary> - Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the API. + Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the + API. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileDelete(System.String)"> <summary> - Deletes a file from the local disk, and propagates that delete to the cloud. + Deletes a file from the local disk, and propagates that delete to the cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaBytes"> <summary> - Number of bytes total + Number of bytes total </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaUsedBytes"> <summary> - Number of bytes used + Number of bytes used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaRemainingBytes"> <summary> - Number of bytes remaining until your quota is used + Number of bytes remaining until your quota is used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabled"> <summary> - returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp + returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForAccount"> <summary> - Checks if the account wide Steam Cloud setting is enabled for this user - or if they disabled it in the Settings->Cloud dialog. + Checks if the account wide Steam Cloud setting is enabled for this user + or if they disabled it in the Settings->Cloud dialog. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForApp"> <summary> - Checks if the per game Steam Cloud setting is enabled for this user - or if they disabled it in the Game Properties->Update dialog. - - This must only ever be set as the direct result of the user explicitly - requesting that it's enabled or not. This is typically accomplished with - a checkbox within your in-game options + Checks if the per game Steam Cloud setting is enabled for this user + or if they disabled it in the Game Properties->Update dialog. + + This must only ever be set as the direct result of the user explicitly + requesting that it's enabled or not. This is typically accomplished with + a checkbox within your in-game options </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.FileCount"> <summary> - Gets the total number of local files synchronized by Steam Cloud. + Gets the total number of local files synchronized by Steam Cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.Files"> <summary> - Get a list of filenames synchronized by Steam Cloud + Get a list of filenames synchronized by Steam Cloud </summary> </member> <member name="T:Steamworks.SteamScreenshots"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotRequested"> <summary> - A screenshot has been requested by the user from the Steam screenshot hotkey. - This will only be called if Hooked is true, in which case Steam - will not take the screenshot itself. + A screenshot has been requested by the user from the Steam screenshot hotkey. + This will only be called if Hooked is true, in which case Steam + will not take the screenshot itself. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotReady"> <summary> - A screenshot successfully written or otherwise added to the library and can now be tagged. + A screenshot successfully written or otherwise added to the library and can now be tagged. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotFailed"> <summary> - A screenshot attempt failed + A screenshot attempt failed </summary> </member> <member name="M:Steamworks.SteamScreenshots.WriteScreenshot(System.Byte[],System.Int32,System.Int32)"> <summary> - Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB + format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. </summary> </member> <member name="M:Steamworks.SteamScreenshots.AddScreenshot(System.String,System.String,System.Int32,System.Int32)"> <summary> - Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio - as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. - JPEG, TGA, and PNG formats are supported. + Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 + pixels wide and the same aspect ratio + as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The + screenshots must be in either JPEG or TGA format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. + JPEG, TGA, and PNG formats are supported. </summary> </member> <member name="M:Steamworks.SteamScreenshots.TriggerScreenshot"> <summary> - Causes the Steam overlay to take a screenshot. - If screenshots are being hooked by the game then a - ScreenshotRequested callback is sent back to the game instead. + Causes the Steam overlay to take a screenshot. + If screenshots are being hooked by the game then a + ScreenshotRequested callback is sent back to the game instead. </summary> </member> <member name="P:Steamworks.SteamScreenshots.Hooked"> <summary> - Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the game handles them. - Hooking is disabled by default, and only ever enabled if you do so with this function. - If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the hotkey or - when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or AddScreenshotToLibrary in response. + Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the + game handles them. + Hooking is disabled by default, and only ever enabled if you do so with this function. + If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the + hotkey or + when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or + AddScreenshotToLibrary in response. </summary> </member> <member name="T:Steamworks.SteamServer"> <summary> - Provides the core of the Steam Game Servers API + Provides the core of the Steam Game Servers API </summary> </member> <member name="E:Steamworks.SteamServer.OnValidateAuthTicketResponse"> <summary> - User has been authed or rejected + User has been authed or rejected </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the server now is logged on and has a working connection to the Steam master server. + Called when a connections to the Steam back-end has been established. + This means the server now is logged on and has a working connection to the Steam master server. </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServerConnectFailure"> <summary> - This will occur periodically if the Steam client is not connected, and has failed when retrying to establish a connection (result, stilltrying) + This will occur periodically if the Steam client is not connected, and has failed when retrying to + establish a connection (result, stilltrying) </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersDisconnected"> <summary> - Disconnected from Steam + Disconnected from Steam </summary> </member> <member name="M:Steamworks.SteamServer.Init(Steamworks.AppId,Steamworks.SteamServerInit,System.Boolean)"> <summary> - Initialize the steam server. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam server. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="M:Steamworks.SteamServer.RunCallbacks"> <summary> - Run the callbacks. This is also called in Async callbacks. + Run the callbacks. This is also called in Async callbacks. </summary> </member> <member name="P:Steamworks.SteamServer.DedicatedServer"> <summary> - Sets whether this should be marked as a dedicated server. - If not, it is assumed to be a listen server. + Sets whether this should be marked as a dedicated server. + If not, it is assumed to be a listen server. </summary> </member> <member name="P:Steamworks.SteamServer.MaxPlayers"> <summary> - Gets or sets the current MaxPlayers. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current MaxPlayers. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.BotCount"> <summary> - Gets or sets the current BotCount. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current BotCount. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.MapName"> <summary> - Gets or sets the current Map Name. + Gets or sets the current Map Name. </summary> </member> <member name="P:Steamworks.SteamServer.ModDir"> <summary> - Gets or sets the current ModDir + Gets or sets the current ModDir </summary> </member> <member name="P:Steamworks.SteamServer.Product"> <summary> - Gets the current product + Gets the current product </summary> </member> <member name="P:Steamworks.SteamServer.GameDescription"> <summary> - Gets or sets the current Product + Gets or sets the current Product </summary> </member> <member name="P:Steamworks.SteamServer.ServerName"> <summary> - Gets or sets the current ServerName + Gets or sets the current ServerName </summary> </member> <member name="P:Steamworks.SteamServer.Passworded"> <summary> - Set whether the server should report itself as passworded + Set whether the server should report itself as passworded </summary> </member> <member name="P:Steamworks.SteamServer.GameTags"> <summary> - Gets or sets the current GameTags. This is a comma seperated list of tags for this server. - When querying the server list you can filter by these tags. + Gets or sets the current GameTags. This is a comma seperated list of tags for this server. + When querying the server list you can filter by these tags. </summary> </member> <member name="M:Steamworks.SteamServer.LogOnAnonymous"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="M:Steamworks.SteamServer.LogOff"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="P:Steamworks.SteamServer.LoggedOn"> <summary> - Returns true if the server is connected and registered with the Steam master server - You should have called LogOnAnonymous etc on startup. + Returns true if the server is connected and registered with the Steam master server + You should have called LogOnAnonymous etc on startup. </summary> </member> <member name="P:Steamworks.SteamServer.PublicIp"> <summary> - To the best of its ability this tries to get the server's - current public ip address. Be aware that this is likely to return - null for the first few seconds after initialization. + To the best of its ability this tries to get the server's + current public ip address. Be aware that this is likely to return + null for the first few seconds after initialization. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeats"> <summary> - Enable or disable heartbeats, which are sent regularly to the master server. - Enabled by default. + Enable or disable heartbeats, which are sent regularly to the master server. + Enabled by default. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeatRate"> <summary> - Set heartbeat interval, if automatic heartbeats are enabled. - You can leave this at the default. + Set heartbeat interval, if automatic heartbeats are enabled. + You can leave this at the default. </summary> </member> <member name="M:Steamworks.SteamServer.ForceHeartbeat"> <summary> - Force send a heartbeat to the master server instead of waiting - for the next automatic update (if you've left them enabled) + Force send a heartbeat to the master server instead of waiting + for the next automatic update (if you've left them enabled) </summary> </member> <member name="M:Steamworks.SteamServer.UpdatePlayer(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Update this connected player's information. You should really call this - any time a player's name or score changes. This keeps the information shown - to server queries up to date. + Update this connected player's information. You should really call this + any time a player's name or score changes. This keeps the information shown + to server queries up to date. </summary> </member> <member name="M:Steamworks.SteamServer.SetKey(System.String,System.String)"> <summary> - Sets a Key Value. These can be anything you like, and are accessible - when querying servers from the server list. - - Information describing gamemodes are common here. + Sets a Key Value. These can be anything you like, and are accessible + when querying servers from the server list. + + Information describing gamemodes are common here. </summary> </member> <member name="M:Steamworks.SteamServer.ClearKeys"> <summary> - Remove all key values + Remove all key values </summary> </member> <member name="M:Steamworks.SteamServer.BeginAuthSession(System.Byte[],Steamworks.SteamId)"> <summary> - Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. + Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. </summary> </member> <member name="M:Steamworks.SteamServer.EndSession(Steamworks.SteamId)"> <summary> - Forget this guy. They're no longer in the game. + Forget this guy. They're no longer in the game. </summary> </member> <member name="M:Steamworks.SteamServer.GetOutgoingPacket(Steamworks.Data.OutgoingPacket@)"> <summary> - If true, Steam wants to send a packet. You should respond by sending - this packet in an unconnected way to the returned Address and Port. + If true, Steam wants to send a packet. You should respond by sending + this packet in an unconnected way to the returned Address and Port. </summary> <param name="packet">Packet to send. The Data passed is pooled - so use it immediately.</param> <returns>True if we want to send a packet</returns> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.Byte[],System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.IntPtr,System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.UserHasLicenseForApp(Steamworks.SteamId,Steamworks.AppId)"> <summary> - Does the user own this app (which could be DLC) + Does the user own this app (which could be DLC) </summary> </member> <member name="M:Steamworks.SteamServerStats.RequestUserStatsAsync(Steamworks.SteamId)"> <summary> - Downloads stats for the user - If the user has no stats will return fail - these stats will only be auto-updated for clients playing on the server + Downloads stats for the user + If the user has no stats will return fail + these stats will only be auto-updated for clients playing on the server </summary> </member> <member name="M:Steamworks.SteamServerStats.SetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetAchievement(Steamworks.SteamId,System.String)"> <summary> - Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.ClearAchievement(Steamworks.SteamId,System.String)"> <summary> - Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid + first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetAchievement(Steamworks.SteamId,System.String)"> <summary> - Return true if available, exists and unlocked + Return true if available, exists and unlocked </summary> </member> <member name="M:Steamworks.SteamServerStats.StoreUserStats(Steamworks.SteamId)"> <summary> - Once you've set a stat change on a user you need to commit your changes. - You can do that using this function. The callback will let you know if - your action succeeded, but most of the time you can fire and forget. + Once you've set a stat change on a user you need to commit your changes. + You can do that using this function. The callback will let you know if + your action succeeded, but most of the time you can fire and forget. </summary> </member> <member name="T:Steamworks.SteamUGC"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUGC.OnDownloadItemResult"> <summary> - Posted after Download call + Posted after Download call </summary> </member> <member name="M:Steamworks.SteamUGC.Download(Steamworks.Data.PublishedFileId,System.Boolean)"> <summary> - Start downloading this item. You'll get notified of completion via OnDownloadItemResult. + Start downloading this item. You'll get notified of completion via OnDownloadItemResult. </summary> <param name="fileId">The ID of the file you want to download</param> <param name="highPriority">If true this should go straight to the top of the download list</param> @@ -2344,7 +2390,7 @@ </member> <member name="M:Steamworks.SteamUGC.DownloadAsync(Steamworks.Data.PublishedFileId,System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Will attempt to download this item asyncronously - allowing you to instantly react to its installation + Will attempt to download this item asyncronously - allowing you to instantly react to its installation </summary> <param name="fileId">The ID of the file you want to download</param> <param name="progress">An optional callback</param> @@ -2354,570 +2400,601 @@ </member> <member name="M:Steamworks.SteamUGC.QueryFileAsync(Steamworks.Data.PublishedFileId)"> <summary> - Utility function to fetch a single item. Internally this uses Ugc.FileQuery - - which you can use to query multiple items if you need to. + Utility function to fetch a single item. Internally this uses Ugc.FileQuery - + which you can use to query multiple items if you need to. </summary> </member> <member name="T:Steamworks.SteamUser"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the Steam client now has a working connection to the Steam servers. - Usually this will have occurred before the game has launched, and should only be seen if the - user has dropped connection due to a networking issue or a Steam server update. + Called when a connections to the Steam back-end has been established. + This means the Steam client now has a working connection to the Steam servers. + Usually this will have occurred before the game has launched, and should only be seen if the + user has dropped connection due to a networking issue or a Steam server update. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServerConnectFailure"> <summary> - Called when a connection attempt has failed. - This will occur periodically if the Steam client is not connected, - and has failed when retrying to establish a connection. + Called when a connection attempt has failed. + This will occur periodically if the Steam client is not connected, + and has failed when retrying to establish a connection. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersDisconnected"> <summary> - Called if the client has lost connection to the Steam servers. - Real-time services will be disabled until a matching OnSteamServersConnected has been posted. + Called if the client has lost connection to the Steam servers. + Real-time services will be disabled until a matching OnSteamServersConnected has been posted. </summary> </member> <member name="E:Steamworks.SteamUser.OnClientGameServerDeny"> <summary> - Sent by the Steam server to the client telling it to disconnect from the specified game server, - which it may be in the process of or already connected to. - The game client should immediately disconnect upon receiving this message. - This can usually occur if the user doesn't have rights to play on the game server. + Sent by the Steam server to the client telling it to disconnect from the specified game server, + which it may be in the process of or already connected to. + The game client should immediately disconnect upon receiving this message. + This can usually occur if the user doesn't have rights to play on the game server. </summary> </member> <member name="E:Steamworks.SteamUser.OnLicensesUpdated"> <summary> - Called whenever the users licenses (owned packages) changes. + Called whenever the users licenses (owned packages) changes. </summary> </member> <member name="E:Steamworks.SteamUser.OnValidateAuthTicketResponse"> <summary> - Called when an auth ticket has been validated. - The first parameter is the steamid of this user - The second is the Steam ID that owns the game, this will be different from the first - if the game is being borrowed via Steam Family Sharing + Called when an auth ticket has been validated. + The first parameter is the steamid of this user + The second is the Steam ID that owns the game, this will be different from the first + if the game is being borrowed via Steam Family Sharing </summary> </member> <member name="E:Steamworks.SteamUser.OnGetAuthSessionTicketResponse"> <summary> - Used internally for GetAuthSessionTicketAsync + Used internally for GetAuthSessionTicketAsync </summary> </member> <member name="E:Steamworks.SteamUser.OnMicroTxnAuthorizationResponse"> <summary> - Called when a user has responded to a microtransaction authorization request. - ( appid, orderid, user authorized ) + Called when a user has responded to a microtransaction authorization request. + ( appid, orderid, user authorized ) </summary> </member> <member name="E:Steamworks.SteamUser.OnGameWebCallback"> <summary> - Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the Steam overlay browser. - You can use this to add support for external site signups where you want to pop back into the browser after some web page - signup sequence, and optionally get back some detail about that. + Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the + Steam overlay browser. + You can use this to add support for external site signups where you want to pop back into the browser + after some web page + signup sequence, and optionally get back some detail about that. </summary> </member> <member name="E:Steamworks.SteamUser.OnDurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, - half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, + half rate, or zero rate. </summary> </member> <member name="P:Steamworks.SteamUser.VoiceRecord"> <summary> - Starts/Stops voice recording. - Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording - when the user has released their push-to-talk hotkey or the game session has completed. + Starts/Stops voice recording. + Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording + when the user has released their push-to-talk hotkey or the game session has completed. </summary> </member> <member name="P:Steamworks.SteamUser.HasVoiceData"> <summary> - Returns true if we have voice data waiting to be read + Returns true if we have voice data waiting to be read </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceData(System.IO.Stream)"> <summary> - Reads the voice data and returns the number of bytes written. - The compressed data can be transmitted by your application and decoded back into raw audio data using - DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not meant to be played directly. - This should be called once per frame, and at worst no more than four times a second to keep the microphone input delay as low as - possible. Calling this any less may result in gaps in the returned stream. + Reads the voice data and returns the number of bytes written. + The compressed data can be transmitted by your application and decoded back into raw audio data using + DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not + meant to be played directly. + This should be called once per frame, and at worst no more than four times a second to keep the + microphone input delay as low as + possible. Calling this any less may result in gaps in the returned stream. </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceDataBytes"> <summary> - Reads the voice data and returns the bytes. You should obviously ideally be using - ReadVoiceData because it won't be creating a new byte array every call. But this - makes it easier to get it working, so let the babies have their bottle. + Reads the voice data and returns the bytes. You should obviously ideally be using + ReadVoiceData because it won't be creating a new byte array every call. But this + makes it easier to get it working, so let the babies have their bottle. </summary> </member> <member name="M:Steamworks.SteamUser.DecompressVoice(System.IO.Stream,System.Int32,System.IO.Stream)"> <summary> - Decodes the compressed voice data returned by GetVoice. - The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 to 48000. + Decodes the compressed voice data returned by GetVoice. + The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 + to 48000. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicket"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicketAsync(System.Double)"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. - This waits for a positive response from the backend before returning the ticket. This means - the ticket is definitely ready to go as soon as it returns. Will return null if the callback - times out or returns negatively. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + This waits for a positive response from the backend before returning the ticket. This means + the ticket is definitely ready to go as soon as it returns. Will return null if the callback + times out or returns negatively. </summary> </member> <member name="P:Steamworks.SteamUser.IsBehindNAT"> <summary> - Checks if the current users looks like they are behind a NAT device. - This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. + Checks if the current users looks like they are behind a NAT device. + This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. </summary> </member> <member name="P:Steamworks.SteamUser.SteamLevel"> <summary> - Gets the Steam level of the user, as shown on their Steam community profile. + Gets the Steam level of the user, as shown on their Steam community profile. </summary> </member> <member name="M:Steamworks.SteamUser.GetStoreAuthUrlAsync(System.String)"> <summary> - Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the specified URL. - As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout pages will automatically recognize the user instead of presenting a login page. - NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call this API when you are about to launch the browser, or else immediately navigate to the result URL using a hidden browser window. - NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea to request and visit a new auth URL every 12 hours. + Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the + specified URL. + As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout + pages will automatically recognize the user instead of presenting a login page. + NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call + this API when you are about to launch the browser, or else immediately navigate to the result URL using + a hidden browser window. + NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea + to request and visit a new auth URL every 12 hours. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneVerified"> <summary> - Checks whether the current user has verified their phone number. + Checks whether the current user has verified their phone number. </summary> </member> <member name="P:Steamworks.SteamUser.IsTwoFactorEnabled"> <summary> - Checks whether the current user has Steam Guard two factor authentication enabled on their account. + Checks whether the current user has Steam Guard two factor authentication enabled on their account. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneIdentifying"> <summary> - Checks whether the user's phone number is used to uniquely identify them. + Checks whether the user's phone number is used to uniquely identify them. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneRequiringVerification"> <summary> - Checks whether the current user's phone number is awaiting (re)verification. + Checks whether the current user's phone number is awaiting (re)verification. </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync(System.Byte[])"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - If you get a null result from this it's probably because you're calling it too often. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + If you get a null result from this it's probably because you're calling it too often. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.GetDurationControl"> <summary> - Get anti indulgence / duration control + Get anti indulgence / duration control </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementIconFetched"> <summary> - called when the achivement icon is loaded + called when the achivement icon is loaded </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsReceived"> <summary> - called when the latests stats and achievements have been received - from the server + called when the latests stats and achievements have been received + from the server </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsStored"> <summary> - result of a request to store the user stats for a game + result of a request to store the user stats for a game </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementProgress"> <summary> - result of a request to store the achievements for a game, or an - "indicate progress" call. If both m_nCurProgress and m_nMaxProgress - are zero, that means the achievement has been fully unlocked + result of a request to store the achievements for a game, or an + "indicate progress" call. If both m_nCurProgress and m_nMaxProgress + are zero, that means the achievement has been fully unlocked </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsUnloaded"> <summary> - Callback indicating that a user's stats have been unloaded + Callback indicating that a user's stats have been unloaded </summary> </member> <member name="P:Steamworks.SteamUserStats.Achievements"> <summary> - Get the available achievements + Get the available achievements </summary> </member> <member name="M:Steamworks.SteamUserStats.IndicateAchievementProgress(System.String,System.Int32,System.Int32)"> <summary> - Show the user a pop-up notification with the current progress toward an achievement. - Will return false if RequestCurrentStats has not completed and successfully returned - its callback, if the achievement doesn't exist/has unpublished changes in the app's - Steamworks Admin page, or if the achievement is unlocked. + Show the user a pop-up notification with the current progress toward an achievement. + Will return false if RequestCurrentStats has not completed and successfully returned + its callback, if the achievement doesn't exist/has unpublished changes in the app's + Steamworks Admin page, or if the achievement is unlocked. </summary> </member> <member name="M:Steamworks.SteamUserStats.PlayerCountAsync"> <summary> - Tries to get the number of players currently playing this game. - Or -1 if failed. + Tries to get the number of players currently playing this game. + Or -1 if failed. </summary> </member> <member name="M:Steamworks.SteamUserStats.StoreStats"> <summary> - Send the changed stats and achievements data to the server for permanent storage. - If this fails then nothing is sent to the server. It's advisable to keep trying until the call is successful. - This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You should only be calling this during major state changes such as the end of a round, the map changing, or the user leaving a server. This call is required to display the achievement unlock notification dialog though, so if you have called SetAchievement then it's advisable to call this soon after that. - If you have stats or achievements that you have saved locally but haven't uploaded with this function when your application process ends then this function will automatically be called. - You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. - This function returns true upon success if : - RequestCurrentStats has completed and successfully returned its callback AND - the current game has stats associated with it in the Steamworks Partner backend, and those stats are published. + Send the changed stats and achievements data to the server for permanent storage. + If this fails then nothing is sent to the server. It's advisable to keep trying until the call is + successful. + This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You + should only be calling this during major state changes such as the end of a round, the map changing, or + the user leaving a server. This call is required to display the achievement unlock notification dialog + though, so if you have called SetAchievement then it's advisable to call this soon after that. + If you have stats or achievements that you have saved locally but haven't uploaded with this function + when your application process ends then this function will automatically be called. + You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. + This function returns true upon success if : + RequestCurrentStats has completed and successfully returned its callback AND + the current game has stats associated with it in the Steamworks Partner backend, and those stats are + published. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestCurrentStats"> <summary> - Asynchronously request the user's current stats and achievements from the server. - You must always call this first to get the initial status of stats and achievements. - Only after the resulting callback comes back can you start calling the rest of the stats - and achievement functions for the current user. + Asynchronously request the user's current stats and achievements from the server. + You must always call this first to get the initial status of stats and achievements. + Only after the resulting callback comes back can you start calling the rest of the stats + and achievement functions for the current user. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestGlobalStatsAsync(System.Int32)"> <summary> - Asynchronously fetches global stats data, which is available for stats marked as - "aggregated" in the App Admin panel of the Steamworks website. - You must have called RequestCurrentStats and it needs to return successfully via - its callback prior to calling this. + Asynchronously fetches global stats data, which is available for stats marked as + "aggregated" in the App Admin panel of the Steamworks website. + You must have called RequestCurrentStats and it needs to return successfully via + its callback prior to calling this. </summary> - <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The limit is 60.</param> - <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the remote call failed</returns> + <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The + limit is 60. + </param> + <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the + remote call failed + </returns> </member> <member name="M:Steamworks.SteamUserStats.FindOrCreateLeaderboardAsync(System.String,Steamworks.Data.LeaderboardSort,Steamworks.Data.LeaderboardDisplay)"> <summary> - Gets a leaderboard by name, it will create it if it's not yet created. - Leaderboards created with this function will not automatically show up in the Steam Community. - You must manually set the Community Name field in the App Admin panel of the Steamworks website. - As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on - the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of - dynamically created leaderboards. + Gets a leaderboard by name, it will create it if it's not yet created. + Leaderboards created with this function will not automatically show up in the Steam Community. + You must manually set the Community Name field in the App Admin panel of the Steamworks website. + As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on + the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of + dynamically created leaderboards. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Int32)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Single)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Int32)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Single)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatInt(System.String)"> <summary> - Get a Int stat value + Get a Int stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatFloat(System.String)"> <summary> - Get a float stat value + Get a float stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.ResetAll(System.Boolean)"> <summary> - Practically wipes the slate clean for this user. If includeAchievements is true, will wipe - any achievements too. + Practically wipes the slate clean for this user. If includeAchievements is true, will wipe + any achievements too. </summary> <returns></returns> </member> <member name="T:Steamworks.SteamUtils"> <summary> - Interface which provides access to a range of miscellaneous utility functions + Interface which provides access to a range of miscellaneous utility functions </summary> </member> <member name="E:Steamworks.SteamUtils.OnIpCountryChanged"> <summary> - The country of the user changed + The country of the user changed </summary> </member> <member name="E:Steamworks.SteamUtils.OnLowBatteryPower"> <summary> - Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute - The parameter is the number of minutes left + Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute + The parameter is the number of minutes left </summary> </member> <member name="E:Steamworks.SteamUtils.OnSteamShutdown"> <summary> - Called when Steam wants to shutdown + Called when Steam wants to shutdown </summary> </member> <member name="E:Steamworks.SteamUtils.OnGamepadTextInputDismissed"> <summary> - Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if cancelled etc. + Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if + cancelled etc. </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceAppActive"> <summary> - Returns the number of seconds since the application was active + Returns the number of seconds since the application was active </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceComputerActive"> <summary> - Returns the number of seconds since the user last moved the mouse etc + Returns the number of seconds since the user last moved the mouse etc </summary> </member> <member name="P:Steamworks.SteamUtils.SteamServerTime"> <summary> - Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) </summary> </member> <member name="P:Steamworks.SteamUtils.IpCountry"> <summary> - returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) - e.g "US" or "UK". + returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via + an IP-to-location database) + e.g "US" or "UK". </summary> </member> <member name="M:Steamworks.SteamUtils.GetImageSize(System.Int32,System.UInt32@,System.UInt32@)"> <summary> - returns true if the image exists, and the buffer was successfully filled out - results are returned in RGBA format - the destination buffer size should be 4 * height * width * sizeof(char) + returns true if the image exists, and the buffer was successfully filled out + results are returned in RGBA format + the destination buffer size should be 4 * height * width * sizeof(char) </summary> </member> <member name="M:Steamworks.SteamUtils.GetImage(System.Int32)"> <summary> - returns the image in RGBA format + returns the image in RGBA format </summary> </member> <member name="P:Steamworks.SteamUtils.UsingBatteryPower"> <summary> - Returns true if we're using a battery (ie, a laptop not plugged in) + Returns true if we're using a battery (ie, a laptop not plugged in) </summary> </member> <member name="P:Steamworks.SteamUtils.CurrentBatteryPower"> <summary> - Returns battery power [0-1] + Returns battery power [0-1] </summary> </member> <member name="P:Steamworks.SteamUtils.OverlayNotificationPosition"> <summary> - Sets the position where the overlay instance for the currently calling game should show notifications. - This position is per-game and if this function is called from outside of a game context it will do nothing. + Sets the position where the overlay instance for the currently calling game should show notifications. + This position is per-game and if this function is called from outside of a game context it will do + nothing. </summary> </member> <member name="P:Steamworks.SteamUtils.IsOverlayEnabled"> <summary> - Returns true if the overlay is running and the user can access it. The overlay process could take a few seconds to - start and hook the game process, so this function will initially return false while the overlay is loading. + Returns true if the overlay is running and the user can access it. The overlay process could take a few + seconds to + start and hook the game process, so this function will initially return false while the overlay is + loading. </summary> </member> <member name="P:Steamworks.SteamUtils.DoesOverlayNeedPresent"> - <summary> - Normally this call is unneeded if your game has a constantly running frame loop that calls the - D3D Present API, or OGL SwapBuffers API every frame. - - However, if you have a game that only refreshes the screen on an event driven basis then that can break - the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also - need to Present() to the screen any time an even needing a notification happens or when the overlay is - brought up over the game by a user. You can use this API to ask the overlay if it currently need a present - in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you - refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. - </summary> + <summary> + Normally this call is unneeded if your game has a constantly running frame loop that calls the + D3D Present API, or OGL SwapBuffers API every frame. + + However, if you have a game that only refreshes the screen on an event driven basis then that can break + the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + need to Present() to the screen any time an even needing a notification happens or when the overlay is + brought up over the game by a user. You can use this API to ask the overlay if it currently need a + present + in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + </summary> </member> <member name="M:Steamworks.SteamUtils.CheckFileSignatureAsync(System.String)"> <summary> - Asynchronous call to check if an executable file has been signed using the public key set on the signing tab - of the partner site, for example to refuse to load modified executable files. + Asynchronous call to check if an executable file has been signed using the public key set on the signing + tab + of the partner site, for example to refuse to load modified executable files. </summary> </member> <member name="M:Steamworks.SteamUtils.ShowGamepadTextInput(Steamworks.GamepadTextInputMode,Steamworks.GamepadTextInputLineMode,System.String,System.Int32,System.String)"> <summary> - Activates the Big Picture text input dialog which only supports gamepad input + Activates the Big Picture text input dialog which only supports gamepad input </summary> </member> <member name="M:Steamworks.SteamUtils.GetEnteredGamepadText"> <summary> - Returns previously entered text + Returns previously entered text </summary> </member> <member name="P:Steamworks.SteamUtils.SteamUILanguage"> <summary> - returns the language the steam client is running in, you probably want - Apps.CurrentGameLanguage instead, this is for very special usage cases + returns the language the steam client is running in, you probably want + Apps.CurrentGameLanguage instead, this is for very special usage cases </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamRunningInVR"> <summary> - returns true if Steam itself is running in VR mode + returns true if Steam itself is running in VR mode </summary> </member> <member name="M:Steamworks.SteamUtils.SetOverlayNotificationInset(System.Int32,System.Int32)"> <summary> - Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition + Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamInBigPictureMode"> <summary> - returns true if Steam and the Steam Overlay are running in Big Picture mode - Games much be launched through the Steam client to enable the Big Picture overlay. During development, - a game can be added as a non-steam game to the developers library to test this feature + returns true if Steam and the Steam Overlay are running in Big Picture mode + Games much be launched through the Steam client to enable the Big Picture overlay. During development, + a game can be added as a non-steam game to the developers library to test this feature </summary> </member> <member name="M:Steamworks.SteamUtils.StartVRDashboard"> <summary> - ask SteamUI to create and render its OpenVR dashboard + ask SteamUI to create and render its OpenVR dashboard </summary> </member> <member name="P:Steamworks.SteamUtils.VrHeadsetStreaming"> <summary> - Set whether the HMD content will be streamed via Steam In-Home Streaming - If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. - If this is set to false, then the application window will be streamed instead, and remote input will be allowed. - The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. - (this is useful for games that have asymmetric multiplayer gameplay) + Set whether the HMD content will be streamed via Steam In-Home Streaming + If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be + allowed. + If this is set to false, then the application window will be streamed instead, and remote input will be + allowed. + The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + (this is useful for games that have asymmetric multiplayer gameplay) </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamChinaLauncher"> <summary> - Returns whether this steam client is a Steam China specific client, vs the global client + Returns whether this steam client is a Steam China specific client, vs the global client </summary> </member> <member name="T:Steamworks.SteamVideo"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="P:Steamworks.SteamVideo.IsBroadcasting"> <summary> - Return true if currently using Steam's live broadcasting + Return true if currently using Steam's live broadcasting </summary> </member> <member name="P:Steamworks.SteamVideo.NumViewers"> <summary> - If we're broadcasting, will return the number of live viewers + If we're broadcasting, will return the number of live viewers </summary> </member> <member name="P:Steamworks.Controller.ActionSet"> <summary> - Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') - This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in - our state loops, instead of trying to place it in all of your state transitions. + Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + our state loops, instead of trying to place it in all of your state transitions. </summary> </member> <member name="M:Steamworks.Controller.GetDigitalState(System.String)"> <summary> - Returns the current state of the supplied digital game action + Returns the current state of the supplied digital game action </summary> </member> <member name="M:Steamworks.Controller.GetAnalogState(System.String)"> <summary> - Returns the current state of these supplied analog game action + Returns the current state of these supplied analog game action </summary> </member> <member name="P:Steamworks.Friend.IsMe"> <summary> - Returns true if this is the local user + Returns true if this is the local user </summary> </member> <member name="P:Steamworks.Friend.IsFriend"> <summary> - Return true if this is a friend + Return true if this is a friend </summary> </member> <member name="P:Steamworks.Friend.IsBlocked"> <summary> - Returns true if you have this user blocked + Returns true if you have this user blocked </summary> </member> <member name="P:Steamworks.Friend.IsPlayingThisGame"> <summary> - Return true if this user is playing the game we're running + Return true if this user is playing the game we're running </summary> </member> <member name="P:Steamworks.Friend.IsOnline"> <summary> - Returns true if this friend is online + Returns true if this friend is online </summary> </member> <member name="M:Steamworks.Friend.RequestInfoAsync"> <summary> - Sometimes we don't know the user's name. This will wait until we have - downloaded the information on this user. + Sometimes we don't know the user's name. This will wait until we have + downloaded the information on this user. </summary> </member> <member name="P:Steamworks.Friend.IsAway"> <summary> - Returns true if this friend is marked as away + Returns true if this friend is marked as away </summary> </member> <member name="P:Steamworks.Friend.IsBusy"> <summary> - Returns true if this friend is marked as busy + Returns true if this friend is marked as busy </summary> </member> <member name="P:Steamworks.Friend.IsSnoozing"> <summary> - Returns true if this friend is marked as snoozing + Returns true if this friend is marked as snoozing </summary> </member> <member name="M:Steamworks.Friend.InviteToGame(System.String)"> <summary> - Invite this friend to the game that we are playing + Invite this friend to the game that we are playing </summary> </member> <member name="M:Steamworks.Friend.SendMessage(System.String)"> <summary> - Sends a message to a Steam friend. Returns true if success + Sends a message to a Steam friend. Returns true if success </summary> </member> <member name="M:Steamworks.Friend.RequestUserStatsAsync"> <summary> - Tries to get download the latest user stats + Tries to get download the latest user stats </summary> <returns>True if successful, False if failure</returns> </member> <member name="M:Steamworks.Friend.GetStatFloat(System.String,System.Single)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2925,7 +3002,7 @@ </member> <member name="M:Steamworks.Friend.GetStatInt(System.String,System.Int32)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2933,7 +3010,7 @@ </member> <member name="M:Steamworks.Friend.GetAchievement(System.String,System.Boolean)"> <summary> - Gets a user achievement state. Must call RequestUserStats first. + Gets a user achievement state. Must call RequestUserStats first. </summary> <param name="statName">The name of the achievement you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2941,533 +3018,553 @@ </member> <member name="M:Steamworks.Friend.GetAchievementUnlockTime(System.String)"> <summary> - Gets a the time this achievement was unlocked. + Gets a the time this achievement was unlocked. </summary> <param name="statName">The name of the achievement you want to get</param> - <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return DateTime.MinValue</returns> + <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return + DateTime.MinValue + </returns> </member> <member name="P:Steamworks.InventoryDef.Name"> <summary> - Shortcut to call GetProperty( "name" ) + Shortcut to call GetProperty( "name" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Description"> <summary> - Shortcut to call GetProperty( "description" ) + Shortcut to call GetProperty( "description" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrl"> <summary> - Shortcut to call GetProperty( "icon_url" ) + Shortcut to call GetProperty( "icon_url" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrlLarge"> <summary> - Shortcut to call GetProperty( "icon_url_large" ) + Shortcut to call GetProperty( "icon_url_large" ) </summary> </member> <member name="P:Steamworks.InventoryDef.PriceCategory"> <summary> - Shortcut to call GetProperty( "price_category" ) + Shortcut to call GetProperty( "price_category" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Type"> <summary> - Shortcut to call GetProperty( "type" ) + Shortcut to call GetProperty( "type" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IsGenerator"> <summary> - Returns true if this is an item that generates an item, rather - than something that is actual an item + Returns true if this is an item that generates an item, rather + than something that is actual an item </summary> </member> <member name="P:Steamworks.InventoryDef.ExchangeSchema"> <summary> - Shortcut to call GetProperty( "exchange" ) + Shortcut to call GetProperty( "exchange" ) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipes"> <summary> - Get a list of exchanges that are available to make this item + Get a list of exchanges that are available to make this item </summary> </member> <member name="P:Steamworks.InventoryDef.Marketable"> <summary> - Shortcut to call GetBoolProperty( "marketable" ) + Shortcut to call GetBoolProperty( "marketable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Tradable"> <summary> - Shortcut to call GetBoolProperty( "tradable" ) + Shortcut to call GetBoolProperty( "tradable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Created"> <summary> - Gets the property timestamp + Gets the property timestamp </summary> </member> <member name="P:Steamworks.InventoryDef.Modified"> <summary> - Gets the property modified + Gets the property modified </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty(System.String)"> <summary> - Get a specific property by name + Get a specific property by name </summary> </member> <member name="M:Steamworks.InventoryDef.GetBoolProperty(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty``1(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="P:Steamworks.InventoryDef.Properties"> <summary> - Gets a list of all properties on this item + Gets a list of all properties on this item </summary> </member> <member name="P:Steamworks.InventoryDef.LocalPrice"> <summary> - Returns the price of this item in the local currency (SteamInventory.Currency) + Returns the price of this item in the local currency (SteamInventory.Currency) </summary> </member> <member name="P:Steamworks.InventoryDef.LocalBasePrice"> <summary> - If the price has been discounted, LocalPrice will differ from LocalBasePrice - (assumed, this isn't documented) + If the price has been discounted, LocalPrice will differ from LocalBasePrice + (assumed, this isn't documented) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipesContainingThis"> <summary> - Return a list of recepies that contain this item + Return a list of recepies that contain this item </summary> </member> <member name="P:Steamworks.InventoryItem.Properties"> <summary> - Only available if the result set was created with the getproperties + Only available if the result set was created with the getproperties </summary> </member> <member name="P:Steamworks.InventoryItem.IsNoTrade"> <summary> - This item is account-locked and cannot be traded or given away. - This is an item status flag which is permanently attached to specific item instances + This item is account-locked and cannot be traded or given away. + This is an item status flag which is permanently attached to specific item instances </summary> </member> <member name="P:Steamworks.InventoryItem.IsRemoved"> <summary> - The item has been destroyed, traded away, expired, or otherwise invalidated. - This is an action confirmation flag which is only set one time, as part of a result set. + The item has been destroyed, traded away, expired, or otherwise invalidated. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="P:Steamworks.InventoryItem.IsConsumed"> <summary> - The item quantity has been decreased by 1 via ConsumeItem API. - This is an action confirmation flag which is only set one time, as part of a result set. + The item quantity has been decreased by 1 via ConsumeItem API. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="M:Steamworks.InventoryItem.ConsumeAsync(System.Int32)"> <summary> - Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is permanently removed. - Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game implements item removal at all, - a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain item definitions or fully - blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother borrowed my laptop and deleted all of my rare items". + Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is + permanently removed. + Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game + implements item removal at all, + a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain + item definitions or fully + blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother + borrowed my laptop and deleted all of my rare items". </summary> </member> <member name="M:Steamworks.InventoryItem.SplitStackAsync(System.Int32)"> <summary> - Split stack into two items + Split stack into two items </summary> </member> <member name="M:Steamworks.InventoryItem.AddAsync(Steamworks.InventoryItem,System.Int32)"> <summary> - Add x units of the target item to this item + Add x units of the target item to this item </summary> </member> <member name="P:Steamworks.InventoryItem.Acquired"> <summary> - Will try to return the date that this item was aquired. You need to have for the items - with their properties for this to work. + Will try to return the date that this item was aquired. You need to have for the items + with their properties for this to work. </summary> </member> <member name="P:Steamworks.InventoryItem.Origin"> <summary> - Tries to get the origin property. Need properties for this to work. - Will return a string like "market" + Tries to get the origin property. Need properties for this to work. + Will return a string like "market" </summary> </member> <member name="T:Steamworks.InventoryItem.Amount"> <summary> - Small utility class to describe an item with a quantity + Small utility class to describe an item with a quantity </summary> </member> <member name="T:Steamworks.InventoryRecipe"> <summary> - A structured description of an item exchange + A structured description of an item exchange </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.DefinitionId"> <summary> - The definition ID of the ingredient. + The definition ID of the ingredient. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Definition"> <summary> - If we don't know about this item definition this might be null. - In which case, DefinitionId should still hold the correct id. + If we don't know about this item definition this might be null. + In which case, DefinitionId should still hold the correct id. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Count"> <summary> - The amount of this item needed. Generally this will be 1. + The amount of this item needed. Generally this will be 1. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Result"> <summary> - The item that this will create. + The item that this will create. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredients"> <summary> - The items, with quantity required to create this item. + The items, with quantity required to create this item. </summary> </member> <member name="M:Steamworks.InventoryResult.BelongsTo(Steamworks.SteamId)"> <summary> - Checks whether an inventory result handle belongs to the specified Steam ID. - This is important when using Deserialize, to verify that a remote player is not pretending to have a different user's inventory + Checks whether an inventory result handle belongs to the specified Steam ID. + This is important when using Deserialize, to verify that a remote player is not pretending to have a + different user's inventory </summary> </member> <member name="M:Steamworks.InventoryResult.Serialize"> <summary> - Serialized result sets contain a short signature which can't be forged or replayed across different game sessions. - A result set can be serialized on the local client, transmitted to other players via your game networking, and - deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing - rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a serialized - result depends on the number items which are being serialized.When securely transmitting items to other players, - it is recommended to use GetItemsByID first to create a minimal result set. - Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See DeserializeResult - for expiration handling. + Serialized result sets contain a short signature which can't be forged or replayed across different game + sessions. + A result set can be serialized on the local client, transmitted to other players via your game + networking, and + deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing + rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a + serialized + result depends on the number items which are being serialized.When securely transmitting items to other + players, + it is recommended to use GetItemsByID first to create a minimal result set. + Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See + DeserializeResult + for expiration handling. </summary> </member> <member name="P:Steamworks.PartyBeacon.Owner"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="P:Steamworks.PartyBeacon.MetaData"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="M:Steamworks.PartyBeacon.JoinAsync"> <summary> - Will attempt to join the party. If successful will return a connection string. - If failed, will return null + Will attempt to join the party. If successful will return a connection string. + If failed, will return null </summary> </member> <member name="M:Steamworks.PartyBeacon.OnReservationCompleted(Steamworks.SteamId)"> <summary> - When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your game a ReservationNotification callback. - When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined successfully + When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your + game a ReservationNotification callback. + When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined + successfully </summary> </member> <member name="M:Steamworks.PartyBeacon.CancelReservation(Steamworks.SteamId)"> <summary> - To cancel a reservation (due to timeout or user input), call this. - Steam will open a new reservation slot. - Note: The user may already be in-flight to your game, so it's possible they will still connect and try to join your party. + To cancel a reservation (due to timeout or user input), call this. + Steam will open a new reservation slot. + Note: The user may already be in-flight to your game, so it's possible they will still connect and try + to join your party. </summary> </member> <member name="M:Steamworks.PartyBeacon.Destroy"> <summary> - Turn off the beacon + Turn off the beacon </summary> </member> <member name="T:Steamworks.SteamServerInit"> <summary> - Used to set up the server. - The variables in here are all required to be set, and can't be changed once the server is created. + Used to set up the server. + The variables in here are all required to be set, and can't be changed once the server is created. </summary> </member> <member name="F:Steamworks.SteamServerInit.VersionString"> <summary> - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the server is out of date. - If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If this version number is - less than that latest version then your server won't show. + The version string is usually in the form x.x.x.x, and is used by the master server to detect when the + server is out of date. + If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If + this version number is + less than that latest version then your server won't show. </summary> </member> <member name="F:Steamworks.SteamServerInit.ModDir"> <summary> - This should be the same directory game where gets installed into. Just the folder name, not the whole path. I.e. "Rust", "Garrysmod". + This should be the same directory game where gets installed into. Just the folder name, not the whole + path. I.e. "Rust", "Garrysmod". </summary> </member> <member name="F:Steamworks.SteamServerInit.GameDescription"> <summary> - The game description. Setting this to the full name of your game is recommended. + The game description. Setting this to the full name of your game is recommended. </summary> </member> <member name="F:Steamworks.SteamServerInit.DedicatedServer"> <summary> - Is a dedicated server + Is a dedicated server </summary> </member> <member name="M:Steamworks.SteamServerInit.WithRandomSteamPort"> <summary> - Set the Steam quert port + Set the Steam quert port </summary> </member> <member name="M:Steamworks.SteamServerInit.WithQueryShareGamePort"> <summary> - If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server API to use - "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets for the master - server updater. - - More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket + If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server + API to use + "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets + for the master + server updater. + + More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewCommunityFile"> <summary> - Create a Normal Workshop item that can be subscribed to + Create a Normal Workshop item that can be subscribed to </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewMicrotransactionFile"> <summary> - Workshop item that is meant to be voted on for the purpose of selling in-game + Workshop item that is meant to be voted on for the purpose of selling in-game </summary> </member> <member name="F:Steamworks.Ugc.PublishResult.NeedsWorkshopAgreement"> <summary> - https://partner.steamgames.com/doc/features/workshop/implementation#Legal + https://partner.steamgames.com/doc/features/workshop/implementation#Legal </summary> </member> <member name="P:Steamworks.Ugc.Item.Id"> <summary> - The actual ID of this file + The actual ID of this file </summary> </member> <member name="P:Steamworks.Ugc.Item.Title"> <summary> - The given title of this item + The given title of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.Description"> <summary> - The description of this item, in your local language if available + The description of this item, in your local language if available </summary> </member> <member name="P:Steamworks.Ugc.Item.Tags"> <summary> - A list of tags for this item, all lowercase + A list of tags for this item, all lowercase </summary> </member> <member name="P:Steamworks.Ugc.Item.CreatorApp"> <summary> - App Id of the app that created this item + App Id of the app that created this item </summary> </member> <member name="P:Steamworks.Ugc.Item.ConsumerApp"> <summary> - App Id of the app that will consume this item. + App Id of the app that will consume this item. </summary> </member> <member name="P:Steamworks.Ugc.Item.Owner"> <summary> - User who created this content + User who created this content </summary> </member> <member name="P:Steamworks.Ugc.Item.Score"> <summary> - The bayesian average for up votes / total votes, between [0,1] + The bayesian average for up votes / total votes, between [0,1] </summary> </member> <member name="P:Steamworks.Ugc.Item.Created"> <summary> - Time when the published item was created + Time when the published item was created </summary> </member> <member name="P:Steamworks.Ugc.Item.Updated"> <summary> - Time when the published item was last updated + Time when the published item was last updated </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPublic"> <summary> - True if this is publically visible + True if this is publically visible </summary> </member> <member name="P:Steamworks.Ugc.Item.IsFriendsOnly"> <summary> - True if this item is only visible by friends of the creator + True if this item is only visible by friends of the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPrivate"> <summary> - True if this is only visible to the creator + True if this is only visible to the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsBanned"> <summary> - True if this item has been banned + True if this item has been banned </summary> </member> <member name="P:Steamworks.Ugc.Item.IsAcceptedForUse"> <summary> - Whether the developer of this app has specifically flagged this item as accepted in the Workshop + Whether the developer of this app has specifically flagged this item as accepted in the Workshop </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesUp"> <summary> - The number of upvotes of this item + The number of upvotes of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesDown"> <summary> - The number of downvotes of this item + The number of downvotes of this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Download(System.Boolean)"> <summary> - Start downloading this item. - If this returns false the item isn't getting downloaded. + Start downloading this item. + If this returns false the item isn't getting downloaded. </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesTotal"> <summary> - If we're downloading, how big the total download is + If we're downloading, how big the total download is </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesDownloaded"> <summary> - If we're downloading, how much we've downloaded + If we're downloading, how much we've downloaded </summary> </member> <member name="P:Steamworks.Ugc.Item.SizeBytes"> <summary> - If we're installed, how big is the install + If we're installed, how big is the install </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadAmount"> <summary> - If we're downloading our current progress as a delta betwen 0-1 + If we're downloading our current progress as a delta betwen 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.HasTag(System.String)"> <summary> - A case insensitive check for tag + A case insensitive check for tag </summary> </member> <member name="M:Steamworks.Ugc.Item.Subscribe"> <summary> - Allows the user to subscribe to this item + Allows the user to subscribe to this item </summary> </member> <member name="M:Steamworks.Ugc.Item.DownloadAsync(System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Allows the user to subscribe to download this item asyncronously - If CancellationToken is default then there is 60 seconds timeout - Progress will be set to 0-1 + Allows the user to subscribe to download this item asyncronously + If CancellationToken is default then there is 60 seconds timeout + Progress will be set to 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.Unsubscribe"> <summary> - Allows the user to unsubscribe from this item + Allows the user to unsubscribe from this item </summary> </member> <member name="M:Steamworks.Ugc.Item.AddFavorite"> <summary> - Adds item to user favorite list + Adds item to user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.RemoveFavorite"> <summary> - Removes item from user favorite list + Removes item from user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.Vote(System.Boolean)"> <summary> - Allows the user to rate a workshop item up or down. + Allows the user to rate a workshop item up or down. </summary> </member> <member name="M:Steamworks.Ugc.Item.GetUserVote"> <summary> - Gets the current users vote on the item + Gets the current users vote on the item </summary> </member> <member name="P:Steamworks.Ugc.Item.Url"> <summary> - Return a URL to view this item online + Return a URL to view this item online </summary> </member> <member name="P:Steamworks.Ugc.Item.ChangelogUrl"> <summary> - The URl to view this item's changelog + The URl to view this item's changelog </summary> </member> <member name="P:Steamworks.Ugc.Item.CommentsUrl"> <summary> - The URL to view the comments on this item + The URL to view the comments on this item </summary> </member> <member name="P:Steamworks.Ugc.Item.DiscussUrl"> <summary> - The URL to discuss this item + The URL to discuss this item </summary> </member> <member name="P:Steamworks.Ugc.Item.StatsUrl"> <summary> - The URL to view this items stats online + The URL to view this items stats online </summary> </member> <member name="P:Steamworks.Ugc.Item.PreviewImageUrl"> <summary> - The URL to the preview image for this item + The URL to the preview image for this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Edit"> <summary> - Edit this item + Edit this item </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAnyTag"> <summary> - Found items must have at least one of the defined tags + Found items must have at least one of the defined tags </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAllTags"> <summary> - Found items must have all defined tags + Found items must have all defined tags </summary> </member> <member name="P:Steamworks.Epoch.Current"> <summary> - Returns the current Unix Epoch + Returns the current Unix Epoch </summary> </member> <member name="M:Steamworks.Epoch.ToDateTime(System.Decimal)"> <summary> - Convert an epoch to a datetime + Convert an epoch to a datetime </summary> </member> <member name="M:Steamworks.Epoch.FromDateTime(System.DateTime)"> <summary> - Convert a DateTime to a unix time + Convert a DateTime to a unix time </summary> </member> <member name="M:Steamworks.Helpers.TakeBuffer(System.Int32)"> <summary> - Returns a buffer. This will get returned and reused later on. + Returns a buffer. This will get returned and reused later on. </summary> </member> <member name="T:Steamworks.PreserveAttribute"> <summary> - Prevent unity from stripping shit we depend on - https://docs.unity3d.com/Manual/ManagedCodeStripping.html + Prevent unity from stripping shit we depend on + https://docs.unity3d.com/Manual/ManagedCodeStripping.html </summary> </member> </members> diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml index 176b6b1..4f58980 100644 --- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml +++ b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win32.xml @@ -6,1356 +6,1385 @@ <members> <member name="T:Steamworks.CallResult`1"> <summary> - An awaitable version of a SteamAPICall_t + An awaitable version of a SteamAPICall_t </summary> </member> <member name="M:Steamworks.CallResult`1.OnCompleted(System.Action)"> <summary> - This gets called if IsComplete returned false on the first call. - The Action "continues" the async call. We pass it to the Dispatch - to be called when the callback returns. + This gets called if IsComplete returned false on the first call. + The Action "continues" the async call. We pass it to the Dispatch + to be called when the callback returns. </summary> </member> <member name="M:Steamworks.CallResult`1.GetResult"> <summary> - Gets the result. This is called internally by the async shit. + Gets the result. This is called internally by the async shit. </summary> </member> <member name="P:Steamworks.CallResult`1.IsCompleted"> <summary> - Return true if complete or failed + Return true if complete or failed </summary> </member> <member name="M:Steamworks.CallResult`1.GetAwaiter"> <summary> - This is what makes this struct awaitable + This is what makes this struct awaitable </summary> </member> <member name="T:Steamworks.ICallbackData"> <summary> - Gives us a generic way to get the CallbackId of structs + Gives us a generic way to get the CallbackId of structs </summary> </member> <member name="M:Steamworks.AuthTicket.Cancel"> <summary> - Cancels a ticket. - You should cancel your ticket when you close the game or leave a server. + Cancels a ticket. + You should cancel your ticket when you close the game or leave a server. </summary> </member> <member name="T:Steamworks.Dispatch"> <summary> - Responsible for all callback/callresult handling - - This manually pumps Steam's message queue and dispatches those - events to any waiting callbacks/callresults. + Responsible for all callback/callresult handling + + This manually pumps Steam's message queue and dispatches those + events to any waiting callbacks/callresults. </summary> </member> <member name="F:Steamworks.Dispatch.OnDebugCallback"> <summary> - If set then we'll call this function every time a callback is generated. - - This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific - callback then please create an issue on github and I'll add it! - - Params are : [Callback Type] [Callback Contents] [server] - + If set then we'll call this function every time a callback is generated. + + This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific + callback then please create an issue on github and I'll add it! + + Params are : [Callback Type] [Callback Contents] [server] + </summary> </member> <member name="F:Steamworks.Dispatch.OnException"> <summary> - Called if an exception happens during a callback/callresult. - This is needed because the exception isn't always accessible when running - async.. and can fail silently. With this hooked you won't be stuck wondering - what happened. + Called if an exception happens during a callback/callresult. + This is needed because the exception isn't always accessible when running + async.. and can fail silently. With this hooked you won't be stuck wondering + what happened. </summary> </member> <member name="M:Steamworks.Dispatch.Init"> <summary> - This gets called from Client/Server Init - It's important to switch to the manual dispatcher + This gets called from Client/Server Init + It's important to switch to the manual dispatcher </summary> </member> <member name="F:Steamworks.Dispatch.runningFrame"> <summary> - Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. + Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. </summary> </member> <member name="M:Steamworks.Dispatch.Frame(Steamworks.Data.HSteamPipe)"> <summary> - Calls RunFrame and processes events from this Steam Pipe + Calls RunFrame and processes events from this Steam Pipe </summary> </member> <member name="F:Steamworks.Dispatch.actionsToCall"> <summary> - To be safe we don't call the continuation functions while iterating - the Callback list. This is maybe overly safe because the only way this - could be an issue is if the callback list is modified in the continuation - which would only happen if starting or shutting down in the callback. + To be safe we don't call the continuation functions while iterating + the Callback list. This is maybe overly safe because the only way this + could be an issue is if the callback list is modified in the continuation + which would only happen if starting or shutting down in the callback. </summary> </member> <member name="M:Steamworks.Dispatch.ProcessCallback(Steamworks.Dispatch.CallbackMsg_t,System.Boolean)"> <summary> - A callback is a general global message + A callback is a general global message </summary> </member> <member name="M:Steamworks.Dispatch.CallbackToString(Steamworks.CallbackType,System.IntPtr,System.Int32)"> <summary> - Given a callback, try to turn it into a string + Given a callback, try to turn it into a string </summary> </member> <member name="M:Steamworks.Dispatch.ProcessResult(Steamworks.Dispatch.CallbackMsg_t)"> <summary> - A result is a reply to a specific command + A result is a reply to a specific command </summary> </member> <member name="M:Steamworks.Dispatch.LoopClientAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.LoopServerAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.OnCallComplete``1(Steamworks.Data.SteamAPICall_t,System.Action,System.Boolean)"> <summary> - Watch for a steam api call + Watch for a steam api call </summary> </member> <member name="M:Steamworks.Dispatch.Install``1(System.Action{``0},System.Boolean)"> <summary> - Install a global callback. The passed function will get called if it's all good. + Install a global callback. The passed function will get called if it's all good. </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.Numeric"> <summary> - The score is just a simple numerical value + The score is just a simple numerical value </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeSeconds"> <summary> - The score represents a time, in seconds + The score represents a time, in seconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeMilliSeconds"> <summary> - The score represents a time, in milliseconds + The score represents a time, in milliseconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Ascending"> <summary> - The top-score is the lowest number + The top-score is the lowest number </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Descending"> <summary> - The top-score is the highest number + The top-score is the highest number </summary> </member> <member name="F:Steamworks.Data.SendType.Unreliable"> - <summary> - Send the message unreliably. Can be lost. Messages *can* be larger than a - single MTU (UDP packet), but there is no retransmission, so if any piece - of the message is lost, the entire message will be dropped. - - The sending API does have some knowledge of the underlying connection, so - if there is no NAT-traversal accomplished or there is a recognized adjustment - happening on the connection, the packet will be batched until the connection - is open again. - </summary> + <summary> + Send the message unreliably. Can be lost. Messages *can* be larger than a + single MTU (UDP packet), but there is no retransmission, so if any piece + of the message is lost, the entire message will be dropped. + + The sending API does have some knowledge of the underlying connection, so + if there is no NAT-traversal accomplished or there is a recognized adjustment + happening on the connection, the packet will be batched until the connection + is open again. + </summary> </member> <member name="F:Steamworks.Data.SendType.NoNagle"> <summary> - Disable Nagle's algorithm. - By default, Nagle's algorithm is applied to all outbound messages. This means - that the message will NOT be sent immediately, in case further messages are - sent soon after you send this, which can be grouped together. Any time there - is enough buffered data to fill a packet, the packets will be pushed out immediately, - but partially-full packets not be sent until the Nagle timer expires. + Disable Nagle's algorithm. + By default, Nagle's algorithm is applied to all outbound messages. This means + that the message will NOT be sent immediately, in case further messages are + sent soon after you send this, which can be grouped together. Any time there + is enough buffered data to fill a packet, the packets will be pushed out immediately, + but partially-full packets not be sent until the Nagle timer expires. </summary> </member> <member name="F:Steamworks.Data.SendType.NoDelay"> <summary> - If the message cannot be sent very soon (because the connection is still doing some initial - handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable - messages. Using this flag on reliable messages is invalid. + If the message cannot be sent very soon (because the connection is still doing some initial + handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable + messages. Using this flag on reliable messages is invalid. </summary> </member> <member name="F:Steamworks.Data.SendType.Reliable"> - Reliable message send. Can send up to 0.5mb in a single message. + Reliable message send. Can send up to 0.5mb in a single message. Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. </member> <member name="P:Steamworks.Data.NetIdentity.LocalHost"> <summary> - Return a NetIdentity that represents LocalHost + Return a NetIdentity that represents LocalHost </summary> </member> <member name="P:Steamworks.Data.NetIdentity.IsLocalHost"> <summary> - Return true if this identity is localhost + Return true if this identity is localhost </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.SteamId)~Steamworks.Data.NetIdentity"> <summary> - Convert to a SteamId + Convert to a SteamId </summary> <param name="value"></param> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetAddress)~Steamworks.Data.NetIdentity"> <summary> - Set the specified Address + Set the specified Address </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetIdentity)~Steamworks.SteamId"> <summary> - Automatically convert to a SteamId + Automatically convert to a SteamId </summary> <param name="value"></param> </member> <member name="P:Steamworks.Data.NetIdentity.SteamId"> <summary> - Returns NULL if we're not a SteamId + Returns NULL if we're not a SteamId </summary> </member> <member name="P:Steamworks.Data.NetIdentity.Address"> <summary> - Returns NULL if we're not a NetAddress + Returns NULL if we're not a NetAddress </summary> </member> <member name="M:Steamworks.Data.NetIdentity.ToString"> <summary> - We override tostring to provide a sensible representation + We override tostring to provide a sensible representation </summary> </member> <member name="P:Steamworks.Data.NetAddress.Port"> <summary> - The Port. This is redundant documentation. + The Port. This is redundant documentation. </summary> </member> <member name="M:Steamworks.Data.NetAddress.AnyIp(System.UInt16)"> <summary> - Any IP, specific port + Any IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.LocalHost(System.UInt16)"> <summary> - Localhost IP, specific port + Localhost IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.String,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.Net.IPAddress,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="P:Steamworks.Data.NetAddress.Cleared"> <summary> - Set everything to zero + Set everything to zero </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv6AllZeros"> <summary> - Return true if the IP is ::0. (Doesn't check port.) + Return true if the IP is ::0. (Doesn't check port.) </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv4"> <summary> - Return true if IP is mapped IPv4 + Return true if IP is mapped IPv4 </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsLocalHost"> <summary> - Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) + Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) </summary> </member> <member name="P:Steamworks.Data.NetAddress.Address"> <summary> - Get the Address section + Get the Address section </summary> </member> <member name="T:Steamworks.Data.Connection"> <summary> - Used as a base to create your client connection. This creates a socket - to a single connection. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your client connection. This creates a socket + to a single connection. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.Data.Connection.Accept"> <summary> - Accept an incoming connection that has been received on a listen socket. + Accept an incoming connection that has been received on a listen socket. </summary> </member> <member name="M:Steamworks.Data.Connection.Close(System.Boolean,System.Int32,System.String)"> <summary> - Disconnects from the remote host and invalidates the connection handle. Any unread data on the connection is discarded.. - reasonCode is defined and used by you. + Disconnects from the remote host and invalidates the connection handle. Any unread data on the + connection is discarded.. + reasonCode is defined and used by you. </summary> </member> <member name="P:Steamworks.Data.Connection.UserData"> <summary> - Get/Set connection user data + Get/Set connection user data </summary> </member> <member name="P:Steamworks.Data.Connection.ConnectionName"> <summary> - A name for the connection, used mostly for debugging + A name for the connection, used mostly for debugging </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.IntPtr,System.Int32,Steamworks.Data.SendType)"> <summary> - This is the best version to use. + This is the best version to use. </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],System.Int32,System.Int32,Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.String,Steamworks.Data.SendType)"> <summary> - This creates a ton of garbage - so don't do anything with this beyond testing! + This creates a ton of garbage - so don't do anything with this beyond testing! </summary> </member> <member name="M:Steamworks.Data.Connection.Flush"> <summary> - Flush any messages waiting on the Nagle timer and send them at the next transmission - opportunity (often that means right now). + Flush any messages waiting on the Nagle timer and send them at the next transmission + opportunity (often that means right now). </summary> </member> <member name="M:Steamworks.Data.Connection.DetailedStatus"> <summary> - Returns detailed connection stats in text format. Useful - for dumping to a log, etc. + Returns detailed connection stats in text format. Useful + for dumping to a log, etc. </summary> <returns>Plain text connection info</returns> </member> <member name="T:Steamworks.Data.ConnectionInfo"> <summary> - Describe the state of a connection + Describe the state of a connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.State"> <summary> - High level state of the connection + High level state of the connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Address"> <summary> - Remote address. Might be all 0's if we don't know it, or if this is N/A. + Remote address. Might be all 0's if we don't know it, or if this is N/A. </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Identity"> <summary> - Who is on the other end? Depending on the connection type and phase of the connection, we might not know + Who is on the other end? Depending on the connection type and phase of the connection, we might not know </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.EndReason"> <summary> - Basic cause of the connection termination or problem. + Basic cause of the connection termination or problem. </summary> </member> <member name="T:Steamworks.Data.NetPingLocation"> - <summary> - - Object that describes a "location" on the Internet with sufficient - detail that we can reasonably estimate an upper bound on the ping between - the two hosts, even if a direct route between the hosts is not possible, - and the connection must be routed through the Steam Datagram Relay network. - This does not contain any information that identifies the host. Indeed, - if two hosts are in the same building or otherwise have nearly identical - networking characteristics, then it's valid to use the same location - object for both of them. - - NOTE: This object should only be used in the same process! Do not serialize it, - send it over the wire, or persist it in a file or database! If you need - to do that, convert it to a string representation using the methods in - ISteamNetworkingUtils(). - - </summary> + <summary> + + Object that describes a "location" on the Internet with sufficient + detail that we can reasonably estimate an upper bound on the ping between + the two hosts, even if a direct route between the hosts is not possible, + and the connection must be routed through the Steam Datagram Relay network. + This does not contain any information that identifies the host. Indeed, + if two hosts are in the same building or otherwise have nearly identical + networking characteristics, then it's valid to use the same location + object for both of them. + + NOTE: This object should only be used in the same process! Do not serialize it, + send it over the wire, or persist it in a file or database! If you need + to do that, convert it to a string representation using the methods in + ISteamNetworkingUtils(). + + </summary> </member> <member name="M:Steamworks.Data.NetPingLocation.EstimatePingTo(Steamworks.Data.NetPingLocation)"> - Estimate the round-trip latency between two arbitrary locations, in - milliseconds. This is a conservative estimate, based on routing through - the relay network. For most basic relayed connections, this ping time - will be pretty accurate, since it will be based on the route likely to - be actually used. - - If a direct IP route is used (perhaps via NAT traversal), then the route - will be different, and the ping time might be better. Or it might actually - be a bit worse! Standard IP routing is frequently suboptimal! - - But even in this case, the estimate obtained using this method is a - reasonable upper bound on the ping time. (Also it has the advantage - of returning immediately and not sending any packets.) - - In a few cases we might not able to estimate the route. In this case - a negative value is returned. k_nSteamNetworkingPing_Failed means - the reason was because of some networking difficulty. (Failure to - ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot - currently answer the question for some other reason. - - Do you need to be able to do this from a backend/matchmaking server? - You are looking for the "ticketgen" library. + Estimate the round-trip latency between two arbitrary locations, in + milliseconds. This is a conservative estimate, based on routing through + the relay network. For most basic relayed connections, this ping time + will be pretty accurate, since it will be based on the route likely to + be actually used. + + If a direct IP route is used (perhaps via NAT traversal), then the route + will be different, and the ping time might be better. Or it might actually + be a bit worse! Standard IP routing is frequently suboptimal! + + But even in this case, the estimate obtained using this method is a + reasonable upper bound on the ping time. (Also it has the advantage + of returning immediately and not sending any packets.) + + In a few cases we might not able to estimate the route. In this case + a negative value is returned. k_nSteamNetworkingPing_Failed means + the reason was because of some networking difficulty. (Failure to + ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot + currently answer the question for some other reason. + + Do you need to be able to do this from a backend/matchmaking server? + You are looking for the "ticketgen" library. </member> <member name="M:Steamworks.Data.Socket.Close"> <summary> - Destroy a listen socket. All the connections that were accepting on the listen - socket are closed ungracefully. + Destroy a listen socket. All the connections that were accepting on the listen + socket are closed ungracefully. </summary> </member> <member name="P:Steamworks.Data.Achievement.State"> <summary> - True if unlocked + True if unlocked </summary> </member> <member name="P:Steamworks.Data.Achievement.UnlockTime"> <summary> - Should hold the unlock time if State is true + Should hold the unlock time if State is true </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIcon"> <summary> - Gets the icon of the achievement. This can return a null image even though the image exists if the image - hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be downloaded. + Gets the icon of the achievement. This can return a null image even though the image exists if the image + hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be + downloaded. </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIconAsync(System.Int32)"> <summary> - Gets the icon of the achievement, waits for it to load if we have to + Gets the icon of the achievement, waits for it to load if we have to </summary> </member> <member name="P:Steamworks.Data.Achievement.GlobalUnlocked"> <summary> - Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data available. + Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data + available. </summary> </member> <member name="M:Steamworks.Data.Achievement.Trigger(System.Boolean)"> <summary> - Make this achievement earned + Make this achievement earned </summary> </member> <member name="M:Steamworks.Data.Achievement.Clear"> <summary> - Reset this achievement to not achieved + Reset this achievement to not achieved </summary> </member> <member name="T:Steamworks.Data.DurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero + rate. </summary> </member> <member name="P:Steamworks.Data.DurationControl.Appid"> <summary> - appid generating playtime + appid generating playtime </summary> </member> <member name="P:Steamworks.Data.DurationControl.Applicable"> <summary> - is duration control applicable to user + game combination + is duration control applicable to user + game combination </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeInLastFiveHours"> <summary> - playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in seconds + playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in + seconds </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeToday"> <summary> - playtime on current calendar day + playtime on current calendar day </summary> </member> <member name="P:Steamworks.Data.DurationControl.Progress"> <summary> - recommended progress + recommended progress </summary> </member> <member name="P:Steamworks.Data.Leaderboard.Name"> <summary> - the name of a leaderboard + the name of a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.ReplaceScore(System.Int32,System.Int32[])"> <summary> - Submit your score and replace your old score even if it was better + Submit your score and replace your old score even if it was better </summary> </member> <member name="M:Steamworks.Data.Leaderboard.SubmitScoreAsync(System.Int32,System.Int32[])"> <summary> - Submit your new score, but won't replace your high score if it's lower + Submit your new score, but won't replace your high score if it's lower </summary> </member> <member name="M:Steamworks.Data.Leaderboard.AttachUgc(Steamworks.Data.Ugc)"> <summary> - Attaches a piece of user generated content the user's entry on a leaderboard + Attaches a piece of user generated content the user's entry on a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAsync(System.Int32,System.Int32)"> <summary> - Used to query for a sequential range of leaderboard entries by leaderboard Sort. + Used to query for a sequential range of leaderboard entries by leaderboard Sort. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAroundUserAsync(System.Int32,System.Int32)"> <summary> - Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the leaderboard - before or after the user's entry, Steam will adjust the range to try to return the number of entries requested. - For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will return the first - 5 entries in the leaderboard. If The current user has no entry, this will return null. + Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the + leaderboard + before or after the user's entry, Steam will adjust the range to try to return the number of entries + requested. + For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will + return the first + 5 entries in the leaderboard. If The current user has no entry, this will return null. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresFromFriendsAsync"> <summary> - Used to retrieve all leaderboard entries for friends of the current user + Used to retrieve all leaderboard entries for friends of the current user </summary> </member> <member name="M:Steamworks.Data.Lobby.Join"> <summary> - Try to join this room. Will return RoomEnter.Success on success, - and anything else is a failure + Try to join this room. Will return RoomEnter.Success on success, + and anything else is a failure </summary> </member> <member name="M:Steamworks.Data.Lobby.Leave"> <summary> - Leave a lobby; this will take effect immediately on the client side - other users in the lobby will be notified by a LobbyChatUpdate_t callback + Leave a lobby; this will take effect immediately on the client side + other users in the lobby will be notified by a LobbyChatUpdate_t callback </summary> </member> <member name="M:Steamworks.Data.Lobby.InviteFriend(Steamworks.SteamId)"> <summary> - Invite another user to the lobby - will return true if the invite is successfully sent, whether or not the target responds - returns false if the local user is not connected to the Steam servers + Invite another user to the lobby + will return true if the invite is successfully sent, whether or not the target responds + returns false if the local user is not connected to the Steam servers </summary> </member> <member name="P:Steamworks.Data.Lobby.MemberCount"> <summary> - returns the number of users in the specified lobby + returns the number of users in the specified lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Members"> <summary> - Returns current members. Need to be in the lobby to see the users. + Returns current members. Need to be in the lobby to see the users. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetData(System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetData(System.String,System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.DeleteData(System.String)"> <summary> - Removes a metadata key from the lobby + Removes a metadata key from the lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Data"> <summary> - Get all data for this lobby + Get all data for this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.GetMemberData(Steamworks.Friend,System.String)"> <summary> - Gets per-user metadata for someone in this lobby + Gets per-user metadata for someone in this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetMemberData(System.String,System.String)"> <summary> - Sets per-user metadata (for the local user implicitly) + Sets per-user metadata (for the local user implicitly) </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatString(System.String)"> <summary> - Sends a string to the chat room + Sends a string to the chat room </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatBytes(System.Byte[])"> <summary> - Sends bytes the the chat room - this isn't exposed because there's no way to read raw bytes atm, - and I figure people can send json if they want something more advanced + Sends bytes the the chat room + this isn't exposed because there's no way to read raw bytes atm, + and I figure people can send json if they want something more advanced </summary> </member> <member name="M:Steamworks.Data.Lobby.Refresh"> <summary> - Refreshes metadata for a lobby you're not necessarily in right now - you never do this for lobbies you're a member of, only if your - this will send down all the metadata associated with a lobby - this is an asynchronous call - returns false if the local user is not connected to the Steam servers - results will be returned by a LobbyDataUpdate_t callback - if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + Refreshes metadata for a lobby you're not necessarily in right now + you never do this for lobbies you're a member of, only if your + this will send down all the metadata associated with a lobby + this is an asynchronous call + returns false if the local user is not connected to the Steam servers + results will be returned by a LobbyDataUpdate_t callback + if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false </summary> </member> <member name="P:Steamworks.Data.Lobby.MaxMembers"> <summary> - Max members able to join this lobby. Cannot be over 250. - Can only be set by the owner + Max members able to join this lobby. Cannot be over 250. + Can only be set by the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(Steamworks.SteamId)"> <summary> - [SteamID variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [SteamID variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(System.String,System.UInt16)"> <summary> - [IP/Port variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [IP/Port variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetGameServer(System.UInt32@,System.UInt16@,Steamworks.SteamId@)"> <summary> - Gets the details of the lobby's game server, if set. Returns true if the lobby is - valid and has a server set, otherwise returns false. + Gets the details of the lobby's game server, if set. Returns true if the lobby is + valid and has a server set, otherwise returns false. </summary> </member> <member name="P:Steamworks.Data.Lobby.Owner"> <summary> - You must be the lobby owner to set the owner + You must be the lobby owner to set the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.IsOwnedBy(Steamworks.SteamId)"> <summary> - Check if the specified SteamId owns the lobby + Check if the specified SteamId owns the lobby </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceClose"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceFar"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceWorldwide"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithKeyValue(System.String,System.String)"> <summary> - Filter by specified key/value pair; string parameters + Filter by specified key/value pair; string parameters </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithLower(System.String,System.Int32)"> <summary> - Numerical filter where value is less than the value provided + Numerical filter where value is less than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithHigher(System.String,System.Int32)"> <summary> - Numerical filter where value is greater than the value provided + Numerical filter where value is greater than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must be equal to the value provided + Numerical filter where value must be equal to the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithNotEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must not equal the value provided + Numerical filter where value must not equal the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.AddNumericalFilter(System.String,System.Int32,Steamworks.LobbyComparison)"> <summary> - Test key, initialize numerical filter list if necessary, then add new numerical filter + Test key, initialize numerical filter list if necessary, then add new numerical filter </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.OrderByNear(System.String,System.Int32)"> <summary> - Order filtered results according to key/values nearest the provided key/value pair. - Can specify multiple near value filters; each successive filter is lower priority than the previous. + Order filtered results according to key/values nearest the provided key/value pair. + Can specify multiple near value filters; each successive filter is lower priority than the previous. </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithSlotsAvailable(System.Int32)"> <summary> - returns only lobbies with the specified number of slots available + returns only lobbies with the specified number of slots available </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithMaxResults(System.Int32)"> <summary> - sets how many results to return, the lower the count the faster it is to download the lobby results + sets how many results to return, the lower the count the faster it is to download the lobby results </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.RequestAsync"> <summary> - Run the query, get the matching lobbies + Run the query, get the matching lobbies </summary> </member> <member name="T:Steamworks.Data.OutgoingPacket"> <summary> - A server query packet. + A server query packet. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Address"> <summary> - Target IP address + Target IP address </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Port"> <summary> - Target port + Target port </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Data"> <summary> - This data is pooled. Make a copy if you don't use it immediately. - This buffer is also quite large - so pay attention to Size. + This data is pooled. Make a copy if you don't use it immediately. + This buffer is also quite large - so pay attention to Size. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Size"> <summary> - Size of the data + Size of the data </summary> </member> <member name="T:Steamworks.Data.RemotePlaySession"> <summary> - Represents a RemotePlaySession from the SteamRemotePlay interface + Represents a RemotePlaySession from the SteamRemotePlay interface </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.IsValid"> <summary> - Returns true if this session was valid when created. This will stay true even - after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected + Returns true if this session was valid when created. This will stay true even + after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.SteamId"> <summary> - Get the SteamID of the connected user + Get the SteamID of the connected user </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.ClientName"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.FormFactor"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagUser(Steamworks.SteamId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.SetLocation(System.String)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagPublishedFile(Steamworks.Data.PublishedFileId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="P:Steamworks.Data.ServerInfo.Tags"> <summary> - Gets the individual tags for this server + Gets the individual tags for this server </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToHistory"> <summary> - Add this server to our history list - If we're already in the history list, weill set the last played time to now + Add this server to our history list + If we're already in the history list, weill set the last played time to now </summary> </member> <member name="M:Steamworks.Data.ServerInfo.QueryRulesAsync"> <summary> - If this server responds to source engine style queries, we'll be able to get a list of rules here + If this server responds to source engine style queries, we'll be able to get a list of rules here </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromHistory"> <summary> - Remove this server from our history list + Remove this server from our history list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToFavourites"> <summary> - Add this server to our favourite list + Add this server to our favourite list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromFavourites"> <summary> - Remove this server from our favourite list + Remove this server from our favourite list </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultStatus(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Find out the status of an asynchronous inventory result handle. + Find out the status of an asynchronous inventory result handle. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultItems(Steamworks.Data.SteamInventoryResult_t,Steamworks.Data.SteamItemDetails_t[],System.UInt32@)"> <summary> - Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used. + Copies the contents of a result set into a flat array. The specific contents of the result set depend on + which query which was used. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultTimestamp(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age. + Returns the server time at which the result was generated. Compare against the value of + IClientUtils::GetServerRealTime() to determine age. </summary> </member> <member name="M:Steamworks.ISteamInventory.CheckResultSteamID(Steamworks.Data.SteamInventoryResult_t,Steamworks.SteamId)"> <summary> - Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory. + Returns true if the result belongs to the target steam ID or false if the result does not. This is + important when using DeserializeResult to verify that a remote player is not pretending to have a + different users inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.DestroyResult(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Destroys a result handle and frees all associated memory. + Destroys a result handle and frees all associated memory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetAllItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - Captures the entire state of the current users Steam inventory. + Captures the entire state of the current users Steam inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetItemsByID(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId@,System.UInt32)"> <summary> - Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs. + Captures the state of a subset of the current users Steam inventory identified by an array of item + instance IDs. </summary> </member> <member name="M:Steamworks.ISteamInventory.GrantPromoItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only). + GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the + items (one time only). </summary> </member> <member name="M:Steamworks.ISteamInventory.ConsumeItem(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId,System.UInt32)"> <summary> - ConsumeItem() removes items from the inventory permanently. + ConsumeItem() removes items from the inventory permanently. </summary> </member> <member name="M:Steamworks.ISteamInventory.SendItemDropHeartbeat"> <summary> - Deprecated method. Playtime accounting is performed on the Steam servers. + Deprecated method. Playtime accounting is performed on the Steam servers. </summary> </member> <member name="M:Steamworks.ISteamInventory.TriggerItemDrop(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryDefId)"> <summary> - Playtime credit must be consumed and turned into item drops by your game. + Playtime credit must be consumed and turned into item drops by your game. </summary> </member> <member name="M:Steamworks.ISteamInventory.LoadItemDefinitions"> <summary> - LoadItemDefinitions triggers the automatic load and refresh of item definitions. + LoadItemDefinitions triggers the automatic load and refresh of item definitions. </summary> </member> <member name="M:Steamworks.ISteamUserStats.DownloadLeaderboardEntriesForUsers(Steamworks.Data.SteamLeaderboard_t,Steamworks.SteamId[],System.Int32)"> <summary> - Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is + k_ELeaderboardDataRequestUsers </summary> </member> <member name="P:Steamworks.ConnectionManager.Interface"> <summary> - An optional interface to use instead of deriving + An optional interface to use instead of deriving </summary> </member> <member name="F:Steamworks.ConnectionManager.Connection"> <summary> - The actual connection we're managing + The actual connection we're managing </summary> </member> <member name="P:Steamworks.ConnectionManager.ConnectionInfo"> <summary> - The last received ConnectionInfo + The last received ConnectionInfo </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We're trying to connect! + We're trying to connect! </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.ConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We started connecting to this guy + We started connecting to this guy </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.IConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - We got disconnected + We got disconnected </summary> </member> <member name="M:Steamworks.IConnectionManager.OnMessage(System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message + Received a message </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Must call Accept or Close on the connection within a second or so + Must call Accept or Close on the connection within a second or so </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.ISocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection leaves + Called when the connection leaves </summary> </member> <member name="M:Steamworks.ISocketManager.OnMessage(Steamworks.Data.Connection,Steamworks.Data.NetIdentity,System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message from a connection + Received a message from a connection </summary> </member> <member name="T:Steamworks.SocketManager"> <summary> - Used as a base to create your networking server. This creates a socket - and listens/communicates with multiple queries. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your networking server. This creates a socket + and listens/communicates with multiple queries. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.SocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Default behaviour is to accept every connection + Default behaviour is to accept every connection </summary> </member> <member name="M:Steamworks.SocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.SocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="P:Steamworks.ServerList.Base.AppId"> <summary> - Which app we're querying. Defaults to the current app. + Which app we're querying. Defaults to the current app. </summary> </member> <member name="E:Steamworks.ServerList.Base.OnChanges"> <summary> - When a new server is added, this function will get called + When a new server is added, this function will get called </summary> </member> <member name="E:Steamworks.ServerList.Base.OnResponsiveServer"> <summary> - Called for every responsive server + Called for every responsive server </summary> </member> <member name="F:Steamworks.ServerList.Base.Responsive"> <summary> - A list of servers that responded. If you're only interested in servers that responded since you - last updated, then simply clear this list. + A list of servers that responded. If you're only interested in servers that responded since you + last updated, then simply clear this list. </summary> </member> <member name="F:Steamworks.ServerList.Base.Unresponsive"> <summary> - A list of servers that were in the master list but didn't respond. + A list of servers that were in the master list but didn't respond. </summary> </member> <member name="M:Steamworks.ServerList.Base.RunQueryAsync(System.Single)"> <summary> - Query the server list. Task result will be true when finished + Query the server list. Task result will be true when finished </summary> <returns></returns> </member> <member name="T:Steamworks.SteamApps"> <summary> - Exposes a wide range of information and actions for applications and Downloadable Content (DLC). + Exposes a wide range of information and actions for applications and Downloadable Content (DLC). </summary> </member> <member name="E:Steamworks.SteamApps.OnDlcInstalled"> <summary> - posted after the user gains ownership of DLC and that DLC is installed + posted after the user gains ownership of DLC and that DLC is installed </summary> </member> <member name="E:Steamworks.SteamApps.OnNewLaunchParameters"> <summary> - posted after the user gains executes a Steam URL with command line or query parameters - such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc - while the game is already running. The new params can be queried - with GetLaunchQueryParam and GetLaunchCommandLine + posted after the user gains executes a Steam URL with command line or query parameters + such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc + while the game is already running. The new params can be queried + with GetLaunchQueryParam and GetLaunchCommandLine </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribed"> <summary> - Checks if the active user is subscribed to the current App ID + Checks if the active user is subscribed to the current App ID </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFamilySharing"> <summary> - Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID + Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender + SteamID </summary> </member> <member name="P:Steamworks.SteamApps.IsLowVoilence"> <summary> - Checks if the license owned by the user provides low violence depots. - Low violence depots are useful for copies sold in countries that have content restrictions + Checks if the license owned by the user provides low violence depots. + Low violence depots are useful for copies sold in countries that have content restrictions </summary> </member> <member name="P:Steamworks.SteamApps.IsCybercafe"> <summary> - Checks whether the current App ID license is for Cyber Cafes. + Checks whether the current App ID license is for Cyber Cafes. </summary> </member> <member name="P:Steamworks.SteamApps.IsVACBanned"> <summary> - CChecks if the user has a VAC ban on their account + CChecks if the user has a VAC ban on their account </summary> </member> <member name="P:Steamworks.SteamApps.GameLanguage"> <summary> - Gets the current language that the user has set. - This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. + Gets the current language that the user has set. + This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. </summary> </member> <member name="P:Steamworks.SteamApps.AvailableLanguages"> <summary> - Gets a list of the languages the current app supports. + Gets a list of the languages the current app supports. </summary> </member> <member name="M:Steamworks.SteamApps.IsSubscribedToApp(Steamworks.AppId)"> <summary> - Checks if the active user is subscribed to a specified AppId. - Only use this if you need to check ownership of another game related to yours, a demo for example. + Checks if the active user is subscribed to a specified AppId. + Only use this if you need to check ownership of another game related to yours, a demo for example. </summary> </member> <member name="M:Steamworks.SteamApps.IsDlcInstalled(Steamworks.AppId)"> <summary> - Checks if the user owns a specific DLC and if the DLC is installed + Checks if the user owns a specific DLC and if the DLC is installed </summary> </member> <member name="M:Steamworks.SteamApps.PurchaseTime(Steamworks.AppId)"> <summary> - Returns the time of the purchase of the app + Returns the time of the purchase of the app </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFreeWeekend"> <summary> - Checks if the user is subscribed to the current app through a free weekend - This function will return false for users who have a retail or other type of license - Before using, please ask your Valve technical contact how to package and secure your free weekened + Checks if the user is subscribed to the current app through a free weekend + This function will return false for users who have a retail or other type of license + Before using, please ask your Valve technical contact how to package and secure your free weekened </summary> </member> <member name="M:Steamworks.SteamApps.DlcInformation"> <summary> - Returns metadata for all available DLC + Returns metadata for all available DLC </summary> </member> <member name="M:Steamworks.SteamApps.InstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="M:Steamworks.SteamApps.UninstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="P:Steamworks.SteamApps.CurrentBetaName"> <summary> - Returns null if we're not on a beta branch, else the name of the branch + Returns null if we're not on a beta branch, else the name of the branch </summary> </member> <member name="M:Steamworks.SteamApps.MarkContentCorrupt(System.Boolean)"> - <summary> - Allows you to force verify game content on next launch. - - If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a server), - you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. - </summary> + <summary> + Allows you to force verify game content on next launch. + + If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a + server), + you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. + </summary> </member> <member name="M:Steamworks.SteamApps.InstalledDepots(Steamworks.AppId)"> <summary> - Gets a list of all installed depots for a given App ID in mount order + Gets a list of all installed depots for a given App ID in mount order </summary> </member> <member name="M:Steamworks.SteamApps.AppInstallDir(Steamworks.AppId)"> <summary> - Gets the install folder for a specific AppID. - This works even if the application is not installed, based on where the game would be installed with the default Steam library location. + Gets the install folder for a specific AppID. + This works even if the application is not installed, based on where the game would be installed with the + default Steam library location. </summary> </member> <member name="M:Steamworks.SteamApps.IsAppInstalled(Steamworks.AppId)"> <summary> - The app may not actually be owned by the current user, they may have it left over from a free weekend, etc. + The app may not actually be owned by the current user, they may have it left over from a free weekend, + etc. </summary> </member> <member name="P:Steamworks.SteamApps.AppOwner"> <summary> - Gets the Steam ID of the original owner of the current app. If it's different from the current user then it is borrowed.. + Gets the Steam ID of the original owner of the current app. If it's different from the current user then + it is borrowed.. </summary> </member> <member name="M:Steamworks.SteamApps.GetLaunchParam(System.String)"> <summary> - Gets the associated launch parameter if the game is run via steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. - Parameter names starting with the character '@' are reserved for internal use and will always return an empty string. - Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, - but it is advised that you not param names beginning with an underscore for your own features. + Gets the associated launch parameter if the game is run via + steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. + Parameter names starting with the character '@' are reserved for internal use and will always return an + empty string. + Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried + by the game, + but it is advised that you not param names beginning with an underscore for your own features. </summary> </member> <member name="M:Steamworks.SteamApps.DlcDownloadProgress(Steamworks.AppId)"> <summary> - Gets the download progress for optional DLC. + Gets the download progress for optional DLC. </summary> </member> <member name="P:Steamworks.SteamApps.BuildId"> <summary> - Gets the buildid of this app, may change at any time based on backend updates to the game. - Defaults to 0 if you're not running a build downloaded from steam. + Gets the buildid of this app, may change at any time based on backend updates to the game. + Defaults to 0 if you're not running a build downloaded from steam. </summary> </member> <member name="M:Steamworks.SteamApps.GetFileDetailsAsync(System.String)"> <summary> - Asynchronously retrieves metadata details about a specific file in the depot manifest. - Currently provides: + Asynchronously retrieves metadata details about a specific file in the depot manifest. + Currently provides: </summary> </member> <member name="P:Steamworks.SteamApps.CommandLine"> <summary> - Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. - This method of passing a connect string (used when joining via rich presence, accepting an - invite, etc) is preferable to passing the connect string on the operating system command - line, which is a security risk. In order for rich presence joins to go through this - path and not be placed on the OS command line, you must set a value in your app's - configuration on Steam. Ask Valve for help with this. + Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. + This method of passing a connect string (used when joining via rich presence, accepting an + invite, etc) is preferable to passing the connect string on the operating system command + line, which is a security risk. In order for rich presence joins to go through this + path and not be placed on the OS command line, you must set a value in your app's + configuration on Steam. Ask Valve for help with this. </summary> </member> <member name="M:Steamworks.SteamClient.Init(System.UInt32,System.Boolean)"> <summary> - Initialize the steam client. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam client. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="P:Steamworks.SteamClient.IsLoggedOn"> <summary> - Checks if the current user's Steam client is connected to the Steam servers. - If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam - client will automatically be trying to recreate the connection as often as possible. When the - connection is restored a SteamServersConnected_t callback will be posted. - You usually don't need to check for this yourself. All of the API calls that rely on this will - check internally. Forcefully disabling stuff when the player loses access is usually not a - very good experience for the player and you could be preventing them from accessing APIs that do not - need a live connection to Steam. + Checks if the current user's Steam client is connected to the Steam servers. + If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam + client will automatically be trying to recreate the connection as often as possible. When the + connection is restored a SteamServersConnected_t callback will be posted. + You usually don't need to check for this yourself. All of the API calls that rely on this will + check internally. Forcefully disabling stuff when the player loses access is usually not a + very good experience for the player and you could be preventing them from accessing APIs that do not + need a live connection to Steam. </summary> </member> <member name="P:Steamworks.SteamClient.SteamId"> <summary> - Gets the Steam ID of the account currently logged into the Steam client. This is - commonly called the 'current user', or 'local user'. - A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat - rooms, and used to differentiate users in all parts of the Steamworks API. + Gets the Steam ID of the account currently logged into the Steam client. This is + commonly called the 'current user', or 'local user'. + A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat + rooms, and used to differentiate users in all parts of the Steamworks API. </summary> </member> <member name="P:Steamworks.SteamClient.Name"> <summary> - returns the local players name - guaranteed to not be NULL. - this is the same name as on the users community profile page + returns the local players name - guaranteed to not be NULL. + this is the same name as on the users community profile page </summary> </member> <member name="P:Steamworks.SteamClient.State"> <summary> - gets the status of the current user + gets the status of the current user </summary> </member> <member name="P:Steamworks.SteamClient.AppId"> <summary> - returns the appID of the current process + returns the appID of the current process </summary> </member> <member name="M:Steamworks.SteamClient.RestartAppIfNecessary(System.UInt32)"> <summary> - Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't - this returns true then it starts the Steam client if required and launches your game again through it, - and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it - may not relaunch the exact executable that called it, as it will always relaunch from the version - installed in your Steam library folder/ - Note that during development, when not launching via Steam, this might always return true. + Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't + this returns true then it starts the Steam client if required and launches your game again through it, + and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it + may not relaunch the exact executable that called it, as it will always relaunch from the version + installed in your Steam library folder/ + Note that during development, when not launching via Steam, this might always return true. </summary> </member> <member name="M:Steamworks.SteamClient.ValidCheck"> <summary> - Called in interfaces that rely on this being initialized + Called in interfaces that rely on this being initialized </summary> </member> <member name="T:Steamworks.SteamFriends"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamFriends.OnChatMessage"> <summary> - Called when chat message has been received from a friend. You'll need to turn on - ListenForFriendsMessages to recieve this. (friend, msgtype, message) + Called when chat message has been received from a friend. You'll need to turn on + ListenForFriendsMessages to recieve this. (friend, msgtype, message) </summary> </member> <member name="E:Steamworks.SteamFriends.OnPersonaStateChange"> <summary> - called when a friends' status changes + called when a friends' status changes </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameRichPresenceJoinRequested"> <summary> - Called when the user tries to join a game from their friends list - rich presence will have been set with the "connect" key which is set here + Called when the user tries to join a game from their friends list + rich presence will have been set with the "connect" key which is set here </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameOverlayActivated"> <summary> - Posted when game overlay activates or deactivates - the game can use this to be pause or resume single player games + Posted when game overlay activates or deactivates + the game can use this to be pause or resume single player games </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameServerChangeRequested"> <summary> - Called when the user tries to join a different game server from their friends list - game client should attempt to connect to specified server when this is received + Called when the user tries to join a different game server from their friends list + game client should attempt to connect to specified server when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameLobbyJoinRequested"> <summary> - Called when the user tries to join a lobby from their friends list - game client should attempt to connect to specified lobby when this is received + Called when the user tries to join a lobby from their friends list + game client should attempt to connect to specified lobby when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnFriendRichPresenceUpdate"> <summary> - Callback indicating updated data about friends rich presence information + Callback indicating updated data about friends rich presence information </summary> </member> <member name="M:Steamworks.SteamFriends.OpenOverlay(System.String)"> <summary> - The dialog to open. Valid options are: - "friends", - "community", - "players", - "settings", - "officialgamegroup", - "stats", - "achievements". + The dialog to open. Valid options are: + "friends", + "community", + "players", + "settings", + "officialgamegroup", + "stats", + "achievements". </summary> </member> <member name="M:Steamworks.SteamFriends.OpenUserOverlay(Steamworks.SteamId,System.String)"> <summary> - "steamid" - Opens the overlay web browser to the specified user or groups profile. - "chat" - Opens a chat window to the specified user, or joins the group chat. - "jointrade" - Opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API. - "stats" - Opens the overlay web browser to the specified user's stats. - "achievements" - Opens the overlay web browser to the specified user's achievements. - "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. - "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. - "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming friend invite. - "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming friend invite. + "steamid" - Opens the overlay web browser to the specified user or groups profile. + "chat" - Opens a chat window to the specified user, or joins the group chat. + "jointrade" - Opens a window to a Steam Trading session that was started with the + ISteamEconomy/StartTrade Web API. + "stats" - Opens the overlay web browser to the specified user's stats. + "achievements" - Opens the overlay web browser to the specified user's achievements. + "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. + "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. + "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming + friend invite. + "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming + friend invite. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenStoreOverlay(Steamworks.AppId)"> <summary> - Activates the Steam Overlay to the Steam store page for the provided app. + Activates the Steam Overlay to the Steam store page for the provided app. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenWebOverlay(System.String,System.Boolean)"> <summary> - Activates Steam Overlay web browser directly to the specified URL. + Activates Steam Overlay web browser directly to the specified URL. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenGameInviteOverlay(Steamworks.SteamId)"> <summary> - Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the provided lobby. + Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the + provided lobby. </summary> </member> <member name="M:Steamworks.SteamFriends.SetPlayedWith(Steamworks.SteamId)"> <summary> - Mark a target user as 'played with'. - NOTE: The current user must be in game with the other player for the association to work. + Mark a target user as 'played with'. + NOTE: The current user must be in game with the other player for the association to work. </summary> </member> <member name="M:Steamworks.SteamFriends.RequestUserInformation(Steamworks.SteamId,System.Boolean)"> <summary> - Requests the persona name and optionally the avatar of a specified user. - NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them. - returns true if we're fetching the data, false if we already have it + Requests the persona name and optionally the avatar of a specified user. + NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, + don't request them. + returns true if we're fetching the data, false if we already have it </summary> </member> <member name="M:Steamworks.SteamFriends.GetRichPresence(System.String)"> <summary> - Find a rich presence value by key for current user. Will be null if not found. + Find a rich presence value by key for current user. Will be null if not found. </summary> </member> <member name="M:Steamworks.SteamFriends.SetRichPresence(System.String,System.String)"> <summary> - Sets a rich presence value by key for current user. + Sets a rich presence value by key for current user. </summary> </member> <member name="M:Steamworks.SteamFriends.ClearRichPresence"> <summary> - Clears all of the current user's rich presence data. + Clears all of the current user's rich presence data. </summary> </member> <member name="P:Steamworks.SteamFriends.ListenForFriendsMessages"> <summary> - Listens for Steam friends chat messages. - You can then show these chats inline in the game. For example with a Blizzard style chat message system or the chat system in Dota 2. - After enabling this you will receive callbacks when ever the user receives a chat message. + Listens for Steam friends chat messages. + You can then show these chats inline in the game. For example with a Blizzard style chat message system + or the chat system in Dota 2. + After enabling this you will receive callbacks when ever the user receives a chat message. </summary> </member> <member name="M:Steamworks.SteamInput.RunFrame"> <summary> - You shouldn't really need to call this because it get called by RunCallbacks on SteamClient - but Valve think it might be a nice idea if you call it right before you get input info - - just to make sure the info you're getting is 100% up to date. + You shouldn't really need to call this because it get called by RunCallbacks on SteamClient + but Valve think it might be a nice idea if you call it right before you get input info - + just to make sure the info you're getting is 100% up to date. </summary> </member> <member name="P:Steamworks.SteamInput.Controllers"> <summary> - Return a list of connected controllers. + Return a list of connected controllers. </summary> </member> <member name="M:Steamworks.SteamInput.GetDigitalActionGlyph(Steamworks.Controller,System.String)"> <summary> - Return an absolute path to the PNG image glyph for the provided digital action name. The current - action set in use for the controller will be used for the lookup. You should cache the result and - maintain your own list of loaded PNG assets. + Return an absolute path to the PNG image glyph for the provided digital action name. The current + action set in use for the controller will be used for the lookup. You should cache the result and + maintain your own list of loaded PNG assets. </summary> <param name="controller"></param> <param name="action"></param> @@ -1363,980 +1392,997 @@ </member> <member name="T:Steamworks.SteamInventory"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamInventory.LoadItemDefinitions"> <summary> - Call this if you're going to want to access definition information. You should be able to get - away with calling this once at the start if your game, assuming your items don't change all the time. - This will trigger OnDefinitionsUpdated at which point Definitions should be set. + Call this if you're going to want to access definition information. You should be able to get + away with calling this once at the start if your game, assuming your items don't change all the time. + This will trigger OnDefinitionsUpdated at which point Definitions should be set. </summary> </member> <member name="M:Steamworks.SteamInventory.WaitForDefinitions(System.Single)"> <summary> - Will call LoadItemDefinitions and wait until Definitions is not null + Will call LoadItemDefinitions and wait until Definitions is not null </summary> </member> <member name="M:Steamworks.SteamInventory.FindDefinition(Steamworks.Data.InventoryDefId)"> <summary> - Try to find the definition that matches this definition ID. - Uses a dictionary so should be about as fast as possible. + Try to find the definition that matches this definition ID. + Uses a dictionary so should be about as fast as possible. </summary> </member> <member name="P:Steamworks.SteamInventory.Items"> <summary> - We will try to keep this list of your items automatically up to date. + We will try to keep this list of your items automatically up to date. </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItems"> <summary> - Update the list of Items[] + Update the list of Items[] </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItemsAsync"> <summary> - Get all items and return the InventoryResult + Get all items and return the InventoryResult </summary> </member> <member name="M:Steamworks.SteamInventory.GenerateItemAsync(Steamworks.InventoryDef,System.Int32)"> <summary> - This is used to grant a specific item to the user. This should - only be used for development prototyping, from a trusted server, - or if you don't care about hacked clients granting arbitrary items. - This call can be disabled by a setting on Steamworks. + This is used to grant a specific item to the user. This should + only be used for development prototyping, from a trusted server, + or if you don't care about hacked clients granting arbitrary items. + This call can be disabled by a setting on Steamworks. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem.Amount[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.DeserializeAsync(System.Byte[],System.Int32)"> <summary> - Deserializes a result set and verifies the signature bytes. - This call has a potential soft-failure mode where the Result is expired, it will - still succeed in this mode.The "expired" - result could indicate that the data may be out of date - not just due to timed - expiration( one hour ), but also because one of the items in the result set may - have been traded or consumed since the result set was generated.You could compare - the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine - how old the data is. You could simply ignore the "expired" result code and - continue as normal, or you could request the player with expired data to send - an updated result set. - You should call CheckResultSteamID on the result handle when it completes to verify - that a remote player is not pretending to have a different user's inventory. + Deserializes a result set and verifies the signature bytes. + This call has a potential soft-failure mode where the Result is expired, it will + still succeed in this mode.The "expired" + result could indicate that the data may be out of date - not just due to timed + expiration( one hour ), but also because one of the items in the result set may + have been traded or consumed since the result set was generated.You could compare + the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine + how old the data is. You could simply ignore the "expired" result code and + continue as normal, or you could request the player with expired data to send + an updated result set. + You should call CheckResultSteamID on the result handle when it completes to verify + that a remote player is not pretending to have a different user's inventory. </summary> </member> <member name="M:Steamworks.SteamInventory.GrantPromoItemsAsync"> <summary> - Grant all promotional items the user is eligible for + Grant all promotional items the user is eligible for </summary> </member> <member name="M:Steamworks.SteamInventory.TriggerItemDropAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger an item drop for this user. This is for timed drops. + Trigger an item drop for this user. This is for timed drops. </summary> </member> <member name="M:Steamworks.SteamInventory.AddPromoItemAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger a promo item drop. You can call this at startup, it won't - give users multiple promo drops. + Trigger a promo item drop. You can call this at startup, it won't + give users multiple promo drops. </summary> </member> <member name="M:Steamworks.SteamInventory.StartPurchaseAsync(Steamworks.InventoryDef[])"> <summary> - Start buying a cart load of items. This will return a positive result is the purchase has - begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. + Start buying a cart load of items. This will return a positive result is the purchase has + begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. </summary> </member> <member name="T:Steamworks.SteamMatchmaking"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="P:Steamworks.SteamMatchmaking.MaxLobbyKeyLength"> <summary> - Maximum number of characters a lobby metadata key can be + Maximum number of characters a lobby metadata key can be </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyInvite"> <summary> - Someone invited you to a lobby + Someone invited you to a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyEntered"> <summary> - You joined a lobby + You joined a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyCreated"> <summary> - You created a lobby + You created a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyGameCreated"> <summary> - A game server has been associated with the lobby + A game server has been associated with the lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyDataChanged"> <summary> - The lobby metadata has changed + The lobby metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDataChanged"> <summary> - The lobby member metadata has changed + The lobby member metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberJoined"> <summary> - The lobby member joined + The lobby member joined </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberLeave"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDisconnected"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberKicked"> <summary> - The lobby member was kicked. The 3rd param is the user that kicked them. + The lobby member was kicked. The 3rd param is the user that kicked them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberBanned"> <summary> - The lobby member was banned. The 3rd param is the user that banned them. + The lobby member was banned. The 3rd param is the user that banned them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnChatMessage"> <summary> - A chat message was recieved from a member of a lobby + A chat message was recieved from a member of a lobby </summary> </member> <member name="M:Steamworks.SteamMatchmaking.CreateLobbyAsync(System.Int32)"> <summary> - Creates a new invisible lobby. Call lobby.SetPublic to take it online. + Creates a new invisible lobby. Call lobby.SetPublic to take it online. </summary> </member> <member name="M:Steamworks.SteamMatchmaking.JoinLobbyAsync(Steamworks.SteamId)"> <summmary> - Attempts to directly join the specified lobby + Attempts to directly join the specified lobby </summmary> </member> <member name="M:Steamworks.SteamMatchmaking.GetFavoriteServers"> <summary> - Get a list of servers that are on your favorites list + Get a list of servers that are on your favorites list </summary> </member> <member name="M:Steamworks.SteamMatchmaking.GetHistoryServers"> <summary> - Get a list of servers that you have added to your play history + Get a list of servers that you have added to your play history </summary> </member> <member name="T:Steamworks.SteamMatchmakingServers"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="T:Steamworks.SteamMusic"> <summary> - Functions to control music playback in the steam client. - This gives games the opportunity to do things like pause the music or lower the volume, - when an important cut scene is shown, and start playing afterwards. - Nothing uses Steam Music though so this can probably get fucked + Functions to control music playback in the steam client. + This gives games the opportunity to do things like pause the music or lower the volume, + when an important cut scene is shown, and start playing afterwards. + Nothing uses Steam Music though so this can probably get fucked </summary> </member> <member name="E:Steamworks.SteamMusic.OnPlaybackChanged"> <summary> - Playback status changed + Playback status changed </summary> </member> <member name="E:Steamworks.SteamMusic.OnVolumeChanged"> <summary> - Volume changed, parameter is new volume + Volume changed, parameter is new volume </summary> </member> <member name="P:Steamworks.SteamMusic.IsEnabled"> <summary> - Checks if Steam Music is enabled + Checks if Steam Music is enabled </summary> </member> <member name="P:Steamworks.SteamMusic.IsPlaying"> <summary> - true if a song is currently playing, paused, or queued up to play; otherwise false. + true if a song is currently playing, paused, or queued up to play; otherwise false. </summary> </member> <member name="P:Steamworks.SteamMusic.Status"> <summary> - Gets the current status of the Steam Music player + Gets the current status of the Steam Music player </summary> </member> <member name="M:Steamworks.SteamMusic.PlayPrevious"> <summary> - Have the Steam Music player play the previous song. + Have the Steam Music player play the previous song. </summary> </member> <member name="M:Steamworks.SteamMusic.PlayNext"> <summary> - Have the Steam Music player skip to the next song + Have the Steam Music player skip to the next song </summary> </member> <member name="P:Steamworks.SteamMusic.Volume"> <summary> - Gets/Sets the current volume of the Steam Music player + Gets/Sets the current volume of the Steam Music player </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PSessionRequest"> <summary> - This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser - if you want to recieve their messages + This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser + if you want to recieve their messages </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PConnectionFailed"> <summary> - Called when packets can't get through to the specified user. - All queued packets unsent at this point will be dropped, further attempts - to send will retry making the connection (but will be dropped if we fail again). + Called when packets can't get through to the specified user. + All queued packets unsent at this point will be dropped, further attempts + to send will retry making the connection (but will be dropped if we fail again). </summary> </member> <member name="M:Steamworks.SteamNetworking.AcceptP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called in response to a OnP2PSessionRequest + This should be called in response to a OnP2PSessionRequest </summary> </member> <member name="M:Steamworks.SteamNetworking.AllowP2PPacketRelay(System.Boolean)"> <summary> - Allow or disallow P2P connects to fall back on Steam server relay if direct - connection or NAT traversal can't be established. Applies to connections - created after setting or old connections that need to reconnect. + Allow or disallow P2P connects to fall back on Steam server relay if direct + connection or NAT traversal can't be established. Applies to connections + created after setting or old connections that need to reconnect. </summary> </member> <member name="M:Steamworks.SteamNetworking.CloseP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called when you're done communicating with a user, as this will - free up all of the resources allocated for the connection under-the-hood. - If the remote user tries to send data to you again, a new OnP2PSessionRequest - callback will be posted + This should be called when you're done communicating with a user, as this will + free up all of the resources allocated for the connection under-the-hood. + If the remote user tries to send data to you again, a new OnP2PSessionRequest + callback will be posted </summary> </member> <member name="M:Steamworks.SteamNetworking.IsP2PPacketAvailable(System.Int32)"> <summary> - Checks if a P2P packet is available to read, and gets the size of the message if there is one. + Checks if a P2P packet is available to read, and gets the size of the message if there is one. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte[],System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte*,System.UInt32,System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte[],System.Int32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte*,System.UInt32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket``1(Steamworks.Data.NetAddress)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6) - - To use this derive a class from SocketManager and override as much as you want. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6) + + To use this derive a class from SocketManager and override as much as you want. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket(Steamworks.Data.NetAddress,Steamworks.ISocketManager)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6). - - To use this you should pass a class that inherits ISocketManager. You can use - SocketManager to get connections and send messages, but the ISocketManager class - will received all the appropriate callbacks. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6). + + To use this you should pass a class that inherits ISocketManager. You can use + SocketManager to get connections and send messages, but the ISocketManager class + will received all the appropriate callbacks. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal``1(Steamworks.Data.NetAddress)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal(Steamworks.Data.NetAddress,Steamworks.IConnectionManager)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateRelaySocket``1(System.Int32)"> <summary> - Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) + Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectRelay``1(Steamworks.SteamId,System.Int32)"> <summary> - Connect to a relay server + Connect to a relay server </summary> </member> <member name="T:Steamworks.SteamNetworkingUtils"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamNetworkingUtils.OnDebugOutput"> <summary> - A function to receive debug network information on. This will do nothing - unless you set DebugLevel to something other than None. - - You should set this to an appropriate level instead of setting it to the highest - and then filtering it by hand because a lot of energy is used by creating the strings - and your frame rate will tank and you won't know why. + A function to receive debug network information on. This will do nothing + unless you set DebugLevel to something other than None. + + You should set this to an appropriate level instead of setting it to the highest + and then filtering it by hand because a lot of energy is used by creating the strings + and your frame rate will tank and you won't know why. </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Status"> <summary> - The latest available status gathered from the SteamRelayNetworkStatus callback + The latest available status gathered from the SteamRelayNetworkStatus callback </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.InitRelayNetworkAccess"> - <summary> - If you know that you are going to be using the relay network (for example, - because you anticipate making P2P connections), call this to initialize the - relay network. If you do not call this, the initialization will - be delayed until the first time you use a feature that requires access - to the relay network, which will delay that first access. - - You can also call this to force a retry if the previous attempt has failed. - Performing any action that requires access to the relay network will also - trigger a retry, and so calling this function is never strictly necessary, - but it can be useful to call it a program launch time, if access to the - relay network is anticipated. - - Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t - callbacks to know when initialization has completed. - Typically initialization completes in a few seconds. - - Note: dedicated servers hosted in known data centers do *not* need - to call this, since they do not make routing decisions. However, if - the dedicated server will be using P2P functionality, it will act as - a "client" and this should be called. - </summary> + <summary> + If you know that you are going to be using the relay network (for example, + because you anticipate making P2P connections), call this to initialize the + relay network. If you do not call this, the initialization will + be delayed until the first time you use a feature that requires access + to the relay network, which will delay that first access. + + You can also call this to force a retry if the previous attempt has failed. + Performing any action that requires access to the relay network will also + trigger a retry, and so calling this function is never strictly necessary, + but it can be useful to call it a program launch time, if access to the + relay network is anticipated. + + Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + callbacks to know when initialization has completed. + Typically initialization completes in a few seconds. + + Note: dedicated servers hosted in known data centers do *not* need + to call this, since they do not make routing decisions. However, if + the dedicated server will be using P2P functionality, it will act as + a "client" and this should be called. + </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.LocalPingLocation"> - <summary> - Return location info for the current host. - - It takes a few seconds to initialize access to the relay network. If - you call this very soon after startup the data may not be available yet. - - This always return the most up-to-date information we have available - right now, even if we are in the middle of re-calculating ping times. - </summary> + <summary> + Return location info for the current host. + + It takes a few seconds to initialize access to the relay network. If + you call this very soon after startup the data may not be available yet. + + This always return the most up-to-date information we have available + right now, even if we are in the middle of re-calculating ping times. + </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.EstimatePingTo(Steamworks.Data.NetPingLocation)"> <summary> - Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. - This is a bit faster, especially if you need to calculate a bunch of - these in a loop to find the fastest one. + Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. + This is a bit faster, especially if you need to calculate a bunch of + these in a loop to find the fastest one. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.WaitForPingDataAsync(System.Single)"> <summary> - If you need ping information straight away, wait on this. It will return - immediately if you already have up to date ping data + If you need ping information straight away, wait on this. It will return + immediately if you already have up to date ping data </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.ConnectionTimeout"> <summary> - Timeout value (in ms) to use when first connecting + Timeout value (in ms) to use when first connecting </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Timeout"> <summary> - Timeout value (in ms) to use after connection is established + Timeout value (in ms) to use after connection is established </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.SendBufferSize"> <summary> - Upper limit of buffered pending bytes to be sent. - If this is reached SendMessage will return LimitExceeded. - Default is 524288 bytes (512k) + Upper limit of buffered pending bytes to be sent. + If this is reached SendMessage will return LimitExceeded. + Default is 524288 bytes (512k) </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.DebugLevel"> <summary> - Get Debug Information via OnDebugOutput event - - Except when debugging, you should only use NetDebugOutput.Msg - or NetDebugOutput.Warning. For best performance, do NOT - request a high detail level and then filter out messages in the callback. - - This incurs all of the expense of formatting the messages, which are then discarded. - Setting a high priority value (low numeric value) here allows the library to avoid - doing this work. + Get Debug Information via OnDebugOutput event + + Except when debugging, you should only use NetDebugOutput.Msg + or NetDebugOutput.Warning. For best performance, do NOT + request a high detail level and then filter out messages in the callback. + + This incurs all of the expense of formatting the messages, which are then discarded. + Setting a high priority value (low numeric value) here allows the library to avoid + doing this work. </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugLevel"> <summary> - So we can remember and provide a Get for DebugLEvel + So we can remember and provide a Get for DebugLEvel </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugFunc"> <summary> - We need to keep the delegate around until it's not used anymore + We need to keep the delegate around until it's not used anymore </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OnDebugMessage(Steamworks.NetDebugOutput,System.IntPtr)"> <summary> - This can be called from other threads - so we're going to queue these up and process them in a safe place. + This can be called from other threads - so we're going to queue these up and process them in a safe + place. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OutputDebugMessages"> <summary> - Called regularly from the Dispatch loop so we can provide a timely - stream of messages. + Called regularly from the Dispatch loop so we can provide a timely + stream of messages. </summary> </member> <member name="T:Steamworks.SteamParental"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamParental.OnSettingsChanged"> <summary> - Parental Settings Changed + Parental Settings Changed </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockEnabled"> <summary> - + </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockLocked"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsAppBlocked(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsAppInBlockList(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsFeatureBlocked(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsFeatureInBlockList(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="T:Steamworks.SteamParties"> <summary> - This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. - Tell Steam the number of player spots that are available for your party, and a join-game string, and it - will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. - Adjust the number of open slots if other players join through alternate matchmaking methods. + This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. + Tell Steam the number of player spots that are available for your party, and a join-game string, and it + will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. + Adjust the number of open slots if other players join through alternate matchmaking methods. </summary> </member> <member name="E:Steamworks.SteamParties.OnBeaconLocationsUpdated"> <summary> - The list of possible Party beacon locations has changed + The list of possible Party beacon locations has changed </summary> </member> <member name="E:Steamworks.SteamParties.OnActiveBeaconsUpdated"> <summary> - The list of active beacons may have changed + The list of active beacons may have changed </summary> </member> <member name="T:Steamworks.SteamRemotePlay"> <summary> - Functions that provide information about Steam Remote Play sessions, streaming your game content to another computer or to a Steam Link app or hardware. + Functions that provide information about Steam Remote Play sessions, streaming your game content to + another computer or to a Steam Link app or hardware. </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionConnected"> <summary> - Called when a session is connected + Called when a session is connected </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionDisconnected"> <summary> - Called when a session becomes disconnected + Called when a session becomes disconnected </summary> </member> <member name="P:Steamworks.SteamRemotePlay.SessionCount"> <summary> - Get the number of currently connected Steam Remote Play sessions + Get the number of currently connected Steam Remote Play sessions </summary> </member> <member name="M:Steamworks.SteamRemotePlay.GetSession(System.Int32)"> <summary> - Get the currently connected Steam Remote Play session ID at the specified index. - IsValid will return false if it's out of bounds + Get the currently connected Steam Remote Play session ID at the specified index. + IsValid will return false if it's out of bounds </summary> </member> <member name="M:Steamworks.SteamRemotePlay.SendInvite(Steamworks.SteamId)"> <summary> - Invite a friend to Remote Play Together - This returns false if the invite can't be sent + Invite a friend to Remote Play Together + This returns false if the invite can't be sent </summary> </member> <member name="T:Steamworks.SteamRemoteStorage"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileWrite(System.String,System.Byte[])"> <summary> - Creates a new file, writes the bytes to the file, and then closes the file. - If the target file already exists, it is overwritten + Creates a new file, writes the bytes to the file, and then closes the file. + If the target file already exists, it is overwritten </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileRead(System.String)"> <summary> - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileExists(System.String)"> <summary> - Checks whether the specified file exists. + Checks whether the specified file exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FilePersisted(System.String)"> <summary> - Checks if a specific file is persisted in the steam cloud. + Checks if a specific file is persisted in the steam cloud. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileTime(System.String)"> <summary> - Gets the specified file's last modified date/time. + Gets the specified file's last modified date/time. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileSize(System.String)"> <summary> - Gets the specified files size in bytes. 0 if not exists. + Gets the specified files size in bytes. 0 if not exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileForget(System.String)"> <summary> - Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the API. + Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the + API. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileDelete(System.String)"> <summary> - Deletes a file from the local disk, and propagates that delete to the cloud. + Deletes a file from the local disk, and propagates that delete to the cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaBytes"> <summary> - Number of bytes total + Number of bytes total </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaUsedBytes"> <summary> - Number of bytes used + Number of bytes used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaRemainingBytes"> <summary> - Number of bytes remaining until your quota is used + Number of bytes remaining until your quota is used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabled"> <summary> - returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp + returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForAccount"> <summary> - Checks if the account wide Steam Cloud setting is enabled for this user - or if they disabled it in the Settings->Cloud dialog. + Checks if the account wide Steam Cloud setting is enabled for this user + or if they disabled it in the Settings->Cloud dialog. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForApp"> <summary> - Checks if the per game Steam Cloud setting is enabled for this user - or if they disabled it in the Game Properties->Update dialog. - - This must only ever be set as the direct result of the user explicitly - requesting that it's enabled or not. This is typically accomplished with - a checkbox within your in-game options + Checks if the per game Steam Cloud setting is enabled for this user + or if they disabled it in the Game Properties->Update dialog. + + This must only ever be set as the direct result of the user explicitly + requesting that it's enabled or not. This is typically accomplished with + a checkbox within your in-game options </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.FileCount"> <summary> - Gets the total number of local files synchronized by Steam Cloud. + Gets the total number of local files synchronized by Steam Cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.Files"> <summary> - Get a list of filenames synchronized by Steam Cloud + Get a list of filenames synchronized by Steam Cloud </summary> </member> <member name="T:Steamworks.SteamScreenshots"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotRequested"> <summary> - A screenshot has been requested by the user from the Steam screenshot hotkey. - This will only be called if Hooked is true, in which case Steam - will not take the screenshot itself. + A screenshot has been requested by the user from the Steam screenshot hotkey. + This will only be called if Hooked is true, in which case Steam + will not take the screenshot itself. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotReady"> <summary> - A screenshot successfully written or otherwise added to the library and can now be tagged. + A screenshot successfully written or otherwise added to the library and can now be tagged. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotFailed"> <summary> - A screenshot attempt failed + A screenshot attempt failed </summary> </member> <member name="M:Steamworks.SteamScreenshots.WriteScreenshot(System.Byte[],System.Int32,System.Int32)"> <summary> - Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB + format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. </summary> </member> <member name="M:Steamworks.SteamScreenshots.AddScreenshot(System.String,System.String,System.Int32,System.Int32)"> <summary> - Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio - as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. - JPEG, TGA, and PNG formats are supported. + Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 + pixels wide and the same aspect ratio + as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The + screenshots must be in either JPEG or TGA format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. + JPEG, TGA, and PNG formats are supported. </summary> </member> <member name="M:Steamworks.SteamScreenshots.TriggerScreenshot"> <summary> - Causes the Steam overlay to take a screenshot. - If screenshots are being hooked by the game then a - ScreenshotRequested callback is sent back to the game instead. + Causes the Steam overlay to take a screenshot. + If screenshots are being hooked by the game then a + ScreenshotRequested callback is sent back to the game instead. </summary> </member> <member name="P:Steamworks.SteamScreenshots.Hooked"> <summary> - Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the game handles them. - Hooking is disabled by default, and only ever enabled if you do so with this function. - If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the hotkey or - when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or AddScreenshotToLibrary in response. + Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the + game handles them. + Hooking is disabled by default, and only ever enabled if you do so with this function. + If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the + hotkey or + when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or + AddScreenshotToLibrary in response. </summary> </member> <member name="T:Steamworks.SteamServer"> <summary> - Provides the core of the Steam Game Servers API + Provides the core of the Steam Game Servers API </summary> </member> <member name="E:Steamworks.SteamServer.OnValidateAuthTicketResponse"> <summary> - User has been authed or rejected + User has been authed or rejected </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the server now is logged on and has a working connection to the Steam master server. + Called when a connections to the Steam back-end has been established. + This means the server now is logged on and has a working connection to the Steam master server. </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServerConnectFailure"> <summary> - This will occur periodically if the Steam client is not connected, and has failed when retrying to establish a connection (result, stilltrying) + This will occur periodically if the Steam client is not connected, and has failed when retrying to + establish a connection (result, stilltrying) </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersDisconnected"> <summary> - Disconnected from Steam + Disconnected from Steam </summary> </member> <member name="M:Steamworks.SteamServer.Init(Steamworks.AppId,Steamworks.SteamServerInit,System.Boolean)"> <summary> - Initialize the steam server. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam server. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="M:Steamworks.SteamServer.RunCallbacks"> <summary> - Run the callbacks. This is also called in Async callbacks. + Run the callbacks. This is also called in Async callbacks. </summary> </member> <member name="P:Steamworks.SteamServer.DedicatedServer"> <summary> - Sets whether this should be marked as a dedicated server. - If not, it is assumed to be a listen server. + Sets whether this should be marked as a dedicated server. + If not, it is assumed to be a listen server. </summary> </member> <member name="P:Steamworks.SteamServer.MaxPlayers"> <summary> - Gets or sets the current MaxPlayers. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current MaxPlayers. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.BotCount"> <summary> - Gets or sets the current BotCount. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current BotCount. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.MapName"> <summary> - Gets or sets the current Map Name. + Gets or sets the current Map Name. </summary> </member> <member name="P:Steamworks.SteamServer.ModDir"> <summary> - Gets or sets the current ModDir + Gets or sets the current ModDir </summary> </member> <member name="P:Steamworks.SteamServer.Product"> <summary> - Gets the current product + Gets the current product </summary> </member> <member name="P:Steamworks.SteamServer.GameDescription"> <summary> - Gets or sets the current Product + Gets or sets the current Product </summary> </member> <member name="P:Steamworks.SteamServer.ServerName"> <summary> - Gets or sets the current ServerName + Gets or sets the current ServerName </summary> </member> <member name="P:Steamworks.SteamServer.Passworded"> <summary> - Set whether the server should report itself as passworded + Set whether the server should report itself as passworded </summary> </member> <member name="P:Steamworks.SteamServer.GameTags"> <summary> - Gets or sets the current GameTags. This is a comma seperated list of tags for this server. - When querying the server list you can filter by these tags. + Gets or sets the current GameTags. This is a comma seperated list of tags for this server. + When querying the server list you can filter by these tags. </summary> </member> <member name="M:Steamworks.SteamServer.LogOnAnonymous"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="M:Steamworks.SteamServer.LogOff"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="P:Steamworks.SteamServer.LoggedOn"> <summary> - Returns true if the server is connected and registered with the Steam master server - You should have called LogOnAnonymous etc on startup. + Returns true if the server is connected and registered with the Steam master server + You should have called LogOnAnonymous etc on startup. </summary> </member> <member name="P:Steamworks.SteamServer.PublicIp"> <summary> - To the best of its ability this tries to get the server's - current public ip address. Be aware that this is likely to return - null for the first few seconds after initialization. + To the best of its ability this tries to get the server's + current public ip address. Be aware that this is likely to return + null for the first few seconds after initialization. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeats"> <summary> - Enable or disable heartbeats, which are sent regularly to the master server. - Enabled by default. + Enable or disable heartbeats, which are sent regularly to the master server. + Enabled by default. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeatRate"> <summary> - Set heartbeat interval, if automatic heartbeats are enabled. - You can leave this at the default. + Set heartbeat interval, if automatic heartbeats are enabled. + You can leave this at the default. </summary> </member> <member name="M:Steamworks.SteamServer.ForceHeartbeat"> <summary> - Force send a heartbeat to the master server instead of waiting - for the next automatic update (if you've left them enabled) + Force send a heartbeat to the master server instead of waiting + for the next automatic update (if you've left them enabled) </summary> </member> <member name="M:Steamworks.SteamServer.UpdatePlayer(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Update this connected player's information. You should really call this - any time a player's name or score changes. This keeps the information shown - to server queries up to date. + Update this connected player's information. You should really call this + any time a player's name or score changes. This keeps the information shown + to server queries up to date. </summary> </member> <member name="M:Steamworks.SteamServer.SetKey(System.String,System.String)"> <summary> - Sets a Key Value. These can be anything you like, and are accessible - when querying servers from the server list. - - Information describing gamemodes are common here. + Sets a Key Value. These can be anything you like, and are accessible + when querying servers from the server list. + + Information describing gamemodes are common here. </summary> </member> <member name="M:Steamworks.SteamServer.ClearKeys"> <summary> - Remove all key values + Remove all key values </summary> </member> <member name="M:Steamworks.SteamServer.BeginAuthSession(System.Byte[],Steamworks.SteamId)"> <summary> - Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. + Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. </summary> </member> <member name="M:Steamworks.SteamServer.EndSession(Steamworks.SteamId)"> <summary> - Forget this guy. They're no longer in the game. + Forget this guy. They're no longer in the game. </summary> </member> <member name="M:Steamworks.SteamServer.GetOutgoingPacket(Steamworks.Data.OutgoingPacket@)"> <summary> - If true, Steam wants to send a packet. You should respond by sending - this packet in an unconnected way to the returned Address and Port. + If true, Steam wants to send a packet. You should respond by sending + this packet in an unconnected way to the returned Address and Port. </summary> <param name="packet">Packet to send. The Data passed is pooled - so use it immediately.</param> <returns>True if we want to send a packet</returns> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.Byte[],System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.IntPtr,System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.UserHasLicenseForApp(Steamworks.SteamId,Steamworks.AppId)"> <summary> - Does the user own this app (which could be DLC) + Does the user own this app (which could be DLC) </summary> </member> <member name="M:Steamworks.SteamServerStats.RequestUserStatsAsync(Steamworks.SteamId)"> <summary> - Downloads stats for the user - If the user has no stats will return fail - these stats will only be auto-updated for clients playing on the server + Downloads stats for the user + If the user has no stats will return fail + these stats will only be auto-updated for clients playing on the server </summary> </member> <member name="M:Steamworks.SteamServerStats.SetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetAchievement(Steamworks.SteamId,System.String)"> <summary> - Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.ClearAchievement(Steamworks.SteamId,System.String)"> <summary> - Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid + first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetAchievement(Steamworks.SteamId,System.String)"> <summary> - Return true if available, exists and unlocked + Return true if available, exists and unlocked </summary> </member> <member name="M:Steamworks.SteamServerStats.StoreUserStats(Steamworks.SteamId)"> <summary> - Once you've set a stat change on a user you need to commit your changes. - You can do that using this function. The callback will let you know if - your action succeeded, but most of the time you can fire and forget. + Once you've set a stat change on a user you need to commit your changes. + You can do that using this function. The callback will let you know if + your action succeeded, but most of the time you can fire and forget. </summary> </member> <member name="T:Steamworks.SteamUGC"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUGC.OnDownloadItemResult"> <summary> - Posted after Download call + Posted after Download call </summary> </member> <member name="M:Steamworks.SteamUGC.Download(Steamworks.Data.PublishedFileId,System.Boolean)"> <summary> - Start downloading this item. You'll get notified of completion via OnDownloadItemResult. + Start downloading this item. You'll get notified of completion via OnDownloadItemResult. </summary> <param name="fileId">The ID of the file you want to download</param> <param name="highPriority">If true this should go straight to the top of the download list</param> @@ -2344,7 +2390,7 @@ </member> <member name="M:Steamworks.SteamUGC.DownloadAsync(Steamworks.Data.PublishedFileId,System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Will attempt to download this item asyncronously - allowing you to instantly react to its installation + Will attempt to download this item asyncronously - allowing you to instantly react to its installation </summary> <param name="fileId">The ID of the file you want to download</param> <param name="progress">An optional callback</param> @@ -2354,570 +2400,601 @@ </member> <member name="M:Steamworks.SteamUGC.QueryFileAsync(Steamworks.Data.PublishedFileId)"> <summary> - Utility function to fetch a single item. Internally this uses Ugc.FileQuery - - which you can use to query multiple items if you need to. + Utility function to fetch a single item. Internally this uses Ugc.FileQuery - + which you can use to query multiple items if you need to. </summary> </member> <member name="T:Steamworks.SteamUser"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the Steam client now has a working connection to the Steam servers. - Usually this will have occurred before the game has launched, and should only be seen if the - user has dropped connection due to a networking issue or a Steam server update. + Called when a connections to the Steam back-end has been established. + This means the Steam client now has a working connection to the Steam servers. + Usually this will have occurred before the game has launched, and should only be seen if the + user has dropped connection due to a networking issue or a Steam server update. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServerConnectFailure"> <summary> - Called when a connection attempt has failed. - This will occur periodically if the Steam client is not connected, - and has failed when retrying to establish a connection. + Called when a connection attempt has failed. + This will occur periodically if the Steam client is not connected, + and has failed when retrying to establish a connection. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersDisconnected"> <summary> - Called if the client has lost connection to the Steam servers. - Real-time services will be disabled until a matching OnSteamServersConnected has been posted. + Called if the client has lost connection to the Steam servers. + Real-time services will be disabled until a matching OnSteamServersConnected has been posted. </summary> </member> <member name="E:Steamworks.SteamUser.OnClientGameServerDeny"> <summary> - Sent by the Steam server to the client telling it to disconnect from the specified game server, - which it may be in the process of or already connected to. - The game client should immediately disconnect upon receiving this message. - This can usually occur if the user doesn't have rights to play on the game server. + Sent by the Steam server to the client telling it to disconnect from the specified game server, + which it may be in the process of or already connected to. + The game client should immediately disconnect upon receiving this message. + This can usually occur if the user doesn't have rights to play on the game server. </summary> </member> <member name="E:Steamworks.SteamUser.OnLicensesUpdated"> <summary> - Called whenever the users licenses (owned packages) changes. + Called whenever the users licenses (owned packages) changes. </summary> </member> <member name="E:Steamworks.SteamUser.OnValidateAuthTicketResponse"> <summary> - Called when an auth ticket has been validated. - The first parameter is the steamid of this user - The second is the Steam ID that owns the game, this will be different from the first - if the game is being borrowed via Steam Family Sharing + Called when an auth ticket has been validated. + The first parameter is the steamid of this user + The second is the Steam ID that owns the game, this will be different from the first + if the game is being borrowed via Steam Family Sharing </summary> </member> <member name="E:Steamworks.SteamUser.OnGetAuthSessionTicketResponse"> <summary> - Used internally for GetAuthSessionTicketAsync + Used internally for GetAuthSessionTicketAsync </summary> </member> <member name="E:Steamworks.SteamUser.OnMicroTxnAuthorizationResponse"> <summary> - Called when a user has responded to a microtransaction authorization request. - ( appid, orderid, user authorized ) + Called when a user has responded to a microtransaction authorization request. + ( appid, orderid, user authorized ) </summary> </member> <member name="E:Steamworks.SteamUser.OnGameWebCallback"> <summary> - Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the Steam overlay browser. - You can use this to add support for external site signups where you want to pop back into the browser after some web page - signup sequence, and optionally get back some detail about that. + Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the + Steam overlay browser. + You can use this to add support for external site signups where you want to pop back into the browser + after some web page + signup sequence, and optionally get back some detail about that. </summary> </member> <member name="E:Steamworks.SteamUser.OnDurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, - half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, + half rate, or zero rate. </summary> </member> <member name="P:Steamworks.SteamUser.VoiceRecord"> <summary> - Starts/Stops voice recording. - Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording - when the user has released their push-to-talk hotkey or the game session has completed. + Starts/Stops voice recording. + Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording + when the user has released their push-to-talk hotkey or the game session has completed. </summary> </member> <member name="P:Steamworks.SteamUser.HasVoiceData"> <summary> - Returns true if we have voice data waiting to be read + Returns true if we have voice data waiting to be read </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceData(System.IO.Stream)"> <summary> - Reads the voice data and returns the number of bytes written. - The compressed data can be transmitted by your application and decoded back into raw audio data using - DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not meant to be played directly. - This should be called once per frame, and at worst no more than four times a second to keep the microphone input delay as low as - possible. Calling this any less may result in gaps in the returned stream. + Reads the voice data and returns the number of bytes written. + The compressed data can be transmitted by your application and decoded back into raw audio data using + DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not + meant to be played directly. + This should be called once per frame, and at worst no more than four times a second to keep the + microphone input delay as low as + possible. Calling this any less may result in gaps in the returned stream. </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceDataBytes"> <summary> - Reads the voice data and returns the bytes. You should obviously ideally be using - ReadVoiceData because it won't be creating a new byte array every call. But this - makes it easier to get it working, so let the babies have their bottle. + Reads the voice data and returns the bytes. You should obviously ideally be using + ReadVoiceData because it won't be creating a new byte array every call. But this + makes it easier to get it working, so let the babies have their bottle. </summary> </member> <member name="M:Steamworks.SteamUser.DecompressVoice(System.IO.Stream,System.Int32,System.IO.Stream)"> <summary> - Decodes the compressed voice data returned by GetVoice. - The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 to 48000. + Decodes the compressed voice data returned by GetVoice. + The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 + to 48000. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicket"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicketAsync(System.Double)"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. - This waits for a positive response from the backend before returning the ticket. This means - the ticket is definitely ready to go as soon as it returns. Will return null if the callback - times out or returns negatively. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + This waits for a positive response from the backend before returning the ticket. This means + the ticket is definitely ready to go as soon as it returns. Will return null if the callback + times out or returns negatively. </summary> </member> <member name="P:Steamworks.SteamUser.IsBehindNAT"> <summary> - Checks if the current users looks like they are behind a NAT device. - This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. + Checks if the current users looks like they are behind a NAT device. + This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. </summary> </member> <member name="P:Steamworks.SteamUser.SteamLevel"> <summary> - Gets the Steam level of the user, as shown on their Steam community profile. + Gets the Steam level of the user, as shown on their Steam community profile. </summary> </member> <member name="M:Steamworks.SteamUser.GetStoreAuthUrlAsync(System.String)"> <summary> - Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the specified URL. - As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout pages will automatically recognize the user instead of presenting a login page. - NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call this API when you are about to launch the browser, or else immediately navigate to the result URL using a hidden browser window. - NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea to request and visit a new auth URL every 12 hours. + Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the + specified URL. + As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout + pages will automatically recognize the user instead of presenting a login page. + NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call + this API when you are about to launch the browser, or else immediately navigate to the result URL using + a hidden browser window. + NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea + to request and visit a new auth URL every 12 hours. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneVerified"> <summary> - Checks whether the current user has verified their phone number. + Checks whether the current user has verified their phone number. </summary> </member> <member name="P:Steamworks.SteamUser.IsTwoFactorEnabled"> <summary> - Checks whether the current user has Steam Guard two factor authentication enabled on their account. + Checks whether the current user has Steam Guard two factor authentication enabled on their account. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneIdentifying"> <summary> - Checks whether the user's phone number is used to uniquely identify them. + Checks whether the user's phone number is used to uniquely identify them. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneRequiringVerification"> <summary> - Checks whether the current user's phone number is awaiting (re)verification. + Checks whether the current user's phone number is awaiting (re)verification. </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync(System.Byte[])"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - If you get a null result from this it's probably because you're calling it too often. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + If you get a null result from this it's probably because you're calling it too often. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.GetDurationControl"> <summary> - Get anti indulgence / duration control + Get anti indulgence / duration control </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementIconFetched"> <summary> - called when the achivement icon is loaded + called when the achivement icon is loaded </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsReceived"> <summary> - called when the latests stats and achievements have been received - from the server + called when the latests stats and achievements have been received + from the server </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsStored"> <summary> - result of a request to store the user stats for a game + result of a request to store the user stats for a game </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementProgress"> <summary> - result of a request to store the achievements for a game, or an - "indicate progress" call. If both m_nCurProgress and m_nMaxProgress - are zero, that means the achievement has been fully unlocked + result of a request to store the achievements for a game, or an + "indicate progress" call. If both m_nCurProgress and m_nMaxProgress + are zero, that means the achievement has been fully unlocked </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsUnloaded"> <summary> - Callback indicating that a user's stats have been unloaded + Callback indicating that a user's stats have been unloaded </summary> </member> <member name="P:Steamworks.SteamUserStats.Achievements"> <summary> - Get the available achievements + Get the available achievements </summary> </member> <member name="M:Steamworks.SteamUserStats.IndicateAchievementProgress(System.String,System.Int32,System.Int32)"> <summary> - Show the user a pop-up notification with the current progress toward an achievement. - Will return false if RequestCurrentStats has not completed and successfully returned - its callback, if the achievement doesn't exist/has unpublished changes in the app's - Steamworks Admin page, or if the achievement is unlocked. + Show the user a pop-up notification with the current progress toward an achievement. + Will return false if RequestCurrentStats has not completed and successfully returned + its callback, if the achievement doesn't exist/has unpublished changes in the app's + Steamworks Admin page, or if the achievement is unlocked. </summary> </member> <member name="M:Steamworks.SteamUserStats.PlayerCountAsync"> <summary> - Tries to get the number of players currently playing this game. - Or -1 if failed. + Tries to get the number of players currently playing this game. + Or -1 if failed. </summary> </member> <member name="M:Steamworks.SteamUserStats.StoreStats"> <summary> - Send the changed stats and achievements data to the server for permanent storage. - If this fails then nothing is sent to the server. It's advisable to keep trying until the call is successful. - This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You should only be calling this during major state changes such as the end of a round, the map changing, or the user leaving a server. This call is required to display the achievement unlock notification dialog though, so if you have called SetAchievement then it's advisable to call this soon after that. - If you have stats or achievements that you have saved locally but haven't uploaded with this function when your application process ends then this function will automatically be called. - You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. - This function returns true upon success if : - RequestCurrentStats has completed and successfully returned its callback AND - the current game has stats associated with it in the Steamworks Partner backend, and those stats are published. + Send the changed stats and achievements data to the server for permanent storage. + If this fails then nothing is sent to the server. It's advisable to keep trying until the call is + successful. + This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You + should only be calling this during major state changes such as the end of a round, the map changing, or + the user leaving a server. This call is required to display the achievement unlock notification dialog + though, so if you have called SetAchievement then it's advisable to call this soon after that. + If you have stats or achievements that you have saved locally but haven't uploaded with this function + when your application process ends then this function will automatically be called. + You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. + This function returns true upon success if : + RequestCurrentStats has completed and successfully returned its callback AND + the current game has stats associated with it in the Steamworks Partner backend, and those stats are + published. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestCurrentStats"> <summary> - Asynchronously request the user's current stats and achievements from the server. - You must always call this first to get the initial status of stats and achievements. - Only after the resulting callback comes back can you start calling the rest of the stats - and achievement functions for the current user. + Asynchronously request the user's current stats and achievements from the server. + You must always call this first to get the initial status of stats and achievements. + Only after the resulting callback comes back can you start calling the rest of the stats + and achievement functions for the current user. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestGlobalStatsAsync(System.Int32)"> <summary> - Asynchronously fetches global stats data, which is available for stats marked as - "aggregated" in the App Admin panel of the Steamworks website. - You must have called RequestCurrentStats and it needs to return successfully via - its callback prior to calling this. + Asynchronously fetches global stats data, which is available for stats marked as + "aggregated" in the App Admin panel of the Steamworks website. + You must have called RequestCurrentStats and it needs to return successfully via + its callback prior to calling this. </summary> - <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The limit is 60.</param> - <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the remote call failed</returns> + <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The + limit is 60. + </param> + <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the + remote call failed + </returns> </member> <member name="M:Steamworks.SteamUserStats.FindOrCreateLeaderboardAsync(System.String,Steamworks.Data.LeaderboardSort,Steamworks.Data.LeaderboardDisplay)"> <summary> - Gets a leaderboard by name, it will create it if it's not yet created. - Leaderboards created with this function will not automatically show up in the Steam Community. - You must manually set the Community Name field in the App Admin panel of the Steamworks website. - As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on - the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of - dynamically created leaderboards. + Gets a leaderboard by name, it will create it if it's not yet created. + Leaderboards created with this function will not automatically show up in the Steam Community. + You must manually set the Community Name field in the App Admin panel of the Steamworks website. + As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on + the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of + dynamically created leaderboards. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Int32)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Single)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Int32)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Single)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatInt(System.String)"> <summary> - Get a Int stat value + Get a Int stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatFloat(System.String)"> <summary> - Get a float stat value + Get a float stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.ResetAll(System.Boolean)"> <summary> - Practically wipes the slate clean for this user. If includeAchievements is true, will wipe - any achievements too. + Practically wipes the slate clean for this user. If includeAchievements is true, will wipe + any achievements too. </summary> <returns></returns> </member> <member name="T:Steamworks.SteamUtils"> <summary> - Interface which provides access to a range of miscellaneous utility functions + Interface which provides access to a range of miscellaneous utility functions </summary> </member> <member name="E:Steamworks.SteamUtils.OnIpCountryChanged"> <summary> - The country of the user changed + The country of the user changed </summary> </member> <member name="E:Steamworks.SteamUtils.OnLowBatteryPower"> <summary> - Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute - The parameter is the number of minutes left + Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute + The parameter is the number of minutes left </summary> </member> <member name="E:Steamworks.SteamUtils.OnSteamShutdown"> <summary> - Called when Steam wants to shutdown + Called when Steam wants to shutdown </summary> </member> <member name="E:Steamworks.SteamUtils.OnGamepadTextInputDismissed"> <summary> - Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if cancelled etc. + Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if + cancelled etc. </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceAppActive"> <summary> - Returns the number of seconds since the application was active + Returns the number of seconds since the application was active </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceComputerActive"> <summary> - Returns the number of seconds since the user last moved the mouse etc + Returns the number of seconds since the user last moved the mouse etc </summary> </member> <member name="P:Steamworks.SteamUtils.SteamServerTime"> <summary> - Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) </summary> </member> <member name="P:Steamworks.SteamUtils.IpCountry"> <summary> - returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) - e.g "US" or "UK". + returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via + an IP-to-location database) + e.g "US" or "UK". </summary> </member> <member name="M:Steamworks.SteamUtils.GetImageSize(System.Int32,System.UInt32@,System.UInt32@)"> <summary> - returns true if the image exists, and the buffer was successfully filled out - results are returned in RGBA format - the destination buffer size should be 4 * height * width * sizeof(char) + returns true if the image exists, and the buffer was successfully filled out + results are returned in RGBA format + the destination buffer size should be 4 * height * width * sizeof(char) </summary> </member> <member name="M:Steamworks.SteamUtils.GetImage(System.Int32)"> <summary> - returns the image in RGBA format + returns the image in RGBA format </summary> </member> <member name="P:Steamworks.SteamUtils.UsingBatteryPower"> <summary> - Returns true if we're using a battery (ie, a laptop not plugged in) + Returns true if we're using a battery (ie, a laptop not plugged in) </summary> </member> <member name="P:Steamworks.SteamUtils.CurrentBatteryPower"> <summary> - Returns battery power [0-1] + Returns battery power [0-1] </summary> </member> <member name="P:Steamworks.SteamUtils.OverlayNotificationPosition"> <summary> - Sets the position where the overlay instance for the currently calling game should show notifications. - This position is per-game and if this function is called from outside of a game context it will do nothing. + Sets the position where the overlay instance for the currently calling game should show notifications. + This position is per-game and if this function is called from outside of a game context it will do + nothing. </summary> </member> <member name="P:Steamworks.SteamUtils.IsOverlayEnabled"> <summary> - Returns true if the overlay is running and the user can access it. The overlay process could take a few seconds to - start and hook the game process, so this function will initially return false while the overlay is loading. + Returns true if the overlay is running and the user can access it. The overlay process could take a few + seconds to + start and hook the game process, so this function will initially return false while the overlay is + loading. </summary> </member> <member name="P:Steamworks.SteamUtils.DoesOverlayNeedPresent"> - <summary> - Normally this call is unneeded if your game has a constantly running frame loop that calls the - D3D Present API, or OGL SwapBuffers API every frame. - - However, if you have a game that only refreshes the screen on an event driven basis then that can break - the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also - need to Present() to the screen any time an even needing a notification happens or when the overlay is - brought up over the game by a user. You can use this API to ask the overlay if it currently need a present - in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you - refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. - </summary> + <summary> + Normally this call is unneeded if your game has a constantly running frame loop that calls the + D3D Present API, or OGL SwapBuffers API every frame. + + However, if you have a game that only refreshes the screen on an event driven basis then that can break + the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + need to Present() to the screen any time an even needing a notification happens or when the overlay is + brought up over the game by a user. You can use this API to ask the overlay if it currently need a + present + in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + </summary> </member> <member name="M:Steamworks.SteamUtils.CheckFileSignatureAsync(System.String)"> <summary> - Asynchronous call to check if an executable file has been signed using the public key set on the signing tab - of the partner site, for example to refuse to load modified executable files. + Asynchronous call to check if an executable file has been signed using the public key set on the signing + tab + of the partner site, for example to refuse to load modified executable files. </summary> </member> <member name="M:Steamworks.SteamUtils.ShowGamepadTextInput(Steamworks.GamepadTextInputMode,Steamworks.GamepadTextInputLineMode,System.String,System.Int32,System.String)"> <summary> - Activates the Big Picture text input dialog which only supports gamepad input + Activates the Big Picture text input dialog which only supports gamepad input </summary> </member> <member name="M:Steamworks.SteamUtils.GetEnteredGamepadText"> <summary> - Returns previously entered text + Returns previously entered text </summary> </member> <member name="P:Steamworks.SteamUtils.SteamUILanguage"> <summary> - returns the language the steam client is running in, you probably want - Apps.CurrentGameLanguage instead, this is for very special usage cases + returns the language the steam client is running in, you probably want + Apps.CurrentGameLanguage instead, this is for very special usage cases </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamRunningInVR"> <summary> - returns true if Steam itself is running in VR mode + returns true if Steam itself is running in VR mode </summary> </member> <member name="M:Steamworks.SteamUtils.SetOverlayNotificationInset(System.Int32,System.Int32)"> <summary> - Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition + Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamInBigPictureMode"> <summary> - returns true if Steam and the Steam Overlay are running in Big Picture mode - Games much be launched through the Steam client to enable the Big Picture overlay. During development, - a game can be added as a non-steam game to the developers library to test this feature + returns true if Steam and the Steam Overlay are running in Big Picture mode + Games much be launched through the Steam client to enable the Big Picture overlay. During development, + a game can be added as a non-steam game to the developers library to test this feature </summary> </member> <member name="M:Steamworks.SteamUtils.StartVRDashboard"> <summary> - ask SteamUI to create and render its OpenVR dashboard + ask SteamUI to create and render its OpenVR dashboard </summary> </member> <member name="P:Steamworks.SteamUtils.VrHeadsetStreaming"> <summary> - Set whether the HMD content will be streamed via Steam In-Home Streaming - If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. - If this is set to false, then the application window will be streamed instead, and remote input will be allowed. - The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. - (this is useful for games that have asymmetric multiplayer gameplay) + Set whether the HMD content will be streamed via Steam In-Home Streaming + If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be + allowed. + If this is set to false, then the application window will be streamed instead, and remote input will be + allowed. + The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + (this is useful for games that have asymmetric multiplayer gameplay) </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamChinaLauncher"> <summary> - Returns whether this steam client is a Steam China specific client, vs the global client + Returns whether this steam client is a Steam China specific client, vs the global client </summary> </member> <member name="T:Steamworks.SteamVideo"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="P:Steamworks.SteamVideo.IsBroadcasting"> <summary> - Return true if currently using Steam's live broadcasting + Return true if currently using Steam's live broadcasting </summary> </member> <member name="P:Steamworks.SteamVideo.NumViewers"> <summary> - If we're broadcasting, will return the number of live viewers + If we're broadcasting, will return the number of live viewers </summary> </member> <member name="P:Steamworks.Controller.ActionSet"> <summary> - Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') - This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in - our state loops, instead of trying to place it in all of your state transitions. + Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + our state loops, instead of trying to place it in all of your state transitions. </summary> </member> <member name="M:Steamworks.Controller.GetDigitalState(System.String)"> <summary> - Returns the current state of the supplied digital game action + Returns the current state of the supplied digital game action </summary> </member> <member name="M:Steamworks.Controller.GetAnalogState(System.String)"> <summary> - Returns the current state of these supplied analog game action + Returns the current state of these supplied analog game action </summary> </member> <member name="P:Steamworks.Friend.IsMe"> <summary> - Returns true if this is the local user + Returns true if this is the local user </summary> </member> <member name="P:Steamworks.Friend.IsFriend"> <summary> - Return true if this is a friend + Return true if this is a friend </summary> </member> <member name="P:Steamworks.Friend.IsBlocked"> <summary> - Returns true if you have this user blocked + Returns true if you have this user blocked </summary> </member> <member name="P:Steamworks.Friend.IsPlayingThisGame"> <summary> - Return true if this user is playing the game we're running + Return true if this user is playing the game we're running </summary> </member> <member name="P:Steamworks.Friend.IsOnline"> <summary> - Returns true if this friend is online + Returns true if this friend is online </summary> </member> <member name="M:Steamworks.Friend.RequestInfoAsync"> <summary> - Sometimes we don't know the user's name. This will wait until we have - downloaded the information on this user. + Sometimes we don't know the user's name. This will wait until we have + downloaded the information on this user. </summary> </member> <member name="P:Steamworks.Friend.IsAway"> <summary> - Returns true if this friend is marked as away + Returns true if this friend is marked as away </summary> </member> <member name="P:Steamworks.Friend.IsBusy"> <summary> - Returns true if this friend is marked as busy + Returns true if this friend is marked as busy </summary> </member> <member name="P:Steamworks.Friend.IsSnoozing"> <summary> - Returns true if this friend is marked as snoozing + Returns true if this friend is marked as snoozing </summary> </member> <member name="M:Steamworks.Friend.InviteToGame(System.String)"> <summary> - Invite this friend to the game that we are playing + Invite this friend to the game that we are playing </summary> </member> <member name="M:Steamworks.Friend.SendMessage(System.String)"> <summary> - Sends a message to a Steam friend. Returns true if success + Sends a message to a Steam friend. Returns true if success </summary> </member> <member name="M:Steamworks.Friend.RequestUserStatsAsync"> <summary> - Tries to get download the latest user stats + Tries to get download the latest user stats </summary> <returns>True if successful, False if failure</returns> </member> <member name="M:Steamworks.Friend.GetStatFloat(System.String,System.Single)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2925,7 +3002,7 @@ </member> <member name="M:Steamworks.Friend.GetStatInt(System.String,System.Int32)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2933,7 +3010,7 @@ </member> <member name="M:Steamworks.Friend.GetAchievement(System.String,System.Boolean)"> <summary> - Gets a user achievement state. Must call RequestUserStats first. + Gets a user achievement state. Must call RequestUserStats first. </summary> <param name="statName">The name of the achievement you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2941,533 +3018,553 @@ </member> <member name="M:Steamworks.Friend.GetAchievementUnlockTime(System.String)"> <summary> - Gets a the time this achievement was unlocked. + Gets a the time this achievement was unlocked. </summary> <param name="statName">The name of the achievement you want to get</param> - <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return DateTime.MinValue</returns> + <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return + DateTime.MinValue + </returns> </member> <member name="P:Steamworks.InventoryDef.Name"> <summary> - Shortcut to call GetProperty( "name" ) + Shortcut to call GetProperty( "name" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Description"> <summary> - Shortcut to call GetProperty( "description" ) + Shortcut to call GetProperty( "description" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrl"> <summary> - Shortcut to call GetProperty( "icon_url" ) + Shortcut to call GetProperty( "icon_url" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrlLarge"> <summary> - Shortcut to call GetProperty( "icon_url_large" ) + Shortcut to call GetProperty( "icon_url_large" ) </summary> </member> <member name="P:Steamworks.InventoryDef.PriceCategory"> <summary> - Shortcut to call GetProperty( "price_category" ) + Shortcut to call GetProperty( "price_category" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Type"> <summary> - Shortcut to call GetProperty( "type" ) + Shortcut to call GetProperty( "type" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IsGenerator"> <summary> - Returns true if this is an item that generates an item, rather - than something that is actual an item + Returns true if this is an item that generates an item, rather + than something that is actual an item </summary> </member> <member name="P:Steamworks.InventoryDef.ExchangeSchema"> <summary> - Shortcut to call GetProperty( "exchange" ) + Shortcut to call GetProperty( "exchange" ) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipes"> <summary> - Get a list of exchanges that are available to make this item + Get a list of exchanges that are available to make this item </summary> </member> <member name="P:Steamworks.InventoryDef.Marketable"> <summary> - Shortcut to call GetBoolProperty( "marketable" ) + Shortcut to call GetBoolProperty( "marketable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Tradable"> <summary> - Shortcut to call GetBoolProperty( "tradable" ) + Shortcut to call GetBoolProperty( "tradable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Created"> <summary> - Gets the property timestamp + Gets the property timestamp </summary> </member> <member name="P:Steamworks.InventoryDef.Modified"> <summary> - Gets the property modified + Gets the property modified </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty(System.String)"> <summary> - Get a specific property by name + Get a specific property by name </summary> </member> <member name="M:Steamworks.InventoryDef.GetBoolProperty(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty``1(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="P:Steamworks.InventoryDef.Properties"> <summary> - Gets a list of all properties on this item + Gets a list of all properties on this item </summary> </member> <member name="P:Steamworks.InventoryDef.LocalPrice"> <summary> - Returns the price of this item in the local currency (SteamInventory.Currency) + Returns the price of this item in the local currency (SteamInventory.Currency) </summary> </member> <member name="P:Steamworks.InventoryDef.LocalBasePrice"> <summary> - If the price has been discounted, LocalPrice will differ from LocalBasePrice - (assumed, this isn't documented) + If the price has been discounted, LocalPrice will differ from LocalBasePrice + (assumed, this isn't documented) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipesContainingThis"> <summary> - Return a list of recepies that contain this item + Return a list of recepies that contain this item </summary> </member> <member name="P:Steamworks.InventoryItem.Properties"> <summary> - Only available if the result set was created with the getproperties + Only available if the result set was created with the getproperties </summary> </member> <member name="P:Steamworks.InventoryItem.IsNoTrade"> <summary> - This item is account-locked and cannot be traded or given away. - This is an item status flag which is permanently attached to specific item instances + This item is account-locked and cannot be traded or given away. + This is an item status flag which is permanently attached to specific item instances </summary> </member> <member name="P:Steamworks.InventoryItem.IsRemoved"> <summary> - The item has been destroyed, traded away, expired, or otherwise invalidated. - This is an action confirmation flag which is only set one time, as part of a result set. + The item has been destroyed, traded away, expired, or otherwise invalidated. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="P:Steamworks.InventoryItem.IsConsumed"> <summary> - The item quantity has been decreased by 1 via ConsumeItem API. - This is an action confirmation flag which is only set one time, as part of a result set. + The item quantity has been decreased by 1 via ConsumeItem API. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="M:Steamworks.InventoryItem.ConsumeAsync(System.Int32)"> <summary> - Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is permanently removed. - Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game implements item removal at all, - a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain item definitions or fully - blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother borrowed my laptop and deleted all of my rare items". + Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is + permanently removed. + Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game + implements item removal at all, + a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain + item definitions or fully + blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother + borrowed my laptop and deleted all of my rare items". </summary> </member> <member name="M:Steamworks.InventoryItem.SplitStackAsync(System.Int32)"> <summary> - Split stack into two items + Split stack into two items </summary> </member> <member name="M:Steamworks.InventoryItem.AddAsync(Steamworks.InventoryItem,System.Int32)"> <summary> - Add x units of the target item to this item + Add x units of the target item to this item </summary> </member> <member name="P:Steamworks.InventoryItem.Acquired"> <summary> - Will try to return the date that this item was aquired. You need to have for the items - with their properties for this to work. + Will try to return the date that this item was aquired. You need to have for the items + with their properties for this to work. </summary> </member> <member name="P:Steamworks.InventoryItem.Origin"> <summary> - Tries to get the origin property. Need properties for this to work. - Will return a string like "market" + Tries to get the origin property. Need properties for this to work. + Will return a string like "market" </summary> </member> <member name="T:Steamworks.InventoryItem.Amount"> <summary> - Small utility class to describe an item with a quantity + Small utility class to describe an item with a quantity </summary> </member> <member name="T:Steamworks.InventoryRecipe"> <summary> - A structured description of an item exchange + A structured description of an item exchange </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.DefinitionId"> <summary> - The definition ID of the ingredient. + The definition ID of the ingredient. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Definition"> <summary> - If we don't know about this item definition this might be null. - In which case, DefinitionId should still hold the correct id. + If we don't know about this item definition this might be null. + In which case, DefinitionId should still hold the correct id. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Count"> <summary> - The amount of this item needed. Generally this will be 1. + The amount of this item needed. Generally this will be 1. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Result"> <summary> - The item that this will create. + The item that this will create. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredients"> <summary> - The items, with quantity required to create this item. + The items, with quantity required to create this item. </summary> </member> <member name="M:Steamworks.InventoryResult.BelongsTo(Steamworks.SteamId)"> <summary> - Checks whether an inventory result handle belongs to the specified Steam ID. - This is important when using Deserialize, to verify that a remote player is not pretending to have a different user's inventory + Checks whether an inventory result handle belongs to the specified Steam ID. + This is important when using Deserialize, to verify that a remote player is not pretending to have a + different user's inventory </summary> </member> <member name="M:Steamworks.InventoryResult.Serialize"> <summary> - Serialized result sets contain a short signature which can't be forged or replayed across different game sessions. - A result set can be serialized on the local client, transmitted to other players via your game networking, and - deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing - rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a serialized - result depends on the number items which are being serialized.When securely transmitting items to other players, - it is recommended to use GetItemsByID first to create a minimal result set. - Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See DeserializeResult - for expiration handling. + Serialized result sets contain a short signature which can't be forged or replayed across different game + sessions. + A result set can be serialized on the local client, transmitted to other players via your game + networking, and + deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing + rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a + serialized + result depends on the number items which are being serialized.When securely transmitting items to other + players, + it is recommended to use GetItemsByID first to create a minimal result set. + Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See + DeserializeResult + for expiration handling. </summary> </member> <member name="P:Steamworks.PartyBeacon.Owner"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="P:Steamworks.PartyBeacon.MetaData"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="M:Steamworks.PartyBeacon.JoinAsync"> <summary> - Will attempt to join the party. If successful will return a connection string. - If failed, will return null + Will attempt to join the party. If successful will return a connection string. + If failed, will return null </summary> </member> <member name="M:Steamworks.PartyBeacon.OnReservationCompleted(Steamworks.SteamId)"> <summary> - When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your game a ReservationNotification callback. - When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined successfully + When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your + game a ReservationNotification callback. + When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined + successfully </summary> </member> <member name="M:Steamworks.PartyBeacon.CancelReservation(Steamworks.SteamId)"> <summary> - To cancel a reservation (due to timeout or user input), call this. - Steam will open a new reservation slot. - Note: The user may already be in-flight to your game, so it's possible they will still connect and try to join your party. + To cancel a reservation (due to timeout or user input), call this. + Steam will open a new reservation slot. + Note: The user may already be in-flight to your game, so it's possible they will still connect and try + to join your party. </summary> </member> <member name="M:Steamworks.PartyBeacon.Destroy"> <summary> - Turn off the beacon + Turn off the beacon </summary> </member> <member name="T:Steamworks.SteamServerInit"> <summary> - Used to set up the server. - The variables in here are all required to be set, and can't be changed once the server is created. + Used to set up the server. + The variables in here are all required to be set, and can't be changed once the server is created. </summary> </member> <member name="F:Steamworks.SteamServerInit.VersionString"> <summary> - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the server is out of date. - If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If this version number is - less than that latest version then your server won't show. + The version string is usually in the form x.x.x.x, and is used by the master server to detect when the + server is out of date. + If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If + this version number is + less than that latest version then your server won't show. </summary> </member> <member name="F:Steamworks.SteamServerInit.ModDir"> <summary> - This should be the same directory game where gets installed into. Just the folder name, not the whole path. I.e. "Rust", "Garrysmod". + This should be the same directory game where gets installed into. Just the folder name, not the whole + path. I.e. "Rust", "Garrysmod". </summary> </member> <member name="F:Steamworks.SteamServerInit.GameDescription"> <summary> - The game description. Setting this to the full name of your game is recommended. + The game description. Setting this to the full name of your game is recommended. </summary> </member> <member name="F:Steamworks.SteamServerInit.DedicatedServer"> <summary> - Is a dedicated server + Is a dedicated server </summary> </member> <member name="M:Steamworks.SteamServerInit.WithRandomSteamPort"> <summary> - Set the Steam quert port + Set the Steam quert port </summary> </member> <member name="M:Steamworks.SteamServerInit.WithQueryShareGamePort"> <summary> - If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server API to use - "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets for the master - server updater. - - More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket + If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server + API to use + "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets + for the master + server updater. + + More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewCommunityFile"> <summary> - Create a Normal Workshop item that can be subscribed to + Create a Normal Workshop item that can be subscribed to </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewMicrotransactionFile"> <summary> - Workshop item that is meant to be voted on for the purpose of selling in-game + Workshop item that is meant to be voted on for the purpose of selling in-game </summary> </member> <member name="F:Steamworks.Ugc.PublishResult.NeedsWorkshopAgreement"> <summary> - https://partner.steamgames.com/doc/features/workshop/implementation#Legal + https://partner.steamgames.com/doc/features/workshop/implementation#Legal </summary> </member> <member name="P:Steamworks.Ugc.Item.Id"> <summary> - The actual ID of this file + The actual ID of this file </summary> </member> <member name="P:Steamworks.Ugc.Item.Title"> <summary> - The given title of this item + The given title of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.Description"> <summary> - The description of this item, in your local language if available + The description of this item, in your local language if available </summary> </member> <member name="P:Steamworks.Ugc.Item.Tags"> <summary> - A list of tags for this item, all lowercase + A list of tags for this item, all lowercase </summary> </member> <member name="P:Steamworks.Ugc.Item.CreatorApp"> <summary> - App Id of the app that created this item + App Id of the app that created this item </summary> </member> <member name="P:Steamworks.Ugc.Item.ConsumerApp"> <summary> - App Id of the app that will consume this item. + App Id of the app that will consume this item. </summary> </member> <member name="P:Steamworks.Ugc.Item.Owner"> <summary> - User who created this content + User who created this content </summary> </member> <member name="P:Steamworks.Ugc.Item.Score"> <summary> - The bayesian average for up votes / total votes, between [0,1] + The bayesian average for up votes / total votes, between [0,1] </summary> </member> <member name="P:Steamworks.Ugc.Item.Created"> <summary> - Time when the published item was created + Time when the published item was created </summary> </member> <member name="P:Steamworks.Ugc.Item.Updated"> <summary> - Time when the published item was last updated + Time when the published item was last updated </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPublic"> <summary> - True if this is publically visible + True if this is publically visible </summary> </member> <member name="P:Steamworks.Ugc.Item.IsFriendsOnly"> <summary> - True if this item is only visible by friends of the creator + True if this item is only visible by friends of the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPrivate"> <summary> - True if this is only visible to the creator + True if this is only visible to the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsBanned"> <summary> - True if this item has been banned + True if this item has been banned </summary> </member> <member name="P:Steamworks.Ugc.Item.IsAcceptedForUse"> <summary> - Whether the developer of this app has specifically flagged this item as accepted in the Workshop + Whether the developer of this app has specifically flagged this item as accepted in the Workshop </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesUp"> <summary> - The number of upvotes of this item + The number of upvotes of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesDown"> <summary> - The number of downvotes of this item + The number of downvotes of this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Download(System.Boolean)"> <summary> - Start downloading this item. - If this returns false the item isn't getting downloaded. + Start downloading this item. + If this returns false the item isn't getting downloaded. </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesTotal"> <summary> - If we're downloading, how big the total download is + If we're downloading, how big the total download is </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesDownloaded"> <summary> - If we're downloading, how much we've downloaded + If we're downloading, how much we've downloaded </summary> </member> <member name="P:Steamworks.Ugc.Item.SizeBytes"> <summary> - If we're installed, how big is the install + If we're installed, how big is the install </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadAmount"> <summary> - If we're downloading our current progress as a delta betwen 0-1 + If we're downloading our current progress as a delta betwen 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.HasTag(System.String)"> <summary> - A case insensitive check for tag + A case insensitive check for tag </summary> </member> <member name="M:Steamworks.Ugc.Item.Subscribe"> <summary> - Allows the user to subscribe to this item + Allows the user to subscribe to this item </summary> </member> <member name="M:Steamworks.Ugc.Item.DownloadAsync(System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Allows the user to subscribe to download this item asyncronously - If CancellationToken is default then there is 60 seconds timeout - Progress will be set to 0-1 + Allows the user to subscribe to download this item asyncronously + If CancellationToken is default then there is 60 seconds timeout + Progress will be set to 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.Unsubscribe"> <summary> - Allows the user to unsubscribe from this item + Allows the user to unsubscribe from this item </summary> </member> <member name="M:Steamworks.Ugc.Item.AddFavorite"> <summary> - Adds item to user favorite list + Adds item to user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.RemoveFavorite"> <summary> - Removes item from user favorite list + Removes item from user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.Vote(System.Boolean)"> <summary> - Allows the user to rate a workshop item up or down. + Allows the user to rate a workshop item up or down. </summary> </member> <member name="M:Steamworks.Ugc.Item.GetUserVote"> <summary> - Gets the current users vote on the item + Gets the current users vote on the item </summary> </member> <member name="P:Steamworks.Ugc.Item.Url"> <summary> - Return a URL to view this item online + Return a URL to view this item online </summary> </member> <member name="P:Steamworks.Ugc.Item.ChangelogUrl"> <summary> - The URl to view this item's changelog + The URl to view this item's changelog </summary> </member> <member name="P:Steamworks.Ugc.Item.CommentsUrl"> <summary> - The URL to view the comments on this item + The URL to view the comments on this item </summary> </member> <member name="P:Steamworks.Ugc.Item.DiscussUrl"> <summary> - The URL to discuss this item + The URL to discuss this item </summary> </member> <member name="P:Steamworks.Ugc.Item.StatsUrl"> <summary> - The URL to view this items stats online + The URL to view this items stats online </summary> </member> <member name="P:Steamworks.Ugc.Item.PreviewImageUrl"> <summary> - The URL to the preview image for this item + The URL to the preview image for this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Edit"> <summary> - Edit this item + Edit this item </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAnyTag"> <summary> - Found items must have at least one of the defined tags + Found items must have at least one of the defined tags </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAllTags"> <summary> - Found items must have all defined tags + Found items must have all defined tags </summary> </member> <member name="P:Steamworks.Epoch.Current"> <summary> - Returns the current Unix Epoch + Returns the current Unix Epoch </summary> </member> <member name="M:Steamworks.Epoch.ToDateTime(System.Decimal)"> <summary> - Convert an epoch to a datetime + Convert an epoch to a datetime </summary> </member> <member name="M:Steamworks.Epoch.FromDateTime(System.DateTime)"> <summary> - Convert a DateTime to a unix time + Convert a DateTime to a unix time </summary> </member> <member name="M:Steamworks.Helpers.TakeBuffer(System.Int32)"> <summary> - Returns a buffer. This will get returned and reused later on. + Returns a buffer. This will get returned and reused later on. </summary> </member> <member name="T:Steamworks.PreserveAttribute"> <summary> - Prevent unity from stripping shit we depend on - https://docs.unity3d.com/Manual/ManagedCodeStripping.html + Prevent unity from stripping shit we depend on + https://docs.unity3d.com/Manual/ManagedCodeStripping.html </summary> </member> </members> diff --git a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml index b6836cb..bd54e46 100644 --- a/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml +++ b/Assets/Packages/Facepunch/Facepunch.Steamworks.Win64.xml @@ -6,1356 +6,1385 @@ <members> <member name="T:Steamworks.CallResult`1"> <summary> - An awaitable version of a SteamAPICall_t + An awaitable version of a SteamAPICall_t </summary> </member> <member name="M:Steamworks.CallResult`1.OnCompleted(System.Action)"> <summary> - This gets called if IsComplete returned false on the first call. - The Action "continues" the async call. We pass it to the Dispatch - to be called when the callback returns. + This gets called if IsComplete returned false on the first call. + The Action "continues" the async call. We pass it to the Dispatch + to be called when the callback returns. </summary> </member> <member name="M:Steamworks.CallResult`1.GetResult"> <summary> - Gets the result. This is called internally by the async shit. + Gets the result. This is called internally by the async shit. </summary> </member> <member name="P:Steamworks.CallResult`1.IsCompleted"> <summary> - Return true if complete or failed + Return true if complete or failed </summary> </member> <member name="M:Steamworks.CallResult`1.GetAwaiter"> <summary> - This is what makes this struct awaitable + This is what makes this struct awaitable </summary> </member> <member name="T:Steamworks.ICallbackData"> <summary> - Gives us a generic way to get the CallbackId of structs + Gives us a generic way to get the CallbackId of structs </summary> </member> <member name="M:Steamworks.AuthTicket.Cancel"> <summary> - Cancels a ticket. - You should cancel your ticket when you close the game or leave a server. + Cancels a ticket. + You should cancel your ticket when you close the game or leave a server. </summary> </member> <member name="T:Steamworks.Dispatch"> <summary> - Responsible for all callback/callresult handling - - This manually pumps Steam's message queue and dispatches those - events to any waiting callbacks/callresults. + Responsible for all callback/callresult handling + + This manually pumps Steam's message queue and dispatches those + events to any waiting callbacks/callresults. </summary> </member> <member name="F:Steamworks.Dispatch.OnDebugCallback"> <summary> - If set then we'll call this function every time a callback is generated. - - This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific - callback then please create an issue on github and I'll add it! - - Params are : [Callback Type] [Callback Contents] [server] - + If set then we'll call this function every time a callback is generated. + + This is SLOW!! - it's for debugging - don't keep it on all the time. If you want to access a specific + callback then please create an issue on github and I'll add it! + + Params are : [Callback Type] [Callback Contents] [server] + </summary> </member> <member name="F:Steamworks.Dispatch.OnException"> <summary> - Called if an exception happens during a callback/callresult. - This is needed because the exception isn't always accessible when running - async.. and can fail silently. With this hooked you won't be stuck wondering - what happened. + Called if an exception happens during a callback/callresult. + This is needed because the exception isn't always accessible when running + async.. and can fail silently. With this hooked you won't be stuck wondering + what happened. </summary> </member> <member name="M:Steamworks.Dispatch.Init"> <summary> - This gets called from Client/Server Init - It's important to switch to the manual dispatcher + This gets called from Client/Server Init + It's important to switch to the manual dispatcher </summary> </member> <member name="F:Steamworks.Dispatch.runningFrame"> <summary> - Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. + Make sure we don't call Frame in a callback - because that'll cause some issues for everyone. </summary> </member> <member name="M:Steamworks.Dispatch.Frame(Steamworks.Data.HSteamPipe)"> <summary> - Calls RunFrame and processes events from this Steam Pipe + Calls RunFrame and processes events from this Steam Pipe </summary> </member> <member name="F:Steamworks.Dispatch.actionsToCall"> <summary> - To be safe we don't call the continuation functions while iterating - the Callback list. This is maybe overly safe because the only way this - could be an issue is if the callback list is modified in the continuation - which would only happen if starting or shutting down in the callback. + To be safe we don't call the continuation functions while iterating + the Callback list. This is maybe overly safe because the only way this + could be an issue is if the callback list is modified in the continuation + which would only happen if starting or shutting down in the callback. </summary> </member> <member name="M:Steamworks.Dispatch.ProcessCallback(Steamworks.Dispatch.CallbackMsg_t,System.Boolean)"> <summary> - A callback is a general global message + A callback is a general global message </summary> </member> <member name="M:Steamworks.Dispatch.CallbackToString(Steamworks.CallbackType,System.IntPtr,System.Int32)"> <summary> - Given a callback, try to turn it into a string + Given a callback, try to turn it into a string </summary> </member> <member name="M:Steamworks.Dispatch.ProcessResult(Steamworks.Dispatch.CallbackMsg_t)"> <summary> - A result is a reply to a specific command + A result is a reply to a specific command </summary> </member> <member name="M:Steamworks.Dispatch.LoopClientAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.LoopServerAsync"> <summary> - Pumps the queue in an async loop so we don't - have to think about it. This has the advantage that - you can call .Wait() on async shit and it still works. + Pumps the queue in an async loop so we don't + have to think about it. This has the advantage that + you can call .Wait() on async shit and it still works. </summary> </member> <member name="M:Steamworks.Dispatch.OnCallComplete``1(Steamworks.Data.SteamAPICall_t,System.Action,System.Boolean)"> <summary> - Watch for a steam api call + Watch for a steam api call </summary> </member> <member name="M:Steamworks.Dispatch.Install``1(System.Action{``0},System.Boolean)"> <summary> - Install a global callback. The passed function will get called if it's all good. + Install a global callback. The passed function will get called if it's all good. </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.Numeric"> <summary> - The score is just a simple numerical value + The score is just a simple numerical value </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeSeconds"> <summary> - The score represents a time, in seconds + The score represents a time, in seconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardDisplay.TimeMilliSeconds"> <summary> - The score represents a time, in milliseconds + The score represents a time, in milliseconds </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Ascending"> <summary> - The top-score is the lowest number + The top-score is the lowest number </summary> </member> <member name="F:Steamworks.Data.LeaderboardSort.Descending"> <summary> - The top-score is the highest number + The top-score is the highest number </summary> </member> <member name="F:Steamworks.Data.SendType.Unreliable"> - <summary> - Send the message unreliably. Can be lost. Messages *can* be larger than a - single MTU (UDP packet), but there is no retransmission, so if any piece - of the message is lost, the entire message will be dropped. - - The sending API does have some knowledge of the underlying connection, so - if there is no NAT-traversal accomplished or there is a recognized adjustment - happening on the connection, the packet will be batched until the connection - is open again. - </summary> + <summary> + Send the message unreliably. Can be lost. Messages *can* be larger than a + single MTU (UDP packet), but there is no retransmission, so if any piece + of the message is lost, the entire message will be dropped. + + The sending API does have some knowledge of the underlying connection, so + if there is no NAT-traversal accomplished or there is a recognized adjustment + happening on the connection, the packet will be batched until the connection + is open again. + </summary> </member> <member name="F:Steamworks.Data.SendType.NoNagle"> <summary> - Disable Nagle's algorithm. - By default, Nagle's algorithm is applied to all outbound messages. This means - that the message will NOT be sent immediately, in case further messages are - sent soon after you send this, which can be grouped together. Any time there - is enough buffered data to fill a packet, the packets will be pushed out immediately, - but partially-full packets not be sent until the Nagle timer expires. + Disable Nagle's algorithm. + By default, Nagle's algorithm is applied to all outbound messages. This means + that the message will NOT be sent immediately, in case further messages are + sent soon after you send this, which can be grouped together. Any time there + is enough buffered data to fill a packet, the packets will be pushed out immediately, + but partially-full packets not be sent until the Nagle timer expires. </summary> </member> <member name="F:Steamworks.Data.SendType.NoDelay"> <summary> - If the message cannot be sent very soon (because the connection is still doing some initial - handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable - messages. Using this flag on reliable messages is invalid. + If the message cannot be sent very soon (because the connection is still doing some initial + handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable + messages. Using this flag on reliable messages is invalid. </summary> </member> <member name="F:Steamworks.Data.SendType.Reliable"> - Reliable message send. Can send up to 0.5mb in a single message. + Reliable message send. Can send up to 0.5mb in a single message. Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. </member> <member name="P:Steamworks.Data.NetIdentity.LocalHost"> <summary> - Return a NetIdentity that represents LocalHost + Return a NetIdentity that represents LocalHost </summary> </member> <member name="P:Steamworks.Data.NetIdentity.IsLocalHost"> <summary> - Return true if this identity is localhost + Return true if this identity is localhost </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.SteamId)~Steamworks.Data.NetIdentity"> <summary> - Convert to a SteamId + Convert to a SteamId </summary> <param name="value"></param> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetAddress)~Steamworks.Data.NetIdentity"> <summary> - Set the specified Address + Set the specified Address </summary> </member> <member name="M:Steamworks.Data.NetIdentity.op_Implicit(Steamworks.Data.NetIdentity)~Steamworks.SteamId"> <summary> - Automatically convert to a SteamId + Automatically convert to a SteamId </summary> <param name="value"></param> </member> <member name="P:Steamworks.Data.NetIdentity.SteamId"> <summary> - Returns NULL if we're not a SteamId + Returns NULL if we're not a SteamId </summary> </member> <member name="P:Steamworks.Data.NetIdentity.Address"> <summary> - Returns NULL if we're not a NetAddress + Returns NULL if we're not a NetAddress </summary> </member> <member name="M:Steamworks.Data.NetIdentity.ToString"> <summary> - We override tostring to provide a sensible representation + We override tostring to provide a sensible representation </summary> </member> <member name="P:Steamworks.Data.NetAddress.Port"> <summary> - The Port. This is redundant documentation. + The Port. This is redundant documentation. </summary> </member> <member name="M:Steamworks.Data.NetAddress.AnyIp(System.UInt16)"> <summary> - Any IP, specific port + Any IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.LocalHost(System.UInt16)"> <summary> - Localhost IP, specific port + Localhost IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.String,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="M:Steamworks.Data.NetAddress.From(System.Net.IPAddress,System.UInt16)"> <summary> - Specific IP, specific port + Specific IP, specific port </summary> </member> <member name="P:Steamworks.Data.NetAddress.Cleared"> <summary> - Set everything to zero + Set everything to zero </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv6AllZeros"> <summary> - Return true if the IP is ::0. (Doesn't check port.) + Return true if the IP is ::0. (Doesn't check port.) </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsIPv4"> <summary> - Return true if IP is mapped IPv4 + Return true if IP is mapped IPv4 </summary> </member> <member name="P:Steamworks.Data.NetAddress.IsLocalHost"> <summary> - Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) + Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) </summary> </member> <member name="P:Steamworks.Data.NetAddress.Address"> <summary> - Get the Address section + Get the Address section </summary> </member> <member name="T:Steamworks.Data.Connection"> <summary> - Used as a base to create your client connection. This creates a socket - to a single connection. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your client connection. This creates a socket + to a single connection. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.Data.Connection.Accept"> <summary> - Accept an incoming connection that has been received on a listen socket. + Accept an incoming connection that has been received on a listen socket. </summary> </member> <member name="M:Steamworks.Data.Connection.Close(System.Boolean,System.Int32,System.String)"> <summary> - Disconnects from the remote host and invalidates the connection handle. Any unread data on the connection is discarded.. - reasonCode is defined and used by you. + Disconnects from the remote host and invalidates the connection handle. Any unread data on the + connection is discarded.. + reasonCode is defined and used by you. </summary> </member> <member name="P:Steamworks.Data.Connection.UserData"> <summary> - Get/Set connection user data + Get/Set connection user data </summary> </member> <member name="P:Steamworks.Data.Connection.ConnectionName"> <summary> - A name for the connection, used mostly for debugging + A name for the connection, used mostly for debugging </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.IntPtr,System.Int32,Steamworks.Data.SendType)"> <summary> - This is the best version to use. + This is the best version to use. </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.Byte[],System.Int32,System.Int32,Steamworks.Data.SendType)"> <summary> - Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and - you're not creating a new one every frame (like using .ToArray()) + Ideally should be using an IntPtr version unless you're being really careful with the byte[] array and + you're not creating a new one every frame (like using .ToArray()) </summary> </member> <member name="M:Steamworks.Data.Connection.SendMessage(System.String,Steamworks.Data.SendType)"> <summary> - This creates a ton of garbage - so don't do anything with this beyond testing! + This creates a ton of garbage - so don't do anything with this beyond testing! </summary> </member> <member name="M:Steamworks.Data.Connection.Flush"> <summary> - Flush any messages waiting on the Nagle timer and send them at the next transmission - opportunity (often that means right now). + Flush any messages waiting on the Nagle timer and send them at the next transmission + opportunity (often that means right now). </summary> </member> <member name="M:Steamworks.Data.Connection.DetailedStatus"> <summary> - Returns detailed connection stats in text format. Useful - for dumping to a log, etc. + Returns detailed connection stats in text format. Useful + for dumping to a log, etc. </summary> <returns>Plain text connection info</returns> </member> <member name="T:Steamworks.Data.ConnectionInfo"> <summary> - Describe the state of a connection + Describe the state of a connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.State"> <summary> - High level state of the connection + High level state of the connection </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Address"> <summary> - Remote address. Might be all 0's if we don't know it, or if this is N/A. + Remote address. Might be all 0's if we don't know it, or if this is N/A. </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.Identity"> <summary> - Who is on the other end? Depending on the connection type and phase of the connection, we might not know + Who is on the other end? Depending on the connection type and phase of the connection, we might not know </summary> </member> <member name="P:Steamworks.Data.ConnectionInfo.EndReason"> <summary> - Basic cause of the connection termination or problem. + Basic cause of the connection termination or problem. </summary> </member> <member name="T:Steamworks.Data.NetPingLocation"> - <summary> - - Object that describes a "location" on the Internet with sufficient - detail that we can reasonably estimate an upper bound on the ping between - the two hosts, even if a direct route between the hosts is not possible, - and the connection must be routed through the Steam Datagram Relay network. - This does not contain any information that identifies the host. Indeed, - if two hosts are in the same building or otherwise have nearly identical - networking characteristics, then it's valid to use the same location - object for both of them. - - NOTE: This object should only be used in the same process! Do not serialize it, - send it over the wire, or persist it in a file or database! If you need - to do that, convert it to a string representation using the methods in - ISteamNetworkingUtils(). - - </summary> + <summary> + + Object that describes a "location" on the Internet with sufficient + detail that we can reasonably estimate an upper bound on the ping between + the two hosts, even if a direct route between the hosts is not possible, + and the connection must be routed through the Steam Datagram Relay network. + This does not contain any information that identifies the host. Indeed, + if two hosts are in the same building or otherwise have nearly identical + networking characteristics, then it's valid to use the same location + object for both of them. + + NOTE: This object should only be used in the same process! Do not serialize it, + send it over the wire, or persist it in a file or database! If you need + to do that, convert it to a string representation using the methods in + ISteamNetworkingUtils(). + + </summary> </member> <member name="M:Steamworks.Data.NetPingLocation.EstimatePingTo(Steamworks.Data.NetPingLocation)"> - Estimate the round-trip latency between two arbitrary locations, in - milliseconds. This is a conservative estimate, based on routing through - the relay network. For most basic relayed connections, this ping time - will be pretty accurate, since it will be based on the route likely to - be actually used. - - If a direct IP route is used (perhaps via NAT traversal), then the route - will be different, and the ping time might be better. Or it might actually - be a bit worse! Standard IP routing is frequently suboptimal! - - But even in this case, the estimate obtained using this method is a - reasonable upper bound on the ping time. (Also it has the advantage - of returning immediately and not sending any packets.) - - In a few cases we might not able to estimate the route. In this case - a negative value is returned. k_nSteamNetworkingPing_Failed means - the reason was because of some networking difficulty. (Failure to - ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot - currently answer the question for some other reason. - - Do you need to be able to do this from a backend/matchmaking server? - You are looking for the "ticketgen" library. + Estimate the round-trip latency between two arbitrary locations, in + milliseconds. This is a conservative estimate, based on routing through + the relay network. For most basic relayed connections, this ping time + will be pretty accurate, since it will be based on the route likely to + be actually used. + + If a direct IP route is used (perhaps via NAT traversal), then the route + will be different, and the ping time might be better. Or it might actually + be a bit worse! Standard IP routing is frequently suboptimal! + + But even in this case, the estimate obtained using this method is a + reasonable upper bound on the ping time. (Also it has the advantage + of returning immediately and not sending any packets.) + + In a few cases we might not able to estimate the route. In this case + a negative value is returned. k_nSteamNetworkingPing_Failed means + the reason was because of some networking difficulty. (Failure to + ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot + currently answer the question for some other reason. + + Do you need to be able to do this from a backend/matchmaking server? + You are looking for the "ticketgen" library. </member> <member name="M:Steamworks.Data.Socket.Close"> <summary> - Destroy a listen socket. All the connections that were accepting on the listen - socket are closed ungracefully. + Destroy a listen socket. All the connections that were accepting on the listen + socket are closed ungracefully. </summary> </member> <member name="P:Steamworks.Data.Achievement.State"> <summary> - True if unlocked + True if unlocked </summary> </member> <member name="P:Steamworks.Data.Achievement.UnlockTime"> <summary> - Should hold the unlock time if State is true + Should hold the unlock time if State is true </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIcon"> <summary> - Gets the icon of the achievement. This can return a null image even though the image exists if the image - hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be downloaded. + Gets the icon of the achievement. This can return a null image even though the image exists if the image + hasn't been downloaded by Steam yet. You can use GetIconAsync if you want to wait for the image to be + downloaded. </summary> </member> <member name="M:Steamworks.Data.Achievement.GetIconAsync(System.Int32)"> <summary> - Gets the icon of the achievement, waits for it to load if we have to + Gets the icon of the achievement, waits for it to load if we have to </summary> </member> <member name="P:Steamworks.Data.Achievement.GlobalUnlocked"> <summary> - Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data available. + Returns the fraction (0-1) of users who have unlocked the specified achievement, or -1 if no data + available. </summary> </member> <member name="M:Steamworks.Data.Achievement.Trigger(System.Boolean)"> <summary> - Make this achievement earned + Make this achievement earned </summary> </member> <member name="M:Steamworks.Data.Achievement.Clear"> <summary> - Reset this achievement to not achieved + Reset this achievement to not achieved </summary> </member> <member name="T:Steamworks.Data.DurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, half rate, or zero + rate. </summary> </member> <member name="P:Steamworks.Data.DurationControl.Appid"> <summary> - appid generating playtime + appid generating playtime </summary> </member> <member name="P:Steamworks.Data.DurationControl.Applicable"> <summary> - is duration control applicable to user + game combination + is duration control applicable to user + game combination </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeInLastFiveHours"> <summary> - playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in seconds + playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in + seconds </summary> </member> <member name="P:Steamworks.Data.DurationControl.PlaytimeToday"> <summary> - playtime on current calendar day + playtime on current calendar day </summary> </member> <member name="P:Steamworks.Data.DurationControl.Progress"> <summary> - recommended progress + recommended progress </summary> </member> <member name="P:Steamworks.Data.Leaderboard.Name"> <summary> - the name of a leaderboard + the name of a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.ReplaceScore(System.Int32,System.Int32[])"> <summary> - Submit your score and replace your old score even if it was better + Submit your score and replace your old score even if it was better </summary> </member> <member name="M:Steamworks.Data.Leaderboard.SubmitScoreAsync(System.Int32,System.Int32[])"> <summary> - Submit your new score, but won't replace your high score if it's lower + Submit your new score, but won't replace your high score if it's lower </summary> </member> <member name="M:Steamworks.Data.Leaderboard.AttachUgc(Steamworks.Data.Ugc)"> <summary> - Attaches a piece of user generated content the user's entry on a leaderboard + Attaches a piece of user generated content the user's entry on a leaderboard </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAsync(System.Int32,System.Int32)"> <summary> - Used to query for a sequential range of leaderboard entries by leaderboard Sort. + Used to query for a sequential range of leaderboard entries by leaderboard Sort. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresAroundUserAsync(System.Int32,System.Int32)"> <summary> - Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the leaderboard - before or after the user's entry, Steam will adjust the range to try to return the number of entries requested. - For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will return the first - 5 entries in the leaderboard. If The current user has no entry, this will return null. + Used to retrieve leaderboard entries relative a user's entry. If there are not enough entries in the + leaderboard + before or after the user's entry, Steam will adjust the range to try to return the number of entries + requested. + For example, if the user is #1 on the leaderboard and start is set to -2, end is set to 2, Steam will + return the first + 5 entries in the leaderboard. If The current user has no entry, this will return null. </summary> </member> <member name="M:Steamworks.Data.Leaderboard.GetScoresFromFriendsAsync"> <summary> - Used to retrieve all leaderboard entries for friends of the current user + Used to retrieve all leaderboard entries for friends of the current user </summary> </member> <member name="M:Steamworks.Data.Lobby.Join"> <summary> - Try to join this room. Will return RoomEnter.Success on success, - and anything else is a failure + Try to join this room. Will return RoomEnter.Success on success, + and anything else is a failure </summary> </member> <member name="M:Steamworks.Data.Lobby.Leave"> <summary> - Leave a lobby; this will take effect immediately on the client side - other users in the lobby will be notified by a LobbyChatUpdate_t callback + Leave a lobby; this will take effect immediately on the client side + other users in the lobby will be notified by a LobbyChatUpdate_t callback </summary> </member> <member name="M:Steamworks.Data.Lobby.InviteFriend(Steamworks.SteamId)"> <summary> - Invite another user to the lobby - will return true if the invite is successfully sent, whether or not the target responds - returns false if the local user is not connected to the Steam servers + Invite another user to the lobby + will return true if the invite is successfully sent, whether or not the target responds + returns false if the local user is not connected to the Steam servers </summary> </member> <member name="P:Steamworks.Data.Lobby.MemberCount"> <summary> - returns the number of users in the specified lobby + returns the number of users in the specified lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Members"> <summary> - Returns current members. Need to be in the lobby to see the users. + Returns current members. Need to be in the lobby to see the users. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetData(System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetData(System.String,System.String)"> <summary> - Get data associated with this lobby + Get data associated with this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.DeleteData(System.String)"> <summary> - Removes a metadata key from the lobby + Removes a metadata key from the lobby </summary> </member> <member name="P:Steamworks.Data.Lobby.Data"> <summary> - Get all data for this lobby + Get all data for this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.GetMemberData(Steamworks.Friend,System.String)"> <summary> - Gets per-user metadata for someone in this lobby + Gets per-user metadata for someone in this lobby </summary> </member> <member name="M:Steamworks.Data.Lobby.SetMemberData(System.String,System.String)"> <summary> - Sets per-user metadata (for the local user implicitly) + Sets per-user metadata (for the local user implicitly) </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatString(System.String)"> <summary> - Sends a string to the chat room + Sends a string to the chat room </summary> </member> <member name="M:Steamworks.Data.Lobby.SendChatBytes(System.Byte[])"> <summary> - Sends bytes the the chat room - this isn't exposed because there's no way to read raw bytes atm, - and I figure people can send json if they want something more advanced + Sends bytes the the chat room + this isn't exposed because there's no way to read raw bytes atm, + and I figure people can send json if they want something more advanced </summary> </member> <member name="M:Steamworks.Data.Lobby.Refresh"> <summary> - Refreshes metadata for a lobby you're not necessarily in right now - you never do this for lobbies you're a member of, only if your - this will send down all the metadata associated with a lobby - this is an asynchronous call - returns false if the local user is not connected to the Steam servers - results will be returned by a LobbyDataUpdate_t callback - if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + Refreshes metadata for a lobby you're not necessarily in right now + you never do this for lobbies you're a member of, only if your + this will send down all the metadata associated with a lobby + this is an asynchronous call + returns false if the local user is not connected to the Steam servers + results will be returned by a LobbyDataUpdate_t callback + if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false </summary> </member> <member name="P:Steamworks.Data.Lobby.MaxMembers"> <summary> - Max members able to join this lobby. Cannot be over 250. - Can only be set by the owner + Max members able to join this lobby. Cannot be over 250. + Can only be set by the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(Steamworks.SteamId)"> <summary> - [SteamID variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [SteamID variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.SetGameServer(System.String,System.UInt16)"> <summary> - [IP/Port variant] - Allows the owner to set the game server associated with the lobby. Triggers the - Steammatchmaking.OnLobbyGameCreated event. + [IP/Port variant] + Allows the owner to set the game server associated with the lobby. Triggers the + Steammatchmaking.OnLobbyGameCreated event. </summary> </member> <member name="M:Steamworks.Data.Lobby.GetGameServer(System.UInt32@,System.UInt16@,Steamworks.SteamId@)"> <summary> - Gets the details of the lobby's game server, if set. Returns true if the lobby is - valid and has a server set, otherwise returns false. + Gets the details of the lobby's game server, if set. Returns true if the lobby is + valid and has a server set, otherwise returns false. </summary> </member> <member name="P:Steamworks.Data.Lobby.Owner"> <summary> - You must be the lobby owner to set the owner + You must be the lobby owner to set the owner </summary> </member> <member name="M:Steamworks.Data.Lobby.IsOwnedBy(Steamworks.SteamId)"> <summary> - Check if the specified SteamId owns the lobby + Check if the specified SteamId owns the lobby </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceClose"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceFar"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.FilterDistanceWorldwide"> <summary> - only lobbies in the same immediate region will be returned + only lobbies in the same immediate region will be returned </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithKeyValue(System.String,System.String)"> <summary> - Filter by specified key/value pair; string parameters + Filter by specified key/value pair; string parameters </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithLower(System.String,System.Int32)"> <summary> - Numerical filter where value is less than the value provided + Numerical filter where value is less than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithHigher(System.String,System.Int32)"> <summary> - Numerical filter where value is greater than the value provided + Numerical filter where value is greater than the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must be equal to the value provided + Numerical filter where value must be equal to the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithNotEqual(System.String,System.Int32)"> <summary> - Numerical filter where value must not equal the value provided + Numerical filter where value must not equal the value provided </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.AddNumericalFilter(System.String,System.Int32,Steamworks.LobbyComparison)"> <summary> - Test key, initialize numerical filter list if necessary, then add new numerical filter + Test key, initialize numerical filter list if necessary, then add new numerical filter </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.OrderByNear(System.String,System.Int32)"> <summary> - Order filtered results according to key/values nearest the provided key/value pair. - Can specify multiple near value filters; each successive filter is lower priority than the previous. + Order filtered results according to key/values nearest the provided key/value pair. + Can specify multiple near value filters; each successive filter is lower priority than the previous. </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithSlotsAvailable(System.Int32)"> <summary> - returns only lobbies with the specified number of slots available + returns only lobbies with the specified number of slots available </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.WithMaxResults(System.Int32)"> <summary> - sets how many results to return, the lower the count the faster it is to download the lobby results + sets how many results to return, the lower the count the faster it is to download the lobby results </summary> </member> <member name="M:Steamworks.Data.LobbyQuery.RequestAsync"> <summary> - Run the query, get the matching lobbies + Run the query, get the matching lobbies </summary> </member> <member name="T:Steamworks.Data.OutgoingPacket"> <summary> - A server query packet. + A server query packet. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Address"> <summary> - Target IP address + Target IP address </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Port"> <summary> - Target port + Target port </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Data"> <summary> - This data is pooled. Make a copy if you don't use it immediately. - This buffer is also quite large - so pay attention to Size. + This data is pooled. Make a copy if you don't use it immediately. + This buffer is also quite large - so pay attention to Size. </summary> </member> <member name="P:Steamworks.Data.OutgoingPacket.Size"> <summary> - Size of the data + Size of the data </summary> </member> <member name="T:Steamworks.Data.RemotePlaySession"> <summary> - Represents a RemotePlaySession from the SteamRemotePlay interface + Represents a RemotePlaySession from the SteamRemotePlay interface </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.IsValid"> <summary> - Returns true if this session was valid when created. This will stay true even - after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected + Returns true if this session was valid when created. This will stay true even + after disconnection - so be sure to watch SteamRemotePlay.OnSessionDisconnected </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.SteamId"> <summary> - Get the SteamID of the connected user + Get the SteamID of the connected user </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.ClientName"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="P:Steamworks.Data.RemotePlaySession.FormFactor"> <summary> - Get the name of the session client device + Get the name of the session client device </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagUser(Steamworks.SteamId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.SetLocation(System.String)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="M:Steamworks.Data.Screenshot.TagPublishedFile(Steamworks.Data.PublishedFileId)"> <summary> - Tags a user as being visible in the screenshot + Tags a user as being visible in the screenshot </summary> </member> <member name="P:Steamworks.Data.ServerInfo.Tags"> <summary> - Gets the individual tags for this server + Gets the individual tags for this server </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToHistory"> <summary> - Add this server to our history list - If we're already in the history list, weill set the last played time to now + Add this server to our history list + If we're already in the history list, weill set the last played time to now </summary> </member> <member name="M:Steamworks.Data.ServerInfo.QueryRulesAsync"> <summary> - If this server responds to source engine style queries, we'll be able to get a list of rules here + If this server responds to source engine style queries, we'll be able to get a list of rules here </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromHistory"> <summary> - Remove this server from our history list + Remove this server from our history list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.AddToFavourites"> <summary> - Add this server to our favourite list + Add this server to our favourite list </summary> </member> <member name="M:Steamworks.Data.ServerInfo.RemoveFromFavourites"> <summary> - Remove this server from our favourite list + Remove this server from our favourite list </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultStatus(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Find out the status of an asynchronous inventory result handle. + Find out the status of an asynchronous inventory result handle. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultItems(Steamworks.Data.SteamInventoryResult_t,Steamworks.Data.SteamItemDetails_t[],System.UInt32@)"> <summary> - Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used. + Copies the contents of a result set into a flat array. The specific contents of the result set depend on + which query which was used. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetResultTimestamp(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age. + Returns the server time at which the result was generated. Compare against the value of + IClientUtils::GetServerRealTime() to determine age. </summary> </member> <member name="M:Steamworks.ISteamInventory.CheckResultSteamID(Steamworks.Data.SteamInventoryResult_t,Steamworks.SteamId)"> <summary> - Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory. + Returns true if the result belongs to the target steam ID or false if the result does not. This is + important when using DeserializeResult to verify that a remote player is not pretending to have a + different users inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.DestroyResult(Steamworks.Data.SteamInventoryResult_t)"> <summary> - Destroys a result handle and frees all associated memory. + Destroys a result handle and frees all associated memory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetAllItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - Captures the entire state of the current users Steam inventory. + Captures the entire state of the current users Steam inventory. </summary> </member> <member name="M:Steamworks.ISteamInventory.GetItemsByID(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId@,System.UInt32)"> <summary> - Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs. + Captures the state of a subset of the current users Steam inventory identified by an array of item + instance IDs. </summary> </member> <member name="M:Steamworks.ISteamInventory.GrantPromoItems(Steamworks.Data.SteamInventoryResult_t@)"> <summary> - GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only). + GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the + items (one time only). </summary> </member> <member name="M:Steamworks.ISteamInventory.ConsumeItem(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryItemId,System.UInt32)"> <summary> - ConsumeItem() removes items from the inventory permanently. + ConsumeItem() removes items from the inventory permanently. </summary> </member> <member name="M:Steamworks.ISteamInventory.SendItemDropHeartbeat"> <summary> - Deprecated method. Playtime accounting is performed on the Steam servers. + Deprecated method. Playtime accounting is performed on the Steam servers. </summary> </member> <member name="M:Steamworks.ISteamInventory.TriggerItemDrop(Steamworks.Data.SteamInventoryResult_t@,Steamworks.Data.InventoryDefId)"> <summary> - Playtime credit must be consumed and turned into item drops by your game. + Playtime credit must be consumed and turned into item drops by your game. </summary> </member> <member name="M:Steamworks.ISteamInventory.LoadItemDefinitions"> <summary> - LoadItemDefinitions triggers the automatic load and refresh of item definitions. + LoadItemDefinitions triggers the automatic load and refresh of item definitions. </summary> </member> <member name="M:Steamworks.ISteamUserStats.DownloadLeaderboardEntriesForUsers(Steamworks.Data.SteamLeaderboard_t,Steamworks.SteamId[],System.Int32)"> <summary> - Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is + k_ELeaderboardDataRequestUsers </summary> </member> <member name="P:Steamworks.ConnectionManager.Interface"> <summary> - An optional interface to use instead of deriving + An optional interface to use instead of deriving </summary> </member> <member name="F:Steamworks.ConnectionManager.Connection"> <summary> - The actual connection we're managing + The actual connection we're managing </summary> </member> <member name="P:Steamworks.ConnectionManager.ConnectionInfo"> <summary> - The last received ConnectionInfo + The last received ConnectionInfo </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We're trying to connect! + We're trying to connect! </summary> </member> <member name="M:Steamworks.ConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.ConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnecting(Steamworks.Data.ConnectionInfo)"> <summary> - We started connecting to this guy + We started connecting to this guy </summary> </member> <member name="M:Steamworks.IConnectionManager.OnConnected(Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.IConnectionManager.OnDisconnected(Steamworks.Data.ConnectionInfo)"> <summary> - We got disconnected + We got disconnected </summary> </member> <member name="M:Steamworks.IConnectionManager.OnMessage(System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message + Received a message </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Must call Accept or Close on the connection within a second or so + Must call Accept or Close on the connection within a second or so </summary> </member> <member name="M:Steamworks.ISocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection is fully connected and can start being communicated with + Called when the connection is fully connected and can start being communicated with </summary> </member> <member name="M:Steamworks.ISocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Called when the connection leaves + Called when the connection leaves </summary> </member> <member name="M:Steamworks.ISocketManager.OnMessage(Steamworks.Data.Connection,Steamworks.Data.NetIdentity,System.IntPtr,System.Int32,System.Int64,System.Int64,System.Int32)"> <summary> - Received a message from a connection + Received a message from a connection </summary> </member> <member name="T:Steamworks.SocketManager"> <summary> - Used as a base to create your networking server. This creates a socket - and listens/communicates with multiple queries. - - You can override all the virtual functions to turn it into what you - want it to do. + Used as a base to create your networking server. This creates a socket + and listens/communicates with multiple queries. + + You can override all the virtual functions to turn it into what you + want it to do. </summary> </member> <member name="M:Steamworks.SocketManager.OnConnecting(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Default behaviour is to accept every connection + Default behaviour is to accept every connection </summary> </member> <member name="M:Steamworks.SocketManager.OnConnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - Client is connected. They move from connecting to Connections + Client is connected. They move from connecting to Connections </summary> </member> <member name="M:Steamworks.SocketManager.OnDisconnected(Steamworks.Data.Connection,Steamworks.Data.ConnectionInfo)"> <summary> - The connection has been closed remotely or disconnected locally. Check data.State for details. + The connection has been closed remotely or disconnected locally. Check data.State for details. </summary> </member> <member name="P:Steamworks.ServerList.Base.AppId"> <summary> - Which app we're querying. Defaults to the current app. + Which app we're querying. Defaults to the current app. </summary> </member> <member name="E:Steamworks.ServerList.Base.OnChanges"> <summary> - When a new server is added, this function will get called + When a new server is added, this function will get called </summary> </member> <member name="E:Steamworks.ServerList.Base.OnResponsiveServer"> <summary> - Called for every responsive server + Called for every responsive server </summary> </member> <member name="F:Steamworks.ServerList.Base.Responsive"> <summary> - A list of servers that responded. If you're only interested in servers that responded since you - last updated, then simply clear this list. + A list of servers that responded. If you're only interested in servers that responded since you + last updated, then simply clear this list. </summary> </member> <member name="F:Steamworks.ServerList.Base.Unresponsive"> <summary> - A list of servers that were in the master list but didn't respond. + A list of servers that were in the master list but didn't respond. </summary> </member> <member name="M:Steamworks.ServerList.Base.RunQueryAsync(System.Single)"> <summary> - Query the server list. Task result will be true when finished + Query the server list. Task result will be true when finished </summary> <returns></returns> </member> <member name="T:Steamworks.SteamApps"> <summary> - Exposes a wide range of information and actions for applications and Downloadable Content (DLC). + Exposes a wide range of information and actions for applications and Downloadable Content (DLC). </summary> </member> <member name="E:Steamworks.SteamApps.OnDlcInstalled"> <summary> - posted after the user gains ownership of DLC and that DLC is installed + posted after the user gains ownership of DLC and that DLC is installed </summary> </member> <member name="E:Steamworks.SteamApps.OnNewLaunchParameters"> <summary> - posted after the user gains executes a Steam URL with command line or query parameters - such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc - while the game is already running. The new params can be queried - with GetLaunchQueryParam and GetLaunchCommandLine + posted after the user gains executes a Steam URL with command line or query parameters + such as steam://run/appid//-commandline/?param1=value1(and)param2=value2(and)param3=value3 etc + while the game is already running. The new params can be queried + with GetLaunchQueryParam and GetLaunchCommandLine </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribed"> <summary> - Checks if the active user is subscribed to the current App ID + Checks if the active user is subscribed to the current App ID </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFamilySharing"> <summary> - Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID + Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender + SteamID </summary> </member> <member name="P:Steamworks.SteamApps.IsLowVoilence"> <summary> - Checks if the license owned by the user provides low violence depots. - Low violence depots are useful for copies sold in countries that have content restrictions + Checks if the license owned by the user provides low violence depots. + Low violence depots are useful for copies sold in countries that have content restrictions </summary> </member> <member name="P:Steamworks.SteamApps.IsCybercafe"> <summary> - Checks whether the current App ID license is for Cyber Cafes. + Checks whether the current App ID license is for Cyber Cafes. </summary> </member> <member name="P:Steamworks.SteamApps.IsVACBanned"> <summary> - CChecks if the user has a VAC ban on their account + CChecks if the user has a VAC ban on their account </summary> </member> <member name="P:Steamworks.SteamApps.GameLanguage"> <summary> - Gets the current language that the user has set. - This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. + Gets the current language that the user has set. + This falls back to the Steam UI language if the user hasn't explicitly picked a language for the title. </summary> </member> <member name="P:Steamworks.SteamApps.AvailableLanguages"> <summary> - Gets a list of the languages the current app supports. + Gets a list of the languages the current app supports. </summary> </member> <member name="M:Steamworks.SteamApps.IsSubscribedToApp(Steamworks.AppId)"> <summary> - Checks if the active user is subscribed to a specified AppId. - Only use this if you need to check ownership of another game related to yours, a demo for example. + Checks if the active user is subscribed to a specified AppId. + Only use this if you need to check ownership of another game related to yours, a demo for example. </summary> </member> <member name="M:Steamworks.SteamApps.IsDlcInstalled(Steamworks.AppId)"> <summary> - Checks if the user owns a specific DLC and if the DLC is installed + Checks if the user owns a specific DLC and if the DLC is installed </summary> </member> <member name="M:Steamworks.SteamApps.PurchaseTime(Steamworks.AppId)"> <summary> - Returns the time of the purchase of the app + Returns the time of the purchase of the app </summary> </member> <member name="P:Steamworks.SteamApps.IsSubscribedFromFreeWeekend"> <summary> - Checks if the user is subscribed to the current app through a free weekend - This function will return false for users who have a retail or other type of license - Before using, please ask your Valve technical contact how to package and secure your free weekened + Checks if the user is subscribed to the current app through a free weekend + This function will return false for users who have a retail or other type of license + Before using, please ask your Valve technical contact how to package and secure your free weekened </summary> </member> <member name="M:Steamworks.SteamApps.DlcInformation"> <summary> - Returns metadata for all available DLC + Returns metadata for all available DLC </summary> </member> <member name="M:Steamworks.SteamApps.InstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="M:Steamworks.SteamApps.UninstallDlc(Steamworks.AppId)"> <summary> - Install/Uninstall control for optional DLC + Install/Uninstall control for optional DLC </summary> </member> <member name="P:Steamworks.SteamApps.CurrentBetaName"> <summary> - Returns null if we're not on a beta branch, else the name of the branch + Returns null if we're not on a beta branch, else the name of the branch </summary> </member> <member name="M:Steamworks.SteamApps.MarkContentCorrupt(System.Boolean)"> - <summary> - Allows you to force verify game content on next launch. - - If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a server), - you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. - </summary> + <summary> + Allows you to force verify game content on next launch. + + If you detect the game is out-of-date(for example, by having the client detect a version mismatch with a + server), + you can call use MarkContentCorrupt to force a verify, show a message to the user, and then quit. + </summary> </member> <member name="M:Steamworks.SteamApps.InstalledDepots(Steamworks.AppId)"> <summary> - Gets a list of all installed depots for a given App ID in mount order + Gets a list of all installed depots for a given App ID in mount order </summary> </member> <member name="M:Steamworks.SteamApps.AppInstallDir(Steamworks.AppId)"> <summary> - Gets the install folder for a specific AppID. - This works even if the application is not installed, based on where the game would be installed with the default Steam library location. + Gets the install folder for a specific AppID. + This works even if the application is not installed, based on where the game would be installed with the + default Steam library location. </summary> </member> <member name="M:Steamworks.SteamApps.IsAppInstalled(Steamworks.AppId)"> <summary> - The app may not actually be owned by the current user, they may have it left over from a free weekend, etc. + The app may not actually be owned by the current user, they may have it left over from a free weekend, + etc. </summary> </member> <member name="P:Steamworks.SteamApps.AppOwner"> <summary> - Gets the Steam ID of the original owner of the current app. If it's different from the current user then it is borrowed.. + Gets the Steam ID of the original owner of the current app. If it's different from the current user then + it is borrowed.. </summary> </member> <member name="M:Steamworks.SteamApps.GetLaunchParam(System.String)"> <summary> - Gets the associated launch parameter if the game is run via steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. - Parameter names starting with the character '@' are reserved for internal use and will always return an empty string. - Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, - but it is advised that you not param names beginning with an underscore for your own features. + Gets the associated launch parameter if the game is run via + steam://run/appid/?param1=value1;param2=value2;param3=value3 etc. + Parameter names starting with the character '@' are reserved for internal use and will always return an + empty string. + Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried + by the game, + but it is advised that you not param names beginning with an underscore for your own features. </summary> </member> <member name="M:Steamworks.SteamApps.DlcDownloadProgress(Steamworks.AppId)"> <summary> - Gets the download progress for optional DLC. + Gets the download progress for optional DLC. </summary> </member> <member name="P:Steamworks.SteamApps.BuildId"> <summary> - Gets the buildid of this app, may change at any time based on backend updates to the game. - Defaults to 0 if you're not running a build downloaded from steam. + Gets the buildid of this app, may change at any time based on backend updates to the game. + Defaults to 0 if you're not running a build downloaded from steam. </summary> </member> <member name="M:Steamworks.SteamApps.GetFileDetailsAsync(System.String)"> <summary> - Asynchronously retrieves metadata details about a specific file in the depot manifest. - Currently provides: + Asynchronously retrieves metadata details about a specific file in the depot manifest. + Currently provides: </summary> </member> <member name="P:Steamworks.SteamApps.CommandLine"> <summary> - Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. - This method of passing a connect string (used when joining via rich presence, accepting an - invite, etc) is preferable to passing the connect string on the operating system command - line, which is a security risk. In order for rich presence joins to go through this - path and not be placed on the OS command line, you must set a value in your app's - configuration on Steam. Ask Valve for help with this. + Get command line if game was launched via Steam URL, e.g. steam://run/appid//command line/. + This method of passing a connect string (used when joining via rich presence, accepting an + invite, etc) is preferable to passing the connect string on the operating system command + line, which is a security risk. In order for rich presence joins to go through this + path and not be placed on the OS command line, you must set a value in your app's + configuration on Steam. Ask Valve for help with this. </summary> </member> <member name="M:Steamworks.SteamClient.Init(System.UInt32,System.Boolean)"> <summary> - Initialize the steam client. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam client. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="P:Steamworks.SteamClient.IsLoggedOn"> <summary> - Checks if the current user's Steam client is connected to the Steam servers. - If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam - client will automatically be trying to recreate the connection as often as possible. When the - connection is restored a SteamServersConnected_t callback will be posted. - You usually don't need to check for this yourself. All of the API calls that rely on this will - check internally. Forcefully disabling stuff when the player loses access is usually not a - very good experience for the player and you could be preventing them from accessing APIs that do not - need a live connection to Steam. + Checks if the current user's Steam client is connected to the Steam servers. + If it's not then no real-time services provided by the Steamworks API will be enabled. The Steam + client will automatically be trying to recreate the connection as often as possible. When the + connection is restored a SteamServersConnected_t callback will be posted. + You usually don't need to check for this yourself. All of the API calls that rely on this will + check internally. Forcefully disabling stuff when the player loses access is usually not a + very good experience for the player and you could be preventing them from accessing APIs that do not + need a live connection to Steam. </summary> </member> <member name="P:Steamworks.SteamClient.SteamId"> <summary> - Gets the Steam ID of the account currently logged into the Steam client. This is - commonly called the 'current user', or 'local user'. - A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat - rooms, and used to differentiate users in all parts of the Steamworks API. + Gets the Steam ID of the account currently logged into the Steam client. This is + commonly called the 'current user', or 'local user'. + A Steam ID is a unique identifier for a Steam accounts, Steam groups, Lobbies and Chat + rooms, and used to differentiate users in all parts of the Steamworks API. </summary> </member> <member name="P:Steamworks.SteamClient.Name"> <summary> - returns the local players name - guaranteed to not be NULL. - this is the same name as on the users community profile page + returns the local players name - guaranteed to not be NULL. + this is the same name as on the users community profile page </summary> </member> <member name="P:Steamworks.SteamClient.State"> <summary> - gets the status of the current user + gets the status of the current user </summary> </member> <member name="P:Steamworks.SteamClient.AppId"> <summary> - returns the appID of the current process + returns the appID of the current process </summary> </member> <member name="M:Steamworks.SteamClient.RestartAppIfNecessary(System.UInt32)"> <summary> - Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't - this returns true then it starts the Steam client if required and launches your game again through it, - and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it - may not relaunch the exact executable that called it, as it will always relaunch from the version - installed in your Steam library folder/ - Note that during development, when not launching via Steam, this might always return true. + Checks if your executable was launched through Steam and relaunches it through Steam if it wasn't + this returns true then it starts the Steam client if required and launches your game again through it, + and you should quit your process as soon as possible. This effectively runs steam://run/AppId so it + may not relaunch the exact executable that called it, as it will always relaunch from the version + installed in your Steam library folder/ + Note that during development, when not launching via Steam, this might always return true. </summary> </member> <member name="M:Steamworks.SteamClient.ValidCheck"> <summary> - Called in interfaces that rely on this being initialized + Called in interfaces that rely on this being initialized </summary> </member> <member name="T:Steamworks.SteamFriends"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamFriends.OnChatMessage"> <summary> - Called when chat message has been received from a friend. You'll need to turn on - ListenForFriendsMessages to recieve this. (friend, msgtype, message) + Called when chat message has been received from a friend. You'll need to turn on + ListenForFriendsMessages to recieve this. (friend, msgtype, message) </summary> </member> <member name="E:Steamworks.SteamFriends.OnPersonaStateChange"> <summary> - called when a friends' status changes + called when a friends' status changes </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameRichPresenceJoinRequested"> <summary> - Called when the user tries to join a game from their friends list - rich presence will have been set with the "connect" key which is set here + Called when the user tries to join a game from their friends list + rich presence will have been set with the "connect" key which is set here </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameOverlayActivated"> <summary> - Posted when game overlay activates or deactivates - the game can use this to be pause or resume single player games + Posted when game overlay activates or deactivates + the game can use this to be pause or resume single player games </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameServerChangeRequested"> <summary> - Called when the user tries to join a different game server from their friends list - game client should attempt to connect to specified server when this is received + Called when the user tries to join a different game server from their friends list + game client should attempt to connect to specified server when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnGameLobbyJoinRequested"> <summary> - Called when the user tries to join a lobby from their friends list - game client should attempt to connect to specified lobby when this is received + Called when the user tries to join a lobby from their friends list + game client should attempt to connect to specified lobby when this is received </summary> </member> <member name="E:Steamworks.SteamFriends.OnFriendRichPresenceUpdate"> <summary> - Callback indicating updated data about friends rich presence information + Callback indicating updated data about friends rich presence information </summary> </member> <member name="M:Steamworks.SteamFriends.OpenOverlay(System.String)"> <summary> - The dialog to open. Valid options are: - "friends", - "community", - "players", - "settings", - "officialgamegroup", - "stats", - "achievements". + The dialog to open. Valid options are: + "friends", + "community", + "players", + "settings", + "officialgamegroup", + "stats", + "achievements". </summary> </member> <member name="M:Steamworks.SteamFriends.OpenUserOverlay(Steamworks.SteamId,System.String)"> <summary> - "steamid" - Opens the overlay web browser to the specified user or groups profile. - "chat" - Opens a chat window to the specified user, or joins the group chat. - "jointrade" - Opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API. - "stats" - Opens the overlay web browser to the specified user's stats. - "achievements" - Opens the overlay web browser to the specified user's achievements. - "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. - "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. - "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming friend invite. - "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming friend invite. + "steamid" - Opens the overlay web browser to the specified user or groups profile. + "chat" - Opens a chat window to the specified user, or joins the group chat. + "jointrade" - Opens a window to a Steam Trading session that was started with the + ISteamEconomy/StartTrade Web API. + "stats" - Opens the overlay web browser to the specified user's stats. + "achievements" - Opens the overlay web browser to the specified user's achievements. + "friendadd" - Opens the overlay in minimal mode prompting the user to add the target user as a friend. + "friendremove" - Opens the overlay in minimal mode prompting the user to remove the target friend. + "friendrequestaccept" - Opens the overlay in minimal mode prompting the user to accept an incoming + friend invite. + "friendrequestignore" - Opens the overlay in minimal mode prompting the user to ignore an incoming + friend invite. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenStoreOverlay(Steamworks.AppId)"> <summary> - Activates the Steam Overlay to the Steam store page for the provided app. + Activates the Steam Overlay to the Steam store page for the provided app. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenWebOverlay(System.String,System.Boolean)"> <summary> - Activates Steam Overlay web browser directly to the specified URL. + Activates Steam Overlay web browser directly to the specified URL. </summary> </member> <member name="M:Steamworks.SteamFriends.OpenGameInviteOverlay(Steamworks.SteamId)"> <summary> - Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the provided lobby. + Activates the Steam Overlay to open the invite dialog. Invitations sent from this dialog will be for the + provided lobby. </summary> </member> <member name="M:Steamworks.SteamFriends.SetPlayedWith(Steamworks.SteamId)"> <summary> - Mark a target user as 'played with'. - NOTE: The current user must be in game with the other player for the association to work. + Mark a target user as 'played with'. + NOTE: The current user must be in game with the other player for the association to work. </summary> </member> <member name="M:Steamworks.SteamFriends.RequestUserInformation(Steamworks.SteamId,System.Boolean)"> <summary> - Requests the persona name and optionally the avatar of a specified user. - NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them. - returns true if we're fetching the data, false if we already have it + Requests the persona name and optionally the avatar of a specified user. + NOTE: It's a lot slower to download avatars and churns the local cache, so if you don't need avatars, + don't request them. + returns true if we're fetching the data, false if we already have it </summary> </member> <member name="M:Steamworks.SteamFriends.GetRichPresence(System.String)"> <summary> - Find a rich presence value by key for current user. Will be null if not found. + Find a rich presence value by key for current user. Will be null if not found. </summary> </member> <member name="M:Steamworks.SteamFriends.SetRichPresence(System.String,System.String)"> <summary> - Sets a rich presence value by key for current user. + Sets a rich presence value by key for current user. </summary> </member> <member name="M:Steamworks.SteamFriends.ClearRichPresence"> <summary> - Clears all of the current user's rich presence data. + Clears all of the current user's rich presence data. </summary> </member> <member name="P:Steamworks.SteamFriends.ListenForFriendsMessages"> <summary> - Listens for Steam friends chat messages. - You can then show these chats inline in the game. For example with a Blizzard style chat message system or the chat system in Dota 2. - After enabling this you will receive callbacks when ever the user receives a chat message. + Listens for Steam friends chat messages. + You can then show these chats inline in the game. For example with a Blizzard style chat message system + or the chat system in Dota 2. + After enabling this you will receive callbacks when ever the user receives a chat message. </summary> </member> <member name="M:Steamworks.SteamInput.RunFrame"> <summary> - You shouldn't really need to call this because it get called by RunCallbacks on SteamClient - but Valve think it might be a nice idea if you call it right before you get input info - - just to make sure the info you're getting is 100% up to date. + You shouldn't really need to call this because it get called by RunCallbacks on SteamClient + but Valve think it might be a nice idea if you call it right before you get input info - + just to make sure the info you're getting is 100% up to date. </summary> </member> <member name="P:Steamworks.SteamInput.Controllers"> <summary> - Return a list of connected controllers. + Return a list of connected controllers. </summary> </member> <member name="M:Steamworks.SteamInput.GetDigitalActionGlyph(Steamworks.Controller,System.String)"> <summary> - Return an absolute path to the PNG image glyph for the provided digital action name. The current - action set in use for the controller will be used for the lookup. You should cache the result and - maintain your own list of loaded PNG assets. + Return an absolute path to the PNG image glyph for the provided digital action name. The current + action set in use for the controller will be used for the lookup. You should cache the result and + maintain your own list of loaded PNG assets. </summary> <param name="controller"></param> <param name="action"></param> @@ -1363,980 +1392,997 @@ </member> <member name="T:Steamworks.SteamInventory"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamInventory.LoadItemDefinitions"> <summary> - Call this if you're going to want to access definition information. You should be able to get - away with calling this once at the start if your game, assuming your items don't change all the time. - This will trigger OnDefinitionsUpdated at which point Definitions should be set. + Call this if you're going to want to access definition information. You should be able to get + away with calling this once at the start if your game, assuming your items don't change all the time. + This will trigger OnDefinitionsUpdated at which point Definitions should be set. </summary> </member> <member name="M:Steamworks.SteamInventory.WaitForDefinitions(System.Single)"> <summary> - Will call LoadItemDefinitions and wait until Definitions is not null + Will call LoadItemDefinitions and wait until Definitions is not null </summary> </member> <member name="M:Steamworks.SteamInventory.FindDefinition(Steamworks.Data.InventoryDefId)"> <summary> - Try to find the definition that matches this definition ID. - Uses a dictionary so should be about as fast as possible. + Try to find the definition that matches this definition ID. + Uses a dictionary so should be about as fast as possible. </summary> </member> <member name="P:Steamworks.SteamInventory.Items"> <summary> - We will try to keep this list of your items automatically up to date. + We will try to keep this list of your items automatically up to date. </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItems"> <summary> - Update the list of Items[] + Update the list of Items[] </summary> </member> <member name="M:Steamworks.SteamInventory.GetAllItemsAsync"> <summary> - Get all items and return the InventoryResult + Get all items and return the InventoryResult </summary> </member> <member name="M:Steamworks.SteamInventory.GenerateItemAsync(Steamworks.InventoryDef,System.Int32)"> <summary> - This is used to grant a specific item to the user. This should - only be used for development prototyping, from a trusted server, - or if you don't care about hacked clients granting arbitrary items. - This call can be disabled by a setting on Steamworks. + This is used to grant a specific item to the user. This should + only be used for development prototyping, from a trusted server, + or if you don't care about hacked clients granting arbitrary items. + This call can be disabled by a setting on Steamworks. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.CraftItemAsync(Steamworks.InventoryItem.Amount[],Steamworks.InventoryDef)"> <summary> - Crafting! Uses the passed items to buy the target item. - You need to have set up the appropriate exchange rules in your item - definitions. This assumes all the items passed in aren't stacked. + Crafting! Uses the passed items to buy the target item. + You need to have set up the appropriate exchange rules in your item + definitions. This assumes all the items passed in aren't stacked. </summary> </member> <member name="M:Steamworks.SteamInventory.DeserializeAsync(System.Byte[],System.Int32)"> <summary> - Deserializes a result set and verifies the signature bytes. - This call has a potential soft-failure mode where the Result is expired, it will - still succeed in this mode.The "expired" - result could indicate that the data may be out of date - not just due to timed - expiration( one hour ), but also because one of the items in the result set may - have been traded or consumed since the result set was generated.You could compare - the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine - how old the data is. You could simply ignore the "expired" result code and - continue as normal, or you could request the player with expired data to send - an updated result set. - You should call CheckResultSteamID on the result handle when it completes to verify - that a remote player is not pretending to have a different user's inventory. + Deserializes a result set and verifies the signature bytes. + This call has a potential soft-failure mode where the Result is expired, it will + still succeed in this mode.The "expired" + result could indicate that the data may be out of date - not just due to timed + expiration( one hour ), but also because one of the items in the result set may + have been traded or consumed since the result set was generated.You could compare + the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine + how old the data is. You could simply ignore the "expired" result code and + continue as normal, or you could request the player with expired data to send + an updated result set. + You should call CheckResultSteamID on the result handle when it completes to verify + that a remote player is not pretending to have a different user's inventory. </summary> </member> <member name="M:Steamworks.SteamInventory.GrantPromoItemsAsync"> <summary> - Grant all promotional items the user is eligible for + Grant all promotional items the user is eligible for </summary> </member> <member name="M:Steamworks.SteamInventory.TriggerItemDropAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger an item drop for this user. This is for timed drops. + Trigger an item drop for this user. This is for timed drops. </summary> </member> <member name="M:Steamworks.SteamInventory.AddPromoItemAsync(Steamworks.Data.InventoryDefId)"> <summary> - Trigger a promo item drop. You can call this at startup, it won't - give users multiple promo drops. + Trigger a promo item drop. You can call this at startup, it won't + give users multiple promo drops. </summary> </member> <member name="M:Steamworks.SteamInventory.StartPurchaseAsync(Steamworks.InventoryDef[])"> <summary> - Start buying a cart load of items. This will return a positive result is the purchase has - begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. + Start buying a cart load of items. This will return a positive result is the purchase has + begun. You should listen out for SteamUser.OnMicroTxnAuthorizationResponse for a success. </summary> </member> <member name="T:Steamworks.SteamMatchmaking"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="P:Steamworks.SteamMatchmaking.MaxLobbyKeyLength"> <summary> - Maximum number of characters a lobby metadata key can be + Maximum number of characters a lobby metadata key can be </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyInvite"> <summary> - Someone invited you to a lobby + Someone invited you to a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyEntered"> <summary> - You joined a lobby + You joined a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyCreated"> <summary> - You created a lobby + You created a lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyGameCreated"> <summary> - A game server has been associated with the lobby + A game server has been associated with the lobby </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyDataChanged"> <summary> - The lobby metadata has changed + The lobby metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDataChanged"> <summary> - The lobby member metadata has changed + The lobby member metadata has changed </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberJoined"> <summary> - The lobby member joined + The lobby member joined </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberLeave"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberDisconnected"> <summary> - The lobby member left the room + The lobby member left the room </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberKicked"> <summary> - The lobby member was kicked. The 3rd param is the user that kicked them. + The lobby member was kicked. The 3rd param is the user that kicked them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnLobbyMemberBanned"> <summary> - The lobby member was banned. The 3rd param is the user that banned them. + The lobby member was banned. The 3rd param is the user that banned them. </summary> </member> <member name="E:Steamworks.SteamMatchmaking.OnChatMessage"> <summary> - A chat message was recieved from a member of a lobby + A chat message was recieved from a member of a lobby </summary> </member> <member name="M:Steamworks.SteamMatchmaking.CreateLobbyAsync(System.Int32)"> <summary> - Creates a new invisible lobby. Call lobby.SetPublic to take it online. + Creates a new invisible lobby. Call lobby.SetPublic to take it online. </summary> </member> <member name="M:Steamworks.SteamMatchmaking.JoinLobbyAsync(Steamworks.SteamId)"> <summmary> - Attempts to directly join the specified lobby + Attempts to directly join the specified lobby </summmary> </member> <member name="M:Steamworks.SteamMatchmaking.GetFavoriteServers"> <summary> - Get a list of servers that are on your favorites list + Get a list of servers that are on your favorites list </summary> </member> <member name="M:Steamworks.SteamMatchmaking.GetHistoryServers"> <summary> - Get a list of servers that you have added to your play history + Get a list of servers that you have added to your play history </summary> </member> <member name="T:Steamworks.SteamMatchmakingServers"> <summary> - Functions for clients to access matchmaking services, favorites, and to operate on game lobbies + Functions for clients to access matchmaking services, favorites, and to operate on game lobbies </summary> </member> <member name="T:Steamworks.SteamMusic"> <summary> - Functions to control music playback in the steam client. - This gives games the opportunity to do things like pause the music or lower the volume, - when an important cut scene is shown, and start playing afterwards. - Nothing uses Steam Music though so this can probably get fucked + Functions to control music playback in the steam client. + This gives games the opportunity to do things like pause the music or lower the volume, + when an important cut scene is shown, and start playing afterwards. + Nothing uses Steam Music though so this can probably get fucked </summary> </member> <member name="E:Steamworks.SteamMusic.OnPlaybackChanged"> <summary> - Playback status changed + Playback status changed </summary> </member> <member name="E:Steamworks.SteamMusic.OnVolumeChanged"> <summary> - Volume changed, parameter is new volume + Volume changed, parameter is new volume </summary> </member> <member name="P:Steamworks.SteamMusic.IsEnabled"> <summary> - Checks if Steam Music is enabled + Checks if Steam Music is enabled </summary> </member> <member name="P:Steamworks.SteamMusic.IsPlaying"> <summary> - true if a song is currently playing, paused, or queued up to play; otherwise false. + true if a song is currently playing, paused, or queued up to play; otherwise false. </summary> </member> <member name="P:Steamworks.SteamMusic.Status"> <summary> - Gets the current status of the Steam Music player + Gets the current status of the Steam Music player </summary> </member> <member name="M:Steamworks.SteamMusic.PlayPrevious"> <summary> - Have the Steam Music player play the previous song. + Have the Steam Music player play the previous song. </summary> </member> <member name="M:Steamworks.SteamMusic.PlayNext"> <summary> - Have the Steam Music player skip to the next song + Have the Steam Music player skip to the next song </summary> </member> <member name="P:Steamworks.SteamMusic.Volume"> <summary> - Gets/Sets the current volume of the Steam Music player + Gets/Sets the current volume of the Steam Music player </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PSessionRequest"> <summary> - This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser - if you want to recieve their messages + This SteamId wants to send you a message. You should respond by calling AcceptP2PSessionWithUser + if you want to recieve their messages </summary> </member> <member name="F:Steamworks.SteamNetworking.OnP2PConnectionFailed"> <summary> - Called when packets can't get through to the specified user. - All queued packets unsent at this point will be dropped, further attempts - to send will retry making the connection (but will be dropped if we fail again). + Called when packets can't get through to the specified user. + All queued packets unsent at this point will be dropped, further attempts + to send will retry making the connection (but will be dropped if we fail again). </summary> </member> <member name="M:Steamworks.SteamNetworking.AcceptP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called in response to a OnP2PSessionRequest + This should be called in response to a OnP2PSessionRequest </summary> </member> <member name="M:Steamworks.SteamNetworking.AllowP2PPacketRelay(System.Boolean)"> <summary> - Allow or disallow P2P connects to fall back on Steam server relay if direct - connection or NAT traversal can't be established. Applies to connections - created after setting or old connections that need to reconnect. + Allow or disallow P2P connects to fall back on Steam server relay if direct + connection or NAT traversal can't be established. Applies to connections + created after setting or old connections that need to reconnect. </summary> </member> <member name="M:Steamworks.SteamNetworking.CloseP2PSessionWithUser(Steamworks.SteamId)"> <summary> - This should be called when you're done communicating with a user, as this will - free up all of the resources allocated for the connection under-the-hood. - If the remote user tries to send data to you again, a new OnP2PSessionRequest - callback will be posted + This should be called when you're done communicating with a user, as this will + free up all of the resources allocated for the connection under-the-hood. + If the remote user tries to send data to you again, a new OnP2PSessionRequest + callback will be posted </summary> </member> <member name="M:Steamworks.SteamNetworking.IsP2PPacketAvailable(System.Int32)"> <summary> - Checks if a P2P packet is available to read, and gets the size of the message if there is one. + Checks if a P2P packet is available to read, and gets the size of the message if there is one. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte[],System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.ReadP2PPacket(System.Byte*,System.UInt32,System.UInt32@,Steamworks.SteamId@,System.Int32)"> <summary> - Reads in a packet that has been sent from another user via SendP2PPacket.. + Reads in a packet that has been sent from another user via SendP2PPacket.. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte[],System.Int32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworking.SendP2PPacket(Steamworks.SteamId,System.Byte*,System.UInt32,System.Int32,Steamworks.P2PSend)"> <summary> - Sends a P2P packet to the specified user. - This is a session-less API which automatically establishes NAT-traversing or Steam relay server connections. - NOTE: The first packet send may be delayed as the NAT-traversal code runs. + Sends a P2P packet to the specified user. + This is a session-less API which automatically establishes NAT-traversing or Steam relay server + connections. + NOTE: The first packet send may be delayed as the NAT-traversal code runs. </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket``1(Steamworks.Data.NetAddress)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6) - - To use this derive a class from SocketManager and override as much as you want. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6) + + To use this derive a class from SocketManager and override as much as you want. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateNormalSocket(Steamworks.Data.NetAddress,Steamworks.ISocketManager)"> <summary> - Creates a "server" socket that listens for clients to connect to by calling - Connect, over ordinary UDP (IPv4 or IPv6). - - To use this you should pass a class that inherits ISocketManager. You can use - SocketManager to get connections and send messages, but the ISocketManager class - will received all the appropriate callbacks. - + Creates a "server" socket that listens for clients to connect to by calling + Connect, over ordinary UDP (IPv4 or IPv6). + + To use this you should pass a class that inherits ISocketManager. You can use + SocketManager to get connections and send messages, but the ISocketManager class + will received all the appropriate callbacks. + </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal``1(Steamworks.Data.NetAddress)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectNormal(Steamworks.Data.NetAddress,Steamworks.IConnectionManager)"> <summary> - Connect to a socket created via <method>CreateListenSocketIP</method> + Connect to a socket created via + <method>CreateListenSocketIP</method> </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.CreateRelaySocket``1(System.Int32)"> <summary> - Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) + Creates a server that will be relayed via Valve's network (hiding the IP and improving ping) </summary> </member> <member name="M:Steamworks.SteamNetworkingSockets.ConnectRelay``1(Steamworks.SteamId,System.Int32)"> <summary> - Connect to a relay server + Connect to a relay server </summary> </member> <member name="T:Steamworks.SteamNetworkingUtils"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamNetworkingUtils.OnDebugOutput"> <summary> - A function to receive debug network information on. This will do nothing - unless you set DebugLevel to something other than None. - - You should set this to an appropriate level instead of setting it to the highest - and then filtering it by hand because a lot of energy is used by creating the strings - and your frame rate will tank and you won't know why. + A function to receive debug network information on. This will do nothing + unless you set DebugLevel to something other than None. + + You should set this to an appropriate level instead of setting it to the highest + and then filtering it by hand because a lot of energy is used by creating the strings + and your frame rate will tank and you won't know why. </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Status"> <summary> - The latest available status gathered from the SteamRelayNetworkStatus callback + The latest available status gathered from the SteamRelayNetworkStatus callback </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.InitRelayNetworkAccess"> - <summary> - If you know that you are going to be using the relay network (for example, - because you anticipate making P2P connections), call this to initialize the - relay network. If you do not call this, the initialization will - be delayed until the first time you use a feature that requires access - to the relay network, which will delay that first access. - - You can also call this to force a retry if the previous attempt has failed. - Performing any action that requires access to the relay network will also - trigger a retry, and so calling this function is never strictly necessary, - but it can be useful to call it a program launch time, if access to the - relay network is anticipated. - - Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t - callbacks to know when initialization has completed. - Typically initialization completes in a few seconds. - - Note: dedicated servers hosted in known data centers do *not* need - to call this, since they do not make routing decisions. However, if - the dedicated server will be using P2P functionality, it will act as - a "client" and this should be called. - </summary> + <summary> + If you know that you are going to be using the relay network (for example, + because you anticipate making P2P connections), call this to initialize the + relay network. If you do not call this, the initialization will + be delayed until the first time you use a feature that requires access + to the relay network, which will delay that first access. + + You can also call this to force a retry if the previous attempt has failed. + Performing any action that requires access to the relay network will also + trigger a retry, and so calling this function is never strictly necessary, + but it can be useful to call it a program launch time, if access to the + relay network is anticipated. + + Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + callbacks to know when initialization has completed. + Typically initialization completes in a few seconds. + + Note: dedicated servers hosted in known data centers do *not* need + to call this, since they do not make routing decisions. However, if + the dedicated server will be using P2P functionality, it will act as + a "client" and this should be called. + </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.LocalPingLocation"> - <summary> - Return location info for the current host. - - It takes a few seconds to initialize access to the relay network. If - you call this very soon after startup the data may not be available yet. - - This always return the most up-to-date information we have available - right now, even if we are in the middle of re-calculating ping times. - </summary> + <summary> + Return location info for the current host. + + It takes a few seconds to initialize access to the relay network. If + you call this very soon after startup the data may not be available yet. + + This always return the most up-to-date information we have available + right now, even if we are in the middle of re-calculating ping times. + </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.EstimatePingTo(Steamworks.Data.NetPingLocation)"> <summary> - Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. - This is a bit faster, especially if you need to calculate a bunch of - these in a loop to find the fastest one. + Same as PingLocation.EstimatePingTo, but assumes that one location is the local host. + This is a bit faster, especially if you need to calculate a bunch of + these in a loop to find the fastest one. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.WaitForPingDataAsync(System.Single)"> <summary> - If you need ping information straight away, wait on this. It will return - immediately if you already have up to date ping data + If you need ping information straight away, wait on this. It will return + immediately if you already have up to date ping data </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLoss"> <summary> - [0 - 100] - Randomly discard N pct of packets + [0 - 100] - Randomly discard N pct of packets </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeSendPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.FakeRecvPacketLag"> <summary> - Delay all packets by N ms + Delay all packets by N ms </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.ConnectionTimeout"> <summary> - Timeout value (in ms) to use when first connecting + Timeout value (in ms) to use when first connecting </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.Timeout"> <summary> - Timeout value (in ms) to use after connection is established + Timeout value (in ms) to use after connection is established </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.SendBufferSize"> <summary> - Upper limit of buffered pending bytes to be sent. - If this is reached SendMessage will return LimitExceeded. - Default is 524288 bytes (512k) + Upper limit of buffered pending bytes to be sent. + If this is reached SendMessage will return LimitExceeded. + Default is 524288 bytes (512k) </summary> </member> <member name="P:Steamworks.SteamNetworkingUtils.DebugLevel"> <summary> - Get Debug Information via OnDebugOutput event - - Except when debugging, you should only use NetDebugOutput.Msg - or NetDebugOutput.Warning. For best performance, do NOT - request a high detail level and then filter out messages in the callback. - - This incurs all of the expense of formatting the messages, which are then discarded. - Setting a high priority value (low numeric value) here allows the library to avoid - doing this work. + Get Debug Information via OnDebugOutput event + + Except when debugging, you should only use NetDebugOutput.Msg + or NetDebugOutput.Warning. For best performance, do NOT + request a high detail level and then filter out messages in the callback. + + This incurs all of the expense of formatting the messages, which are then discarded. + Setting a high priority value (low numeric value) here allows the library to avoid + doing this work. </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugLevel"> <summary> - So we can remember and provide a Get for DebugLEvel + So we can remember and provide a Get for DebugLEvel </summary> </member> <member name="F:Steamworks.SteamNetworkingUtils._debugFunc"> <summary> - We need to keep the delegate around until it's not used anymore + We need to keep the delegate around until it's not used anymore </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OnDebugMessage(Steamworks.NetDebugOutput,System.IntPtr)"> <summary> - This can be called from other threads - so we're going to queue these up and process them in a safe place. + This can be called from other threads - so we're going to queue these up and process them in a safe + place. </summary> </member> <member name="M:Steamworks.SteamNetworkingUtils.OutputDebugMessages"> <summary> - Called regularly from the Dispatch loop so we can provide a timely - stream of messages. + Called regularly from the Dispatch loop so we can provide a timely + stream of messages. </summary> </member> <member name="T:Steamworks.SteamParental"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamParental.OnSettingsChanged"> <summary> - Parental Settings Changed + Parental Settings Changed </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockEnabled"> <summary> - + </summary> </member> <member name="P:Steamworks.SteamParental.IsParentalLockLocked"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsAppBlocked(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsAppInBlockList(Steamworks.AppId)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.IsFeatureBlocked(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="M:Steamworks.SteamParental.BIsFeatureInBlockList(Steamworks.ParentalFeature)"> <summary> - + </summary> </member> <member name="T:Steamworks.SteamParties"> <summary> - This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. - Tell Steam the number of player spots that are available for your party, and a join-game string, and it - will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. - Adjust the number of open slots if other players join through alternate matchmaking methods. + This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. + Tell Steam the number of player spots that are available for your party, and a join-game string, and it + will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. + Adjust the number of open slots if other players join through alternate matchmaking methods. </summary> </member> <member name="E:Steamworks.SteamParties.OnBeaconLocationsUpdated"> <summary> - The list of possible Party beacon locations has changed + The list of possible Party beacon locations has changed </summary> </member> <member name="E:Steamworks.SteamParties.OnActiveBeaconsUpdated"> <summary> - The list of active beacons may have changed + The list of active beacons may have changed </summary> </member> <member name="T:Steamworks.SteamRemotePlay"> <summary> - Functions that provide information about Steam Remote Play sessions, streaming your game content to another computer or to a Steam Link app or hardware. + Functions that provide information about Steam Remote Play sessions, streaming your game content to + another computer or to a Steam Link app or hardware. </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionConnected"> <summary> - Called when a session is connected + Called when a session is connected </summary> </member> <member name="E:Steamworks.SteamRemotePlay.OnSessionDisconnected"> <summary> - Called when a session becomes disconnected + Called when a session becomes disconnected </summary> </member> <member name="P:Steamworks.SteamRemotePlay.SessionCount"> <summary> - Get the number of currently connected Steam Remote Play sessions + Get the number of currently connected Steam Remote Play sessions </summary> </member> <member name="M:Steamworks.SteamRemotePlay.GetSession(System.Int32)"> <summary> - Get the currently connected Steam Remote Play session ID at the specified index. - IsValid will return false if it's out of bounds + Get the currently connected Steam Remote Play session ID at the specified index. + IsValid will return false if it's out of bounds </summary> </member> <member name="M:Steamworks.SteamRemotePlay.SendInvite(Steamworks.SteamId)"> <summary> - Invite a friend to Remote Play Together - This returns false if the invite can't be sent + Invite a friend to Remote Play Together + This returns false if the invite can't be sent </summary> </member> <member name="T:Steamworks.SteamRemoteStorage"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileWrite(System.String,System.Byte[])"> <summary> - Creates a new file, writes the bytes to the file, and then closes the file. - If the target file already exists, it is overwritten + Creates a new file, writes the bytes to the file, and then closes the file. + If the target file already exists, it is overwritten </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileRead(System.String)"> <summary> - Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileExists(System.String)"> <summary> - Checks whether the specified file exists. + Checks whether the specified file exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FilePersisted(System.String)"> <summary> - Checks if a specific file is persisted in the steam cloud. + Checks if a specific file is persisted in the steam cloud. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileTime(System.String)"> <summary> - Gets the specified file's last modified date/time. + Gets the specified file's last modified date/time. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileSize(System.String)"> <summary> - Gets the specified files size in bytes. 0 if not exists. + Gets the specified files size in bytes. 0 if not exists. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileForget(System.String)"> <summary> - Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the API. + Deletes the file from remote storage, but leaves it on the local disk and remains accessible from the + API. </summary> </member> <member name="M:Steamworks.SteamRemoteStorage.FileDelete(System.String)"> <summary> - Deletes a file from the local disk, and propagates that delete to the cloud. + Deletes a file from the local disk, and propagates that delete to the cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaBytes"> <summary> - Number of bytes total + Number of bytes total </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaUsedBytes"> <summary> - Number of bytes used + Number of bytes used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.QuotaRemainingBytes"> <summary> - Number of bytes remaining until your quota is used + Number of bytes remaining until your quota is used </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabled"> <summary> - returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp + returns true if IsCloudEnabledForAccount AND IsCloudEnabledForApp </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForAccount"> <summary> - Checks if the account wide Steam Cloud setting is enabled for this user - or if they disabled it in the Settings->Cloud dialog. + Checks if the account wide Steam Cloud setting is enabled for this user + or if they disabled it in the Settings->Cloud dialog. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.IsCloudEnabledForApp"> <summary> - Checks if the per game Steam Cloud setting is enabled for this user - or if they disabled it in the Game Properties->Update dialog. - - This must only ever be set as the direct result of the user explicitly - requesting that it's enabled or not. This is typically accomplished with - a checkbox within your in-game options + Checks if the per game Steam Cloud setting is enabled for this user + or if they disabled it in the Game Properties->Update dialog. + + This must only ever be set as the direct result of the user explicitly + requesting that it's enabled or not. This is typically accomplished with + a checkbox within your in-game options </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.FileCount"> <summary> - Gets the total number of local files synchronized by Steam Cloud. + Gets the total number of local files synchronized by Steam Cloud. </summary> </member> <member name="P:Steamworks.SteamRemoteStorage.Files"> <summary> - Get a list of filenames synchronized by Steam Cloud + Get a list of filenames synchronized by Steam Cloud </summary> </member> <member name="T:Steamworks.SteamScreenshots"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotRequested"> <summary> - A screenshot has been requested by the user from the Steam screenshot hotkey. - This will only be called if Hooked is true, in which case Steam - will not take the screenshot itself. + A screenshot has been requested by the user from the Steam screenshot hotkey. + This will only be called if Hooked is true, in which case Steam + will not take the screenshot itself. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotReady"> <summary> - A screenshot successfully written or otherwise added to the library and can now be tagged. + A screenshot successfully written or otherwise added to the library and can now be tagged. </summary> </member> <member name="E:Steamworks.SteamScreenshots.OnScreenshotFailed"> <summary> - A screenshot attempt failed + A screenshot attempt failed </summary> </member> <member name="M:Steamworks.SteamScreenshots.WriteScreenshot(System.Byte[],System.Int32,System.Int32)"> <summary> - Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB + format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. </summary> </member> <member name="M:Steamworks.SteamScreenshots.AddScreenshot(System.String,System.String,System.Int32,System.Int32)"> <summary> - Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio - as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format. - The return value is a handle that is valid for the duration of the game process and can be used to apply tags. - JPEG, TGA, and PNG formats are supported. + Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 + pixels wide and the same aspect ratio + as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The + screenshots must be in either JPEG or TGA format. + The return value is a handle that is valid for the duration of the game process and can be used to apply + tags. + JPEG, TGA, and PNG formats are supported. </summary> </member> <member name="M:Steamworks.SteamScreenshots.TriggerScreenshot"> <summary> - Causes the Steam overlay to take a screenshot. - If screenshots are being hooked by the game then a - ScreenshotRequested callback is sent back to the game instead. + Causes the Steam overlay to take a screenshot. + If screenshots are being hooked by the game then a + ScreenshotRequested callback is sent back to the game instead. </summary> </member> <member name="P:Steamworks.SteamScreenshots.Hooked"> <summary> - Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the game handles them. - Hooking is disabled by default, and only ever enabled if you do so with this function. - If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the hotkey or - when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or AddScreenshotToLibrary in response. + Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or if the + game handles them. + Hooking is disabled by default, and only ever enabled if you do so with this function. + If the hooking is enabled, then the ScreenshotRequested_t callback will be sent if the user presses the + hotkey or + when TriggerScreenshot is called, and then the game is expected to call WriteScreenshot or + AddScreenshotToLibrary in response. </summary> </member> <member name="T:Steamworks.SteamServer"> <summary> - Provides the core of the Steam Game Servers API + Provides the core of the Steam Game Servers API </summary> </member> <member name="E:Steamworks.SteamServer.OnValidateAuthTicketResponse"> <summary> - User has been authed or rejected + User has been authed or rejected </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the server now is logged on and has a working connection to the Steam master server. + Called when a connections to the Steam back-end has been established. + This means the server now is logged on and has a working connection to the Steam master server. </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServerConnectFailure"> <summary> - This will occur periodically if the Steam client is not connected, and has failed when retrying to establish a connection (result, stilltrying) + This will occur periodically if the Steam client is not connected, and has failed when retrying to + establish a connection (result, stilltrying) </summary> </member> <member name="E:Steamworks.SteamServer.OnSteamServersDisconnected"> <summary> - Disconnected from Steam + Disconnected from Steam </summary> </member> <member name="M:Steamworks.SteamServer.Init(Steamworks.AppId,Steamworks.SteamServerInit,System.Boolean)"> <summary> - Initialize the steam server. - If asyncCallbacks is false you need to call RunCallbacks manually every frame. + Initialize the steam server. + If asyncCallbacks is false you need to call RunCallbacks manually every frame. </summary> </member> <member name="M:Steamworks.SteamServer.RunCallbacks"> <summary> - Run the callbacks. This is also called in Async callbacks. + Run the callbacks. This is also called in Async callbacks. </summary> </member> <member name="P:Steamworks.SteamServer.DedicatedServer"> <summary> - Sets whether this should be marked as a dedicated server. - If not, it is assumed to be a listen server. + Sets whether this should be marked as a dedicated server. + If not, it is assumed to be a listen server. </summary> </member> <member name="P:Steamworks.SteamServer.MaxPlayers"> <summary> - Gets or sets the current MaxPlayers. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current MaxPlayers. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.BotCount"> <summary> - Gets or sets the current BotCount. - This doesn't enforce any kind of limit, it just updates the master server. + Gets or sets the current BotCount. + This doesn't enforce any kind of limit, it just updates the master server. </summary> </member> <member name="P:Steamworks.SteamServer.MapName"> <summary> - Gets or sets the current Map Name. + Gets or sets the current Map Name. </summary> </member> <member name="P:Steamworks.SteamServer.ModDir"> <summary> - Gets or sets the current ModDir + Gets or sets the current ModDir </summary> </member> <member name="P:Steamworks.SteamServer.Product"> <summary> - Gets the current product + Gets the current product </summary> </member> <member name="P:Steamworks.SteamServer.GameDescription"> <summary> - Gets or sets the current Product + Gets or sets the current Product </summary> </member> <member name="P:Steamworks.SteamServer.ServerName"> <summary> - Gets or sets the current ServerName + Gets or sets the current ServerName </summary> </member> <member name="P:Steamworks.SteamServer.Passworded"> <summary> - Set whether the server should report itself as passworded + Set whether the server should report itself as passworded </summary> </member> <member name="P:Steamworks.SteamServer.GameTags"> <summary> - Gets or sets the current GameTags. This is a comma seperated list of tags for this server. - When querying the server list you can filter by these tags. + Gets or sets the current GameTags. This is a comma seperated list of tags for this server. + When querying the server list you can filter by these tags. </summary> </member> <member name="M:Steamworks.SteamServer.LogOnAnonymous"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="M:Steamworks.SteamServer.LogOff"> <summary> - Log onto Steam anonymously. + Log onto Steam anonymously. </summary> </member> <member name="P:Steamworks.SteamServer.LoggedOn"> <summary> - Returns true if the server is connected and registered with the Steam master server - You should have called LogOnAnonymous etc on startup. + Returns true if the server is connected and registered with the Steam master server + You should have called LogOnAnonymous etc on startup. </summary> </member> <member name="P:Steamworks.SteamServer.PublicIp"> <summary> - To the best of its ability this tries to get the server's - current public ip address. Be aware that this is likely to return - null for the first few seconds after initialization. + To the best of its ability this tries to get the server's + current public ip address. Be aware that this is likely to return + null for the first few seconds after initialization. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeats"> <summary> - Enable or disable heartbeats, which are sent regularly to the master server. - Enabled by default. + Enable or disable heartbeats, which are sent regularly to the master server. + Enabled by default. </summary> </member> <member name="P:Steamworks.SteamServer.AutomaticHeartbeatRate"> <summary> - Set heartbeat interval, if automatic heartbeats are enabled. - You can leave this at the default. + Set heartbeat interval, if automatic heartbeats are enabled. + You can leave this at the default. </summary> </member> <member name="M:Steamworks.SteamServer.ForceHeartbeat"> <summary> - Force send a heartbeat to the master server instead of waiting - for the next automatic update (if you've left them enabled) + Force send a heartbeat to the master server instead of waiting + for the next automatic update (if you've left them enabled) </summary> </member> <member name="M:Steamworks.SteamServer.UpdatePlayer(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Update this connected player's information. You should really call this - any time a player's name or score changes. This keeps the information shown - to server queries up to date. + Update this connected player's information. You should really call this + any time a player's name or score changes. This keeps the information shown + to server queries up to date. </summary> </member> <member name="M:Steamworks.SteamServer.SetKey(System.String,System.String)"> <summary> - Sets a Key Value. These can be anything you like, and are accessible - when querying servers from the server list. - - Information describing gamemodes are common here. + Sets a Key Value. These can be anything you like, and are accessible + when querying servers from the server list. + + Information describing gamemodes are common here. </summary> </member> <member name="M:Steamworks.SteamServer.ClearKeys"> <summary> - Remove all key values + Remove all key values </summary> </member> <member name="M:Steamworks.SteamServer.BeginAuthSession(System.Byte[],Steamworks.SteamId)"> <summary> - Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. + Start authorizing a ticket. This user isn't authorized yet. Wait for a call to OnAuthChange. </summary> </member> <member name="M:Steamworks.SteamServer.EndSession(Steamworks.SteamId)"> <summary> - Forget this guy. They're no longer in the game. + Forget this guy. They're no longer in the game. </summary> </member> <member name="M:Steamworks.SteamServer.GetOutgoingPacket(Steamworks.Data.OutgoingPacket@)"> <summary> - If true, Steam wants to send a packet. You should respond by sending - this packet in an unconnected way to the returned Address and Port. + If true, Steam wants to send a packet. You should respond by sending + this packet in an unconnected way to the returned Address and Port. </summary> <param name="packet">Packet to send. The Data passed is pooled - so use it immediately.</param> <returns>True if we want to send a packet</returns> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.Byte[],System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.HandleIncomingPacket(System.IntPtr,System.Int32,System.UInt32,System.UInt16)"> <summary> - We have received a server query on our game port. Pass it to Steam to handle. + We have received a server query on our game port. Pass it to Steam to handle. </summary> </member> <member name="M:Steamworks.SteamServer.UserHasLicenseForApp(Steamworks.SteamId,Steamworks.AppId)"> <summary> - Does the user own this app (which could be DLC) + Does the user own this app (which could be DLC) </summary> </member> <member name="M:Steamworks.SteamServerStats.RequestUserStatsAsync(Steamworks.SteamId)"> <summary> - Downloads stats for the user - If the user has no stats will return fail - these stats will only be auto-updated for clients playing on the server + Downloads stats for the user + If the user has no stats will return fail + these stats will only be auto-updated for clients playing on the server </summary> </member> <member name="M:Steamworks.SteamServerStats.SetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Set the named stat for this user. Setting stats should follow the rules - you defined in Steamworks. + Set the named stat for this user. Setting stats should follow the rules + you defined in Steamworks. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetInt(Steamworks.SteamId,System.String,System.Int32)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetFloat(Steamworks.SteamId,System.String,System.Single)"> <summary> - Get the named stat for this user. If getting the stat failed, will return - defaultValue. You should have called Refresh for this userid - which downloads - the stats from the backend. If you didn't call it this will always return defaultValue. + Get the named stat for this user. If getting the stat failed, will return + defaultValue. You should have called Refresh for this userid - which downloads + the stats from the backend. If you didn't call it this will always return defaultValue. </summary> </member> <member name="M:Steamworks.SteamServerStats.SetAchievement(Steamworks.SteamId,System.String)"> <summary> - Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Unlocks the specified achievement for the specified user. Must have called Refresh on a steamid first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.ClearAchievement(Steamworks.SteamId,System.String)"> <summary> - Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid first. - Remember to use Commit after use. + Resets the unlock status of an achievement for the specified user. Must have called Refresh on a steamid + first. + Remember to use Commit after use. </summary> </member> <member name="M:Steamworks.SteamServerStats.GetAchievement(Steamworks.SteamId,System.String)"> <summary> - Return true if available, exists and unlocked + Return true if available, exists and unlocked </summary> </member> <member name="M:Steamworks.SteamServerStats.StoreUserStats(Steamworks.SteamId)"> <summary> - Once you've set a stat change on a user you need to commit your changes. - You can do that using this function. The callback will let you know if - your action succeeded, but most of the time you can fire and forget. + Once you've set a stat change on a user you need to commit your changes. + You can do that using this function. The callback will let you know if + your action succeeded, but most of the time you can fire and forget. </summary> </member> <member name="T:Steamworks.SteamUGC"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUGC.OnDownloadItemResult"> <summary> - Posted after Download call + Posted after Download call </summary> </member> <member name="M:Steamworks.SteamUGC.Download(Steamworks.Data.PublishedFileId,System.Boolean)"> <summary> - Start downloading this item. You'll get notified of completion via OnDownloadItemResult. + Start downloading this item. You'll get notified of completion via OnDownloadItemResult. </summary> <param name="fileId">The ID of the file you want to download</param> <param name="highPriority">If true this should go straight to the top of the download list</param> @@ -2344,7 +2390,7 @@ </member> <member name="M:Steamworks.SteamUGC.DownloadAsync(Steamworks.Data.PublishedFileId,System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Will attempt to download this item asyncronously - allowing you to instantly react to its installation + Will attempt to download this item asyncronously - allowing you to instantly react to its installation </summary> <param name="fileId">The ID of the file you want to download</param> <param name="progress">An optional callback</param> @@ -2354,570 +2400,601 @@ </member> <member name="M:Steamworks.SteamUGC.QueryFileAsync(Steamworks.Data.PublishedFileId)"> <summary> - Utility function to fetch a single item. Internally this uses Ugc.FileQuery - - which you can use to query multiple items if you need to. + Utility function to fetch a single item. Internally this uses Ugc.FileQuery - + which you can use to query multiple items if you need to. </summary> </member> <member name="T:Steamworks.SteamUser"> <summary> - Functions for accessing and manipulating Steam user information. - This is also where the APIs for Steam Voice are exposed. + Functions for accessing and manipulating Steam user information. + This is also where the APIs for Steam Voice are exposed. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersConnected"> <summary> - Called when a connections to the Steam back-end has been established. - This means the Steam client now has a working connection to the Steam servers. - Usually this will have occurred before the game has launched, and should only be seen if the - user has dropped connection due to a networking issue or a Steam server update. + Called when a connections to the Steam back-end has been established. + This means the Steam client now has a working connection to the Steam servers. + Usually this will have occurred before the game has launched, and should only be seen if the + user has dropped connection due to a networking issue or a Steam server update. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServerConnectFailure"> <summary> - Called when a connection attempt has failed. - This will occur periodically if the Steam client is not connected, - and has failed when retrying to establish a connection. + Called when a connection attempt has failed. + This will occur periodically if the Steam client is not connected, + and has failed when retrying to establish a connection. </summary> </member> <member name="E:Steamworks.SteamUser.OnSteamServersDisconnected"> <summary> - Called if the client has lost connection to the Steam servers. - Real-time services will be disabled until a matching OnSteamServersConnected has been posted. + Called if the client has lost connection to the Steam servers. + Real-time services will be disabled until a matching OnSteamServersConnected has been posted. </summary> </member> <member name="E:Steamworks.SteamUser.OnClientGameServerDeny"> <summary> - Sent by the Steam server to the client telling it to disconnect from the specified game server, - which it may be in the process of or already connected to. - The game client should immediately disconnect upon receiving this message. - This can usually occur if the user doesn't have rights to play on the game server. + Sent by the Steam server to the client telling it to disconnect from the specified game server, + which it may be in the process of or already connected to. + The game client should immediately disconnect upon receiving this message. + This can usually occur if the user doesn't have rights to play on the game server. </summary> </member> <member name="E:Steamworks.SteamUser.OnLicensesUpdated"> <summary> - Called whenever the users licenses (owned packages) changes. + Called whenever the users licenses (owned packages) changes. </summary> </member> <member name="E:Steamworks.SteamUser.OnValidateAuthTicketResponse"> <summary> - Called when an auth ticket has been validated. - The first parameter is the steamid of this user - The second is the Steam ID that owns the game, this will be different from the first - if the game is being borrowed via Steam Family Sharing + Called when an auth ticket has been validated. + The first parameter is the steamid of this user + The second is the Steam ID that owns the game, this will be different from the first + if the game is being borrowed via Steam Family Sharing </summary> </member> <member name="E:Steamworks.SteamUser.OnGetAuthSessionTicketResponse"> <summary> - Used internally for GetAuthSessionTicketAsync + Used internally for GetAuthSessionTicketAsync </summary> </member> <member name="E:Steamworks.SteamUser.OnMicroTxnAuthorizationResponse"> <summary> - Called when a user has responded to a microtransaction authorization request. - ( appid, orderid, user authorized ) + Called when a user has responded to a microtransaction authorization request. + ( appid, orderid, user authorized ) </summary> </member> <member name="E:Steamworks.SteamUser.OnGameWebCallback"> <summary> - Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the Steam overlay browser. - You can use this to add support for external site signups where you want to pop back into the browser after some web page - signup sequence, and optionally get back some detail about that. + Sent to your game in response to a steam://gamewebcallback/ command from a user clicking a link in the + Steam overlay browser. + You can use this to add support for external site signups where you want to pop back into the browser + after some web page + signup sequence, and optionally get back some detail about that. </summary> </member> <member name="E:Steamworks.SteamUser.OnDurationControl"> <summary> - Sent for games with enabled anti indulgence / duration control, for enabled users. - Lets the game know whether persistent rewards or XP should be granted at normal rate, - half rate, or zero rate. + Sent for games with enabled anti indulgence / duration control, for enabled users. + Lets the game know whether persistent rewards or XP should be granted at normal rate, + half rate, or zero rate. </summary> </member> <member name="P:Steamworks.SteamUser.VoiceRecord"> <summary> - Starts/Stops voice recording. - Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording - when the user has released their push-to-talk hotkey or the game session has completed. + Starts/Stops voice recording. + Once started, use GetAvailableVoice and GetVoice to get the data, and then call StopVoiceRecording + when the user has released their push-to-talk hotkey or the game session has completed. </summary> </member> <member name="P:Steamworks.SteamUser.HasVoiceData"> <summary> - Returns true if we have voice data waiting to be read + Returns true if we have voice data waiting to be read </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceData(System.IO.Stream)"> <summary> - Reads the voice data and returns the number of bytes written. - The compressed data can be transmitted by your application and decoded back into raw audio data using - DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not meant to be played directly. - This should be called once per frame, and at worst no more than four times a second to keep the microphone input delay as low as - possible. Calling this any less may result in gaps in the returned stream. + Reads the voice data and returns the number of bytes written. + The compressed data can be transmitted by your application and decoded back into raw audio data using + DecompressVoice on the other side. The compressed data provided is in an arbitrary format and is not + meant to be played directly. + This should be called once per frame, and at worst no more than four times a second to keep the + microphone input delay as low as + possible. Calling this any less may result in gaps in the returned stream. </summary> </member> <member name="M:Steamworks.SteamUser.ReadVoiceDataBytes"> <summary> - Reads the voice data and returns the bytes. You should obviously ideally be using - ReadVoiceData because it won't be creating a new byte array every call. But this - makes it easier to get it working, so let the babies have their bottle. + Reads the voice data and returns the bytes. You should obviously ideally be using + ReadVoiceData because it won't be creating a new byte array every call. But this + makes it easier to get it working, so let the babies have their bottle. </summary> </member> <member name="M:Steamworks.SteamUser.DecompressVoice(System.IO.Stream,System.Int32,System.IO.Stream)"> <summary> - Decodes the compressed voice data returned by GetVoice. - The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 to 48000. + Decodes the compressed voice data returned by GetVoice. + The output data is raw single-channel 16-bit PCM audio.The decoder supports any sample rate from 11025 + to 48000. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicket"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. </summary> </member> <member name="M:Steamworks.SteamUser.GetAuthSessionTicketAsync(System.Double)"> <summary> - Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. - This waits for a positive response from the backend before returning the ticket. This means - the ticket is definitely ready to go as soon as it returns. Will return null if the callback - times out or returns negatively. + Retrieve a authentication ticket to be sent to the entity who wishes to authenticate you. + This waits for a positive response from the backend before returning the ticket. This means + the ticket is definitely ready to go as soon as it returns. Will return null if the callback + times out or returns negatively. </summary> </member> <member name="P:Steamworks.SteamUser.IsBehindNAT"> <summary> - Checks if the current users looks like they are behind a NAT device. - This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. + Checks if the current users looks like they are behind a NAT device. + This is only valid if the user is connected to the Steam servers and may not catch all forms of NAT. </summary> </member> <member name="P:Steamworks.SteamUser.SteamLevel"> <summary> - Gets the Steam level of the user, as shown on their Steam community profile. + Gets the Steam level of the user, as shown on their Steam community profile. </summary> </member> <member name="M:Steamworks.SteamUser.GetStoreAuthUrlAsync(System.String)"> <summary> - Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the specified URL. - As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout pages will automatically recognize the user instead of presenting a login page. - NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call this API when you are about to launch the browser, or else immediately navigate to the result URL using a hidden browser window. - NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea to request and visit a new auth URL every 12 hours. + Requests a URL which authenticates an in-game browser for store check-out, and then redirects to the + specified URL. + As long as the in-game browser accepts and handles session cookies, Steam microtransaction checkout + pages will automatically recognize the user instead of presenting a login page. + NOTE: The URL has a very short lifetime to prevent history-snooping attacks, so you should only call + this API when you are about to launch the browser, or else immediately navigate to the result URL using + a hidden browser window. + NOTE: The resulting authorization cookie has an expiration time of one day, so it would be a good idea + to request and visit a new auth URL every 12 hours. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneVerified"> <summary> - Checks whether the current user has verified their phone number. + Checks whether the current user has verified their phone number. </summary> </member> <member name="P:Steamworks.SteamUser.IsTwoFactorEnabled"> <summary> - Checks whether the current user has Steam Guard two factor authentication enabled on their account. + Checks whether the current user has Steam Guard two factor authentication enabled on their account. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneIdentifying"> <summary> - Checks whether the user's phone number is used to uniquely identify them. + Checks whether the user's phone number is used to uniquely identify them. </summary> </member> <member name="P:Steamworks.SteamUser.IsPhoneRequiringVerification"> <summary> - Checks whether the current user's phone number is awaiting (re)verification. + Checks whether the current user's phone number is awaiting (re)verification. </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync(System.Byte[])"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - If you get a null result from this it's probably because you're calling it too often. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + If you get a null result from this it's probably because you're calling it too often. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.RequestEncryptedAppTicketAsync"> <summary> - Requests an application ticket encrypted with the secret "encrypted app ticket key". - The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. - There can only be one call pending, and this call is subject to a 60 second rate limit. - This can fail if you don't have an encrypted ticket set for your app here https://partner.steamgames.com/apps/sdkauth/ + Requests an application ticket encrypted with the secret "encrypted app ticket key". + The encryption key can be obtained from the Encrypted App Ticket Key page on the App Admin for your app. + There can only be one call pending, and this call is subject to a 60 second rate limit. + This can fail if you don't have an encrypted ticket set for your app here + https://partner.steamgames.com/apps/sdkauth/ </summary> </member> <member name="M:Steamworks.SteamUser.GetDurationControl"> <summary> - Get anti indulgence / duration control + Get anti indulgence / duration control </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementIconFetched"> <summary> - called when the achivement icon is loaded + called when the achivement icon is loaded </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsReceived"> <summary> - called when the latests stats and achievements have been received - from the server + called when the latests stats and achievements have been received + from the server </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsStored"> <summary> - result of a request to store the user stats for a game + result of a request to store the user stats for a game </summary> </member> <member name="E:Steamworks.SteamUserStats.OnAchievementProgress"> <summary> - result of a request to store the achievements for a game, or an - "indicate progress" call. If both m_nCurProgress and m_nMaxProgress - are zero, that means the achievement has been fully unlocked + result of a request to store the achievements for a game, or an + "indicate progress" call. If both m_nCurProgress and m_nMaxProgress + are zero, that means the achievement has been fully unlocked </summary> </member> <member name="E:Steamworks.SteamUserStats.OnUserStatsUnloaded"> <summary> - Callback indicating that a user's stats have been unloaded + Callback indicating that a user's stats have been unloaded </summary> </member> <member name="P:Steamworks.SteamUserStats.Achievements"> <summary> - Get the available achievements + Get the available achievements </summary> </member> <member name="M:Steamworks.SteamUserStats.IndicateAchievementProgress(System.String,System.Int32,System.Int32)"> <summary> - Show the user a pop-up notification with the current progress toward an achievement. - Will return false if RequestCurrentStats has not completed and successfully returned - its callback, if the achievement doesn't exist/has unpublished changes in the app's - Steamworks Admin page, or if the achievement is unlocked. + Show the user a pop-up notification with the current progress toward an achievement. + Will return false if RequestCurrentStats has not completed and successfully returned + its callback, if the achievement doesn't exist/has unpublished changes in the app's + Steamworks Admin page, or if the achievement is unlocked. </summary> </member> <member name="M:Steamworks.SteamUserStats.PlayerCountAsync"> <summary> - Tries to get the number of players currently playing this game. - Or -1 if failed. + Tries to get the number of players currently playing this game. + Or -1 if failed. </summary> </member> <member name="M:Steamworks.SteamUserStats.StoreStats"> <summary> - Send the changed stats and achievements data to the server for permanent storage. - If this fails then nothing is sent to the server. It's advisable to keep trying until the call is successful. - This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You should only be calling this during major state changes such as the end of a round, the map changing, or the user leaving a server. This call is required to display the achievement unlock notification dialog though, so if you have called SetAchievement then it's advisable to call this soon after that. - If you have stats or achievements that you have saved locally but haven't uploaded with this function when your application process ends then this function will automatically be called. - You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. - This function returns true upon success if : - RequestCurrentStats has completed and successfully returned its callback AND - the current game has stats associated with it in the Steamworks Partner backend, and those stats are published. + Send the changed stats and achievements data to the server for permanent storage. + If this fails then nothing is sent to the server. It's advisable to keep trying until the call is + successful. + This call can be rate limited. Call frequency should be on the order of minutes, rather than seconds.You + should only be calling this during major state changes such as the end of a round, the map changing, or + the user leaving a server. This call is required to display the achievement unlock notification dialog + though, so if you have called SetAchievement then it's advisable to call this soon after that. + If you have stats or achievements that you have saved locally but haven't uploaded with this function + when your application process ends then this function will automatically be called. + You can find additional debug information written to the %steam_install%\logs\stats_log.txt file. + This function returns true upon success if : + RequestCurrentStats has completed and successfully returned its callback AND + the current game has stats associated with it in the Steamworks Partner backend, and those stats are + published. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestCurrentStats"> <summary> - Asynchronously request the user's current stats and achievements from the server. - You must always call this first to get the initial status of stats and achievements. - Only after the resulting callback comes back can you start calling the rest of the stats - and achievement functions for the current user. + Asynchronously request the user's current stats and achievements from the server. + You must always call this first to get the initial status of stats and achievements. + Only after the resulting callback comes back can you start calling the rest of the stats + and achievement functions for the current user. </summary> </member> <member name="M:Steamworks.SteamUserStats.RequestGlobalStatsAsync(System.Int32)"> <summary> - Asynchronously fetches global stats data, which is available for stats marked as - "aggregated" in the App Admin panel of the Steamworks website. - You must have called RequestCurrentStats and it needs to return successfully via - its callback prior to calling this. + Asynchronously fetches global stats data, which is available for stats marked as + "aggregated" in the App Admin panel of the Steamworks website. + You must have called RequestCurrentStats and it needs to return successfully via + its callback prior to calling this. </summary> - <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The limit is 60.</param> - <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the remote call failed</returns> + <param name="days">How many days of day-by-day history to retrieve in addition to the overall totals. The + limit is 60. + </param> + <returns>OK indicates success, InvalidState means you need to call RequestCurrentStats first, Fail means the + remote call failed + </returns> </member> <member name="M:Steamworks.SteamUserStats.FindOrCreateLeaderboardAsync(System.String,Steamworks.Data.LeaderboardSort,Steamworks.Data.LeaderboardDisplay)"> <summary> - Gets a leaderboard by name, it will create it if it's not yet created. - Leaderboards created with this function will not automatically show up in the Steam Community. - You must manually set the Community Name field in the App Admin panel of the Steamworks website. - As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on - the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of - dynamically created leaderboards. + Gets a leaderboard by name, it will create it if it's not yet created. + Leaderboards created with this function will not automatically show up in the Steam Community. + You must manually set the Community Name field in the App Admin panel of the Steamworks website. + As such it's generally recommended to prefer creating the leaderboards in the App Admin panel on + the Steamworks website and using FindLeaderboard unless you're expected to have a large amount of + dynamically created leaderboards. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Int32)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.AddStat(System.String,System.Single)"> <summary> - Adds this amount to the named stat. Internally this calls Get() and adds - to that value. Steam doesn't provide a mechanism for atomically increasing - stats like this, this functionality is added here as a convenience. + Adds this amount to the named stat. Internally this calls Get() and adds + to that value. Steam doesn't provide a mechanism for atomically increasing + stats like this, this functionality is added here as a convenience. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Int32)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.SetStat(System.String,System.Single)"> <summary> - Set a stat value. This will automatically call StoreStats() after a successful call - unless you pass false as the last argument. + Set a stat value. This will automatically call StoreStats() after a successful call + unless you pass false as the last argument. </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatInt(System.String)"> <summary> - Get a Int stat value + Get a Int stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.GetStatFloat(System.String)"> <summary> - Get a float stat value + Get a float stat value </summary> </member> <member name="M:Steamworks.SteamUserStats.ResetAll(System.Boolean)"> <summary> - Practically wipes the slate clean for this user. If includeAchievements is true, will wipe - any achievements too. + Practically wipes the slate clean for this user. If includeAchievements is true, will wipe + any achievements too. </summary> <returns></returns> </member> <member name="T:Steamworks.SteamUtils"> <summary> - Interface which provides access to a range of miscellaneous utility functions + Interface which provides access to a range of miscellaneous utility functions </summary> </member> <member name="E:Steamworks.SteamUtils.OnIpCountryChanged"> <summary> - The country of the user changed + The country of the user changed </summary> </member> <member name="E:Steamworks.SteamUtils.OnLowBatteryPower"> <summary> - Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute - The parameter is the number of minutes left + Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute + The parameter is the number of minutes left </summary> </member> <member name="E:Steamworks.SteamUtils.OnSteamShutdown"> <summary> - Called when Steam wants to shutdown + Called when Steam wants to shutdown </summary> </member> <member name="E:Steamworks.SteamUtils.OnGamepadTextInputDismissed"> <summary> - Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if cancelled etc. + Big Picture gamepad text input has been closed. Parameter is true if text was submitted, false if + cancelled etc. </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceAppActive"> <summary> - Returns the number of seconds since the application was active + Returns the number of seconds since the application was active </summary> </member> <member name="P:Steamworks.SteamUtils.SecondsSinceComputerActive"> <summary> - Returns the number of seconds since the user last moved the mouse etc + Returns the number of seconds since the user last moved the mouse etc </summary> </member> <member name="P:Steamworks.SteamUtils.SteamServerTime"> <summary> - Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) </summary> </member> <member name="P:Steamworks.SteamUtils.IpCountry"> <summary> - returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) - e.g "US" or "UK". + returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via + an IP-to-location database) + e.g "US" or "UK". </summary> </member> <member name="M:Steamworks.SteamUtils.GetImageSize(System.Int32,System.UInt32@,System.UInt32@)"> <summary> - returns true if the image exists, and the buffer was successfully filled out - results are returned in RGBA format - the destination buffer size should be 4 * height * width * sizeof(char) + returns true if the image exists, and the buffer was successfully filled out + results are returned in RGBA format + the destination buffer size should be 4 * height * width * sizeof(char) </summary> </member> <member name="M:Steamworks.SteamUtils.GetImage(System.Int32)"> <summary> - returns the image in RGBA format + returns the image in RGBA format </summary> </member> <member name="P:Steamworks.SteamUtils.UsingBatteryPower"> <summary> - Returns true if we're using a battery (ie, a laptop not plugged in) + Returns true if we're using a battery (ie, a laptop not plugged in) </summary> </member> <member name="P:Steamworks.SteamUtils.CurrentBatteryPower"> <summary> - Returns battery power [0-1] + Returns battery power [0-1] </summary> </member> <member name="P:Steamworks.SteamUtils.OverlayNotificationPosition"> <summary> - Sets the position where the overlay instance for the currently calling game should show notifications. - This position is per-game and if this function is called from outside of a game context it will do nothing. + Sets the position where the overlay instance for the currently calling game should show notifications. + This position is per-game and if this function is called from outside of a game context it will do + nothing. </summary> </member> <member name="P:Steamworks.SteamUtils.IsOverlayEnabled"> <summary> - Returns true if the overlay is running and the user can access it. The overlay process could take a few seconds to - start and hook the game process, so this function will initially return false while the overlay is loading. + Returns true if the overlay is running and the user can access it. The overlay process could take a few + seconds to + start and hook the game process, so this function will initially return false while the overlay is + loading. </summary> </member> <member name="P:Steamworks.SteamUtils.DoesOverlayNeedPresent"> - <summary> - Normally this call is unneeded if your game has a constantly running frame loop that calls the - D3D Present API, or OGL SwapBuffers API every frame. - - However, if you have a game that only refreshes the screen on an event driven basis then that can break - the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also - need to Present() to the screen any time an even needing a notification happens or when the overlay is - brought up over the game by a user. You can use this API to ask the overlay if it currently need a present - in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you - refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. - </summary> + <summary> + Normally this call is unneeded if your game has a constantly running frame loop that calls the + D3D Present API, or OGL SwapBuffers API every frame. + + However, if you have a game that only refreshes the screen on an event driven basis then that can break + the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + need to Present() to the screen any time an even needing a notification happens or when the overlay is + brought up over the game by a user. You can use this API to ask the overlay if it currently need a + present + in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + </summary> </member> <member name="M:Steamworks.SteamUtils.CheckFileSignatureAsync(System.String)"> <summary> - Asynchronous call to check if an executable file has been signed using the public key set on the signing tab - of the partner site, for example to refuse to load modified executable files. + Asynchronous call to check if an executable file has been signed using the public key set on the signing + tab + of the partner site, for example to refuse to load modified executable files. </summary> </member> <member name="M:Steamworks.SteamUtils.ShowGamepadTextInput(Steamworks.GamepadTextInputMode,Steamworks.GamepadTextInputLineMode,System.String,System.Int32,System.String)"> <summary> - Activates the Big Picture text input dialog which only supports gamepad input + Activates the Big Picture text input dialog which only supports gamepad input </summary> </member> <member name="M:Steamworks.SteamUtils.GetEnteredGamepadText"> <summary> - Returns previously entered text + Returns previously entered text </summary> </member> <member name="P:Steamworks.SteamUtils.SteamUILanguage"> <summary> - returns the language the steam client is running in, you probably want - Apps.CurrentGameLanguage instead, this is for very special usage cases + returns the language the steam client is running in, you probably want + Apps.CurrentGameLanguage instead, this is for very special usage cases </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamRunningInVR"> <summary> - returns true if Steam itself is running in VR mode + returns true if Steam itself is running in VR mode </summary> </member> <member name="M:Steamworks.SteamUtils.SetOverlayNotificationInset(System.Int32,System.Int32)"> <summary> - Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition + Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamInBigPictureMode"> <summary> - returns true if Steam and the Steam Overlay are running in Big Picture mode - Games much be launched through the Steam client to enable the Big Picture overlay. During development, - a game can be added as a non-steam game to the developers library to test this feature + returns true if Steam and the Steam Overlay are running in Big Picture mode + Games much be launched through the Steam client to enable the Big Picture overlay. During development, + a game can be added as a non-steam game to the developers library to test this feature </summary> </member> <member name="M:Steamworks.SteamUtils.StartVRDashboard"> <summary> - ask SteamUI to create and render its OpenVR dashboard + ask SteamUI to create and render its OpenVR dashboard </summary> </member> <member name="P:Steamworks.SteamUtils.VrHeadsetStreaming"> <summary> - Set whether the HMD content will be streamed via Steam In-Home Streaming - If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. - If this is set to false, then the application window will be streamed instead, and remote input will be allowed. - The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. - (this is useful for games that have asymmetric multiplayer gameplay) + Set whether the HMD content will be streamed via Steam In-Home Streaming + If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be + allowed. + If this is set to false, then the application window will be streamed instead, and remote input will be + allowed. + The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + (this is useful for games that have asymmetric multiplayer gameplay) </summary> </member> <member name="P:Steamworks.SteamUtils.IsSteamChinaLauncher"> <summary> - Returns whether this steam client is a Steam China specific client, vs the global client + Returns whether this steam client is a Steam China specific client, vs the global client </summary> </member> <member name="T:Steamworks.SteamVideo"> <summary> - Undocumented Parental Settings + Undocumented Parental Settings </summary> </member> <member name="P:Steamworks.SteamVideo.IsBroadcasting"> <summary> - Return true if currently using Steam's live broadcasting + Return true if currently using Steam's live broadcasting </summary> </member> <member name="P:Steamworks.SteamVideo.NumViewers"> <summary> - If we're broadcasting, will return the number of live viewers + If we're broadcasting, will return the number of live viewers </summary> </member> <member name="P:Steamworks.Controller.ActionSet"> <summary> - Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') - This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in - our state loops, instead of trying to place it in all of your state transitions. + Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + our state loops, instead of trying to place it in all of your state transitions. </summary> </member> <member name="M:Steamworks.Controller.GetDigitalState(System.String)"> <summary> - Returns the current state of the supplied digital game action + Returns the current state of the supplied digital game action </summary> </member> <member name="M:Steamworks.Controller.GetAnalogState(System.String)"> <summary> - Returns the current state of these supplied analog game action + Returns the current state of these supplied analog game action </summary> </member> <member name="P:Steamworks.Friend.IsMe"> <summary> - Returns true if this is the local user + Returns true if this is the local user </summary> </member> <member name="P:Steamworks.Friend.IsFriend"> <summary> - Return true if this is a friend + Return true if this is a friend </summary> </member> <member name="P:Steamworks.Friend.IsBlocked"> <summary> - Returns true if you have this user blocked + Returns true if you have this user blocked </summary> </member> <member name="P:Steamworks.Friend.IsPlayingThisGame"> <summary> - Return true if this user is playing the game we're running + Return true if this user is playing the game we're running </summary> </member> <member name="P:Steamworks.Friend.IsOnline"> <summary> - Returns true if this friend is online + Returns true if this friend is online </summary> </member> <member name="M:Steamworks.Friend.RequestInfoAsync"> <summary> - Sometimes we don't know the user's name. This will wait until we have - downloaded the information on this user. + Sometimes we don't know the user's name. This will wait until we have + downloaded the information on this user. </summary> </member> <member name="P:Steamworks.Friend.IsAway"> <summary> - Returns true if this friend is marked as away + Returns true if this friend is marked as away </summary> </member> <member name="P:Steamworks.Friend.IsBusy"> <summary> - Returns true if this friend is marked as busy + Returns true if this friend is marked as busy </summary> </member> <member name="P:Steamworks.Friend.IsSnoozing"> <summary> - Returns true if this friend is marked as snoozing + Returns true if this friend is marked as snoozing </summary> </member> <member name="M:Steamworks.Friend.InviteToGame(System.String)"> <summary> - Invite this friend to the game that we are playing + Invite this friend to the game that we are playing </summary> </member> <member name="M:Steamworks.Friend.SendMessage(System.String)"> <summary> - Sends a message to a Steam friend. Returns true if success + Sends a message to a Steam friend. Returns true if success </summary> </member> <member name="M:Steamworks.Friend.RequestUserStatsAsync"> <summary> - Tries to get download the latest user stats + Tries to get download the latest user stats </summary> <returns>True if successful, False if failure</returns> </member> <member name="M:Steamworks.Friend.GetStatFloat(System.String,System.Single)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2925,7 +3002,7 @@ </member> <member name="M:Steamworks.Friend.GetStatInt(System.String,System.Int32)"> <summary> - Gets a user stat. Must call RequestUserStats first. + Gets a user stat. Must call RequestUserStats first. </summary> <param name="statName">The name of the stat you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2933,7 +3010,7 @@ </member> <member name="M:Steamworks.Friend.GetAchievement(System.String,System.Boolean)"> <summary> - Gets a user achievement state. Must call RequestUserStats first. + Gets a user achievement state. Must call RequestUserStats first. </summary> <param name="statName">The name of the achievement you want to get</param> <param name="defult">Will return this value if not available</param> @@ -2941,533 +3018,553 @@ </member> <member name="M:Steamworks.Friend.GetAchievementUnlockTime(System.String)"> <summary> - Gets a the time this achievement was unlocked. + Gets a the time this achievement was unlocked. </summary> <param name="statName">The name of the achievement you want to get</param> - <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return DateTime.MinValue</returns> + <returns>The time unlocked. If it wasn't unlocked, or you haven't downloaded the stats yet - will return + DateTime.MinValue + </returns> </member> <member name="P:Steamworks.InventoryDef.Name"> <summary> - Shortcut to call GetProperty( "name" ) + Shortcut to call GetProperty( "name" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Description"> <summary> - Shortcut to call GetProperty( "description" ) + Shortcut to call GetProperty( "description" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrl"> <summary> - Shortcut to call GetProperty( "icon_url" ) + Shortcut to call GetProperty( "icon_url" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IconUrlLarge"> <summary> - Shortcut to call GetProperty( "icon_url_large" ) + Shortcut to call GetProperty( "icon_url_large" ) </summary> </member> <member name="P:Steamworks.InventoryDef.PriceCategory"> <summary> - Shortcut to call GetProperty( "price_category" ) + Shortcut to call GetProperty( "price_category" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Type"> <summary> - Shortcut to call GetProperty( "type" ) + Shortcut to call GetProperty( "type" ) </summary> </member> <member name="P:Steamworks.InventoryDef.IsGenerator"> <summary> - Returns true if this is an item that generates an item, rather - than something that is actual an item + Returns true if this is an item that generates an item, rather + than something that is actual an item </summary> </member> <member name="P:Steamworks.InventoryDef.ExchangeSchema"> <summary> - Shortcut to call GetProperty( "exchange" ) + Shortcut to call GetProperty( "exchange" ) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipes"> <summary> - Get a list of exchanges that are available to make this item + Get a list of exchanges that are available to make this item </summary> </member> <member name="P:Steamworks.InventoryDef.Marketable"> <summary> - Shortcut to call GetBoolProperty( "marketable" ) + Shortcut to call GetBoolProperty( "marketable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Tradable"> <summary> - Shortcut to call GetBoolProperty( "tradable" ) + Shortcut to call GetBoolProperty( "tradable" ) </summary> </member> <member name="P:Steamworks.InventoryDef.Created"> <summary> - Gets the property timestamp + Gets the property timestamp </summary> </member> <member name="P:Steamworks.InventoryDef.Modified"> <summary> - Gets the property modified + Gets the property modified </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty(System.String)"> <summary> - Get a specific property by name + Get a specific property by name </summary> </member> <member name="M:Steamworks.InventoryDef.GetBoolProperty(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="M:Steamworks.InventoryDef.GetProperty``1(System.String)"> <summary> - Read a raw property from the definition schema + Read a raw property from the definition schema </summary> </member> <member name="P:Steamworks.InventoryDef.Properties"> <summary> - Gets a list of all properties on this item + Gets a list of all properties on this item </summary> </member> <member name="P:Steamworks.InventoryDef.LocalPrice"> <summary> - Returns the price of this item in the local currency (SteamInventory.Currency) + Returns the price of this item in the local currency (SteamInventory.Currency) </summary> </member> <member name="P:Steamworks.InventoryDef.LocalBasePrice"> <summary> - If the price has been discounted, LocalPrice will differ from LocalBasePrice - (assumed, this isn't documented) + If the price has been discounted, LocalPrice will differ from LocalBasePrice + (assumed, this isn't documented) </summary> </member> <member name="M:Steamworks.InventoryDef.GetRecipesContainingThis"> <summary> - Return a list of recepies that contain this item + Return a list of recepies that contain this item </summary> </member> <member name="P:Steamworks.InventoryItem.Properties"> <summary> - Only available if the result set was created with the getproperties + Only available if the result set was created with the getproperties </summary> </member> <member name="P:Steamworks.InventoryItem.IsNoTrade"> <summary> - This item is account-locked and cannot be traded or given away. - This is an item status flag which is permanently attached to specific item instances + This item is account-locked and cannot be traded or given away. + This is an item status flag which is permanently attached to specific item instances </summary> </member> <member name="P:Steamworks.InventoryItem.IsRemoved"> <summary> - The item has been destroyed, traded away, expired, or otherwise invalidated. - This is an action confirmation flag which is only set one time, as part of a result set. + The item has been destroyed, traded away, expired, or otherwise invalidated. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="P:Steamworks.InventoryItem.IsConsumed"> <summary> - The item quantity has been decreased by 1 via ConsumeItem API. - This is an action confirmation flag which is only set one time, as part of a result set. + The item quantity has been decreased by 1 via ConsumeItem API. + This is an action confirmation flag which is only set one time, as part of a result set. </summary> </member> <member name="M:Steamworks.InventoryItem.ConsumeAsync(System.Int32)"> <summary> - Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is permanently removed. - Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game implements item removal at all, - a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain item definitions or fully - blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother borrowed my laptop and deleted all of my rare items". + Consumes items from a user's inventory. If the quantity of the given item goes to zero, it is + permanently removed. + Once an item is removed it cannot be recovered.This is not for the faint of heart - if your game + implements item removal at all, + a high-friction UI confirmation process is highly recommended.ConsumeItem can be restricted to certain + item definitions or fully + blocked via the Steamworks website to minimize support/abuse issues such as the classic "my brother + borrowed my laptop and deleted all of my rare items". </summary> </member> <member name="M:Steamworks.InventoryItem.SplitStackAsync(System.Int32)"> <summary> - Split stack into two items + Split stack into two items </summary> </member> <member name="M:Steamworks.InventoryItem.AddAsync(Steamworks.InventoryItem,System.Int32)"> <summary> - Add x units of the target item to this item + Add x units of the target item to this item </summary> </member> <member name="P:Steamworks.InventoryItem.Acquired"> <summary> - Will try to return the date that this item was aquired. You need to have for the items - with their properties for this to work. + Will try to return the date that this item was aquired. You need to have for the items + with their properties for this to work. </summary> </member> <member name="P:Steamworks.InventoryItem.Origin"> <summary> - Tries to get the origin property. Need properties for this to work. - Will return a string like "market" + Tries to get the origin property. Need properties for this to work. + Will return a string like "market" </summary> </member> <member name="T:Steamworks.InventoryItem.Amount"> <summary> - Small utility class to describe an item with a quantity + Small utility class to describe an item with a quantity </summary> </member> <member name="T:Steamworks.InventoryRecipe"> <summary> - A structured description of an item exchange + A structured description of an item exchange </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.DefinitionId"> <summary> - The definition ID of the ingredient. + The definition ID of the ingredient. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Definition"> <summary> - If we don't know about this item definition this might be null. - In which case, DefinitionId should still hold the correct id. + If we don't know about this item definition this might be null. + In which case, DefinitionId should still hold the correct id. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredient.Count"> <summary> - The amount of this item needed. Generally this will be 1. + The amount of this item needed. Generally this will be 1. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Result"> <summary> - The item that this will create. + The item that this will create. </summary> </member> <member name="F:Steamworks.InventoryRecipe.Ingredients"> <summary> - The items, with quantity required to create this item. + The items, with quantity required to create this item. </summary> </member> <member name="M:Steamworks.InventoryResult.BelongsTo(Steamworks.SteamId)"> <summary> - Checks whether an inventory result handle belongs to the specified Steam ID. - This is important when using Deserialize, to verify that a remote player is not pretending to have a different user's inventory + Checks whether an inventory result handle belongs to the specified Steam ID. + This is important when using Deserialize, to verify that a remote player is not pretending to have a + different user's inventory </summary> </member> <member name="M:Steamworks.InventoryResult.Serialize"> <summary> - Serialized result sets contain a short signature which can't be forged or replayed across different game sessions. - A result set can be serialized on the local client, transmitted to other players via your game networking, and - deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing - rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a serialized - result depends on the number items which are being serialized.When securely transmitting items to other players, - it is recommended to use GetItemsByID first to create a minimal result set. - Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See DeserializeResult - for expiration handling. + Serialized result sets contain a short signature which can't be forged or replayed across different game + sessions. + A result set can be serialized on the local client, transmitted to other players via your game + networking, and + deserialized by the remote players.This is a secure way of preventing hackers from lying about posessing + rare/high-value items. Serializes a result set with signature bytes to an output buffer.The size of a + serialized + result depends on the number items which are being serialized.When securely transmitting items to other + players, + it is recommended to use GetItemsByID first to create a minimal result set. + Results have a built-in timestamp which will be considered "expired" after an hour has elapsed.See + DeserializeResult + for expiration handling. </summary> </member> <member name="P:Steamworks.PartyBeacon.Owner"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="P:Steamworks.PartyBeacon.MetaData"> <summary> - Creator of the beacon + Creator of the beacon </summary> </member> <member name="M:Steamworks.PartyBeacon.JoinAsync"> <summary> - Will attempt to join the party. If successful will return a connection string. - If failed, will return null + Will attempt to join the party. If successful will return a connection string. + If failed, will return null </summary> </member> <member name="M:Steamworks.PartyBeacon.OnReservationCompleted(Steamworks.SteamId)"> <summary> - When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your game a ReservationNotification callback. - When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined successfully + When a user follows your beacon, Steam will reserve one of the open party slots for them, and send your + game a ReservationNotification callback. + When that user joins your party, call OnReservationCompleted to notify Steam that the user has joined + successfully </summary> </member> <member name="M:Steamworks.PartyBeacon.CancelReservation(Steamworks.SteamId)"> <summary> - To cancel a reservation (due to timeout or user input), call this. - Steam will open a new reservation slot. - Note: The user may already be in-flight to your game, so it's possible they will still connect and try to join your party. + To cancel a reservation (due to timeout or user input), call this. + Steam will open a new reservation slot. + Note: The user may already be in-flight to your game, so it's possible they will still connect and try + to join your party. </summary> </member> <member name="M:Steamworks.PartyBeacon.Destroy"> <summary> - Turn off the beacon + Turn off the beacon </summary> </member> <member name="T:Steamworks.SteamServerInit"> <summary> - Used to set up the server. - The variables in here are all required to be set, and can't be changed once the server is created. + Used to set up the server. + The variables in here are all required to be set, and can't be changed once the server is created. </summary> </member> <member name="F:Steamworks.SteamServerInit.VersionString"> <summary> - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the server is out of date. - If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If this version number is - less than that latest version then your server won't show. + The version string is usually in the form x.x.x.x, and is used by the master server to detect when the + server is out of date. + If you go into the dedicated server tab on steamworks you'll be able to server the latest version. If + this version number is + less than that latest version then your server won't show. </summary> </member> <member name="F:Steamworks.SteamServerInit.ModDir"> <summary> - This should be the same directory game where gets installed into. Just the folder name, not the whole path. I.e. "Rust", "Garrysmod". + This should be the same directory game where gets installed into. Just the folder name, not the whole + path. I.e. "Rust", "Garrysmod". </summary> </member> <member name="F:Steamworks.SteamServerInit.GameDescription"> <summary> - The game description. Setting this to the full name of your game is recommended. + The game description. Setting this to the full name of your game is recommended. </summary> </member> <member name="F:Steamworks.SteamServerInit.DedicatedServer"> <summary> - Is a dedicated server + Is a dedicated server </summary> </member> <member name="M:Steamworks.SteamServerInit.WithRandomSteamPort"> <summary> - Set the Steam quert port + Set the Steam quert port </summary> </member> <member name="M:Steamworks.SteamServerInit.WithQueryShareGamePort"> <summary> - If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server API to use - "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets for the master - server updater. - - More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket + If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE into usQueryPort, then it causes the game server + API to use + "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets + for the master + server updater. + + More info about this here: https://partner.steamgames.com/doc/api/ISteamGameServer#HandleIncomingPacket </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewCommunityFile"> <summary> - Create a Normal Workshop item that can be subscribed to + Create a Normal Workshop item that can be subscribed to </summary> </member> <member name="P:Steamworks.Ugc.Editor.NewMicrotransactionFile"> <summary> - Workshop item that is meant to be voted on for the purpose of selling in-game + Workshop item that is meant to be voted on for the purpose of selling in-game </summary> </member> <member name="F:Steamworks.Ugc.PublishResult.NeedsWorkshopAgreement"> <summary> - https://partner.steamgames.com/doc/features/workshop/implementation#Legal + https://partner.steamgames.com/doc/features/workshop/implementation#Legal </summary> </member> <member name="P:Steamworks.Ugc.Item.Id"> <summary> - The actual ID of this file + The actual ID of this file </summary> </member> <member name="P:Steamworks.Ugc.Item.Title"> <summary> - The given title of this item + The given title of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.Description"> <summary> - The description of this item, in your local language if available + The description of this item, in your local language if available </summary> </member> <member name="P:Steamworks.Ugc.Item.Tags"> <summary> - A list of tags for this item, all lowercase + A list of tags for this item, all lowercase </summary> </member> <member name="P:Steamworks.Ugc.Item.CreatorApp"> <summary> - App Id of the app that created this item + App Id of the app that created this item </summary> </member> <member name="P:Steamworks.Ugc.Item.ConsumerApp"> <summary> - App Id of the app that will consume this item. + App Id of the app that will consume this item. </summary> </member> <member name="P:Steamworks.Ugc.Item.Owner"> <summary> - User who created this content + User who created this content </summary> </member> <member name="P:Steamworks.Ugc.Item.Score"> <summary> - The bayesian average for up votes / total votes, between [0,1] + The bayesian average for up votes / total votes, between [0,1] </summary> </member> <member name="P:Steamworks.Ugc.Item.Created"> <summary> - Time when the published item was created + Time when the published item was created </summary> </member> <member name="P:Steamworks.Ugc.Item.Updated"> <summary> - Time when the published item was last updated + Time when the published item was last updated </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPublic"> <summary> - True if this is publically visible + True if this is publically visible </summary> </member> <member name="P:Steamworks.Ugc.Item.IsFriendsOnly"> <summary> - True if this item is only visible by friends of the creator + True if this item is only visible by friends of the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsPrivate"> <summary> - True if this is only visible to the creator + True if this is only visible to the creator </summary> </member> <member name="P:Steamworks.Ugc.Item.IsBanned"> <summary> - True if this item has been banned + True if this item has been banned </summary> </member> <member name="P:Steamworks.Ugc.Item.IsAcceptedForUse"> <summary> - Whether the developer of this app has specifically flagged this item as accepted in the Workshop + Whether the developer of this app has specifically flagged this item as accepted in the Workshop </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesUp"> <summary> - The number of upvotes of this item + The number of upvotes of this item </summary> </member> <member name="P:Steamworks.Ugc.Item.VotesDown"> <summary> - The number of downvotes of this item + The number of downvotes of this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Download(System.Boolean)"> <summary> - Start downloading this item. - If this returns false the item isn't getting downloaded. + Start downloading this item. + If this returns false the item isn't getting downloaded. </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesTotal"> <summary> - If we're downloading, how big the total download is + If we're downloading, how big the total download is </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadBytesDownloaded"> <summary> - If we're downloading, how much we've downloaded + If we're downloading, how much we've downloaded </summary> </member> <member name="P:Steamworks.Ugc.Item.SizeBytes"> <summary> - If we're installed, how big is the install + If we're installed, how big is the install </summary> </member> <member name="P:Steamworks.Ugc.Item.DownloadAmount"> <summary> - If we're downloading our current progress as a delta betwen 0-1 + If we're downloading our current progress as a delta betwen 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.HasTag(System.String)"> <summary> - A case insensitive check for tag + A case insensitive check for tag </summary> </member> <member name="M:Steamworks.Ugc.Item.Subscribe"> <summary> - Allows the user to subscribe to this item + Allows the user to subscribe to this item </summary> </member> <member name="M:Steamworks.Ugc.Item.DownloadAsync(System.Action{System.Single},System.Int32,System.Threading.CancellationToken)"> <summary> - Allows the user to subscribe to download this item asyncronously - If CancellationToken is default then there is 60 seconds timeout - Progress will be set to 0-1 + Allows the user to subscribe to download this item asyncronously + If CancellationToken is default then there is 60 seconds timeout + Progress will be set to 0-1 </summary> </member> <member name="M:Steamworks.Ugc.Item.Unsubscribe"> <summary> - Allows the user to unsubscribe from this item + Allows the user to unsubscribe from this item </summary> </member> <member name="M:Steamworks.Ugc.Item.AddFavorite"> <summary> - Adds item to user favorite list + Adds item to user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.RemoveFavorite"> <summary> - Removes item from user favorite list + Removes item from user favorite list </summary> </member> <member name="M:Steamworks.Ugc.Item.Vote(System.Boolean)"> <summary> - Allows the user to rate a workshop item up or down. + Allows the user to rate a workshop item up or down. </summary> </member> <member name="M:Steamworks.Ugc.Item.GetUserVote"> <summary> - Gets the current users vote on the item + Gets the current users vote on the item </summary> </member> <member name="P:Steamworks.Ugc.Item.Url"> <summary> - Return a URL to view this item online + Return a URL to view this item online </summary> </member> <member name="P:Steamworks.Ugc.Item.ChangelogUrl"> <summary> - The URl to view this item's changelog + The URl to view this item's changelog </summary> </member> <member name="P:Steamworks.Ugc.Item.CommentsUrl"> <summary> - The URL to view the comments on this item + The URL to view the comments on this item </summary> </member> <member name="P:Steamworks.Ugc.Item.DiscussUrl"> <summary> - The URL to discuss this item + The URL to discuss this item </summary> </member> <member name="P:Steamworks.Ugc.Item.StatsUrl"> <summary> - The URL to view this items stats online + The URL to view this items stats online </summary> </member> <member name="P:Steamworks.Ugc.Item.PreviewImageUrl"> <summary> - The URL to the preview image for this item + The URL to the preview image for this item </summary> </member> <member name="M:Steamworks.Ugc.Item.Edit"> <summary> - Edit this item + Edit this item </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAnyTag"> <summary> - Found items must have at least one of the defined tags + Found items must have at least one of the defined tags </summary> </member> <member name="M:Steamworks.Ugc.Query.MatchAllTags"> <summary> - Found items must have all defined tags + Found items must have all defined tags </summary> </member> <member name="P:Steamworks.Epoch.Current"> <summary> - Returns the current Unix Epoch + Returns the current Unix Epoch </summary> </member> <member name="M:Steamworks.Epoch.ToDateTime(System.Decimal)"> <summary> - Convert an epoch to a datetime + Convert an epoch to a datetime </summary> </member> <member name="M:Steamworks.Epoch.FromDateTime(System.DateTime)"> <summary> - Convert a DateTime to a unix time + Convert a DateTime to a unix time </summary> </member> <member name="M:Steamworks.Helpers.TakeBuffer(System.Int32)"> <summary> - Returns a buffer. This will get returned and reused later on. + Returns a buffer. This will get returned and reused later on. </summary> </member> <member name="T:Steamworks.PreserveAttribute"> <summary> - Prevent unity from stripping shit we depend on - https://docs.unity3d.com/Manual/ManagedCodeStripping.html + Prevent unity from stripping shit we depend on + https://docs.unity3d.com/Manual/ManagedCodeStripping.html </summary> </member> </members> diff --git a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta b/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta index eb3a7c4..a194fcf 100644 --- a/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta +++ b/Assets/Packages/Facepunch/redistributable_bin/steam_api.dll.meta @@ -12,7 +12,7 @@ PluginImporter: validateReferences: 1 platformData: - first: - '': Any + : Any second: enabled: 0 settings: @@ -59,7 +59,7 @@ PluginImporter: second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: LinuxUniversal second: diff --git a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta b/Assets/Prefabs/Lobby.meta similarity index 67% rename from Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta rename to Assets/Prefabs/Lobby.meta index e4693ea..3e54100 100644 --- a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_URP_v1.0.1.unitypackage.meta +++ b/Assets/Prefabs/Lobby.meta @@ -1,5 +1,6 @@ fileFormatVersion: 2 -guid: 0957b521a08374f4aa508231735153bc +guid: 8c8cec636f7034e4386a66967a4068ba +folderAsset: yes DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Prefabs/Lobby/Friend.prefab b/Assets/Prefabs/Lobby/Friend.prefab new file mode 100644 index 0000000..1f22967 --- /dev/null +++ b/Assets/Prefabs/Lobby/Friend.prefab @@ -0,0 +1,461 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4214403233071238501 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 420310214753495322} + - component: {fileID: 860360227658967599} + - component: {fileID: 4065333453424625746} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &420310214753495322 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4214403233071238501} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2822828485358111010} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &860360227658967599 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4214403233071238501} + m_CullTransparentMesh: 0 +--- !u!114 &4065333453424625746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4214403233071238501} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Invite +--- !u!1 &4515538683647385522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538683647385525} + - component: {fileID: 4515538683647385527} + - component: {fileID: 4515538683647385524} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538683647385525 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4515538684322551740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538683647385527 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_CullTransparentMesh: 0 +--- !u!114 &4515538683647385524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &4515538684322551741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538684322551740} + - component: {fileID: 4515538684322551742} + - component: {fileID: 4515538684322551743} + - component: {fileID: 2655444595641622988} + m_Layer: 5 + m_Name: Friend + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538684322551740 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4515538683647385525} + - {fileID: 4515538684548919610} + - {fileID: 2822828485358111010} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 180.38406, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538684322551742 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_CullTransparentMesh: 0 +--- !u!114 &4515538684322551743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2735849, g: 0.2735849, b: 0.2735849, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2655444595641622988 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57db693cbe9a46345add801ae22e1e2a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &4515538684548919611 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538684548919610} + - component: {fileID: 4515538684548919612} + - component: {fileID: 4515538684548919613} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538684548919610 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4515538684322551740} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 130.38406, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538684548919612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_CullTransparentMesh: 0 +--- !u!114 &4515538684548919613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!1 &5420274622274495448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2822828485358111010} + - component: {fileID: 2725042382176603738} + - component: {fileID: 1294573223005139641} + - component: {fileID: 7770455586006126737} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2822828485358111010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5420274622274495448} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 420310214753495322} + m_Father: {fileID: 4515538684322551740} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 54.49, y: 0} + m_SizeDelta: {x: 51.02997, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2725042382176603738 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5420274622274495448} + m_CullTransparentMesh: 0 +--- !u!114 &1294573223005139641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5420274622274495448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7770455586006126737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5420274622274495448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1294573223005139641} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2655444595641622988} + m_TargetAssemblyTypeName: + m_MethodName: Invite + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 diff --git a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta b/Assets/Prefabs/Lobby/Friend.prefab.meta similarity index 63% rename from Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta rename to Assets/Prefabs/Lobby/Friend.prefab.meta index a4d019d..43f8a4e 100644 --- a/Assets/VFXGraph/GabrielAguiarProductions/VFXGraph_Muzzle_2020.3_HDRP_v1.0.1.unitypackage.meta +++ b/Assets/Prefabs/Lobby/Friend.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 96a44475794fb6445a6f3c4b9ee13966 -DefaultImporter: +guid: 2fe0c7c1393a9ac4e9322c657de9c116 +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Prefabs/Lobby/LobbyFriend.prefab b/Assets/Prefabs/Lobby/LobbyFriend.prefab new file mode 100644 index 0000000..e60563c --- /dev/null +++ b/Assets/Prefabs/Lobby/LobbyFriend.prefab @@ -0,0 +1,227 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4515538683647385522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538683647385525} + - component: {fileID: 4515538683647385527} + - component: {fileID: 4515538683647385524} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538683647385525 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4515538684322551740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538683647385527 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_CullTransparentMesh: 0 +--- !u!114 &4515538683647385524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538683647385522} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &4515538684322551741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538684322551740} + - component: {fileID: 4515538684322551742} + - component: {fileID: 4515538684322551743} + m_Layer: 5 + m_Name: Friend + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538684322551740 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4515538683647385525} + - {fileID: 4515538684548919610} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 180.38406, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538684322551742 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_CullTransparentMesh: 0 +--- !u!114 &4515538684322551743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684322551741} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.2735849, g: 0.2735849, b: 0.2735849, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &4515538684548919611 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515538684548919610} + - component: {fileID: 4515538684548919612} + - component: {fileID: 4515538684548919613} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4515538684548919610 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4515538684322551740} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 130.38406, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4515538684548919612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_CullTransparentMesh: 0 +--- !u!114 &4515538684548919613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4515538684548919611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text diff --git a/Assets/Prefabs/Lobby/LobbyFriend.prefab.meta b/Assets/Prefabs/Lobby/LobbyFriend.prefab.meta new file mode 100644 index 0000000..bcee6df --- /dev/null +++ b/Assets/Prefabs/Lobby/LobbyFriend.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0568386c4d673bc4b86e9c4fb6d78b8d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity new file mode 100644 index 0000000..47c57f7 --- /dev/null +++ b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity @@ -0,0 +1,2817 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 262.3369, g: 325.0498, b: 430.21924, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: bf4cb08b84523014ba7d58b84641dafa, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1254815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1254816} + - component: {fileID: 1254818} + - component: {fileID: 1254817} + m_Layer: 5 + m_Name: username + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1254816 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254815} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1190329762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 26.93, y: 0} + m_SizeDelta: {x: -53.855713, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1254817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Username +--- !u!222 &1254818 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254815} + m_CullTransparentMesh: 0 +--- !u!1 &196308295 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 196308296} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &196308296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 196308295} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1566980484} + m_Father: {fileID: 1513343930} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &445329626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 445329627} + - component: {fileID: 445329630} + - component: {fileID: 445329629} + - component: {fileID: 445329628} + m_Layer: 5 + m_Name: Achivment 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &445329627 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445329626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1705035793} + m_Father: {fileID: 999584516} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 204} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &445329628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445329626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 445329629} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &445329629 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445329626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &445329630 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445329626} + m_CullTransparentMesh: 0 +--- !u!1 &485978216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485978217} + - component: {fileID: 485978220} + - component: {fileID: 485978219} + - component: {fileID: 485978218} + m_Layer: 5 + m_Name: CreateLobby + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &485978217 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485978216} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1431383677} + m_Father: {fileID: 999584516} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.0000023842, y: 92.8} + m_SizeDelta: {x: 147.61649, y: 27.678093} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &485978218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485978216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 485978219} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: + m_MethodName: CreateLobbyAsync + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &485978219 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485978216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &485978220 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485978216} + m_CullTransparentMesh: 0 +--- !u!1 &504562484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 504562485} + - component: {fileID: 504562487} + - component: {fileID: 504562486} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &504562485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504562484} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2024753069} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &504562486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504562484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &504562487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504562484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 1 + m_VerticalFit: 1 +--- !u!1 &513622440 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 513622441} + - component: {fileID: 513622443} + - component: {fileID: 513622442} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &513622441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513622440} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1190329762} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &513622442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513622440} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &513622443 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 513622440} + m_CullTransparentMesh: 0 +--- !u!1 &672242747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 672242748} + - component: {fileID: 672242751} + - component: {fileID: 672242750} + - component: {fileID: 672242749} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &672242748 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672242747} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1603187152} + m_Father: {fileID: 1098458741} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &672242749 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672242747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &672242750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672242747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &672242751 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672242747} + m_CullTransparentMesh: 0 +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + - component: {fileID: 705507996} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 100000 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &705507996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Intensity: 100000 + m_EnableSpotReflector: 1 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 0 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!1 &798924316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 798924317} + - component: {fileID: 798924320} + - component: {fileID: 798924319} + - component: {fileID: 798924318} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &798924317 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 798924316} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1371145427} + m_Father: {fileID: 1098458741} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!114 &798924318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 798924316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 967049743} + m_HandleRect: {fileID: 967049742} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &798924319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 798924316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &798924320 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 798924316} + m_CullTransparentMesh: 0 +--- !u!1 &822391265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 822391267} + - component: {fileID: 822391266} + m_Layer: 0 + m_Name: SteamManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &822391266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822391265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c790abd20c22fc348ac5c95c419527bb, type: 3} + m_Name: + m_EditorClassIdentifier: + appId: 480 + onSteamFailed: + m_PersistentCalls: + m_Calls: [] +--- !u!4 &822391267 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822391265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 447.38983, y: 246.23274, z: -66.40144} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &865388992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 865388993} + - component: {fileID: 865388996} + - component: {fileID: 865388995} + - component: {fileID: 865388994} + m_Layer: 5 + m_Name: Friend list + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &865388993 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 865388992} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2024753069} + - {fileID: 1513343930} + m_Father: {fileID: 999584516} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 100, y: 201.3} + m_SizeDelta: {x: 200, y: 402.60107} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &865388994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 865388992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 504562485} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 20 + m_Viewport: {fileID: 2024753069} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1513343931} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &865388995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 865388992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5176471} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &865388996 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 865388992} + m_CullTransparentMesh: 0 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &967049741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 967049742} + - component: {fileID: 967049744} + - component: {fileID: 967049743} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &967049742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967049741} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1371145427} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &967049743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967049741} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &967049744 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 967049741} + m_CullTransparentMesh: 0 +--- !u!1 &999584512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 999584516} + - component: {fileID: 999584515} + - component: {fileID: 999584514} + - component: {fileID: 999584513} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &999584513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999584512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &999584514 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999584512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &999584515 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999584512} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &999584516 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999584512} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2071724007} + - {fileID: 1190329762} + - {fileID: 445329627} + - {fileID: 1172021618} + - {fileID: 865388993} + - {fileID: 1098458741} + - {fileID: 485978217} + - {fileID: 2064743394} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1098458740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1098458741} + - component: {fileID: 1098458744} + - component: {fileID: 1098458743} + - component: {fileID: 1098458742} + m_Layer: 5 + m_Name: lobby list + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1098458741 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098458740} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 672242748} + - {fileID: 798924317} + m_Father: {fileID: 999584516} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -100, y: 201.30054} + m_SizeDelta: {x: 200, y: 402.60107} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1098458742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098458740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1603187152} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 20 + m_Viewport: {fileID: 672242748} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 798924318} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1098458743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098458740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5176471} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1098458744 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098458740} + m_CullTransparentMesh: 0 +--- !u!1 &1172021617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1172021618} + - component: {fileID: 1172021620} + - component: {fileID: 1172021619} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1172021618 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172021617} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1967948634} + m_Father: {fileID: 999584516} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1172021619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172021617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1172021620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172021617} + m_CullTransparentMesh: 0 +--- !u!1 &1190329761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1190329762} + m_Layer: 5 + m_Name: Userinfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1190329762 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1190329761} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1254816} + - {fileID: 513622441} + - {fileID: 1861591200} + m_Father: {fileID: 999584516} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -278.55, y: 204} + m_SizeDelta: {x: 257.89014, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1322653228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1322653231} + - component: {fileID: 1322653230} + - component: {fileID: 1322653229} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1322653229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322653228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1322653230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322653228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1322653231 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322653228} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1371145426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1371145427} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1371145427 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371145426} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 967049742} + m_Father: {fileID: 798924317} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1431383676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1431383677} + - component: {fileID: 1431383679} + - component: {fileID: 1431383678} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1431383677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431383676} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 485978217} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1431383678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431383676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: CreateLobby +--- !u!222 &1431383679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431383676} + m_CullTransparentMesh: 0 +--- !u!1 &1513343929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1513343930} + - component: {fileID: 1513343933} + - component: {fileID: 1513343932} + - component: {fileID: 1513343931} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1513343930 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1513343929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 196308296} + m_Father: {fileID: 865388993} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1513343931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1513343929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1566980485} + m_HandleRect: {fileID: 1566980484} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1513343932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1513343929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1513343933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1513343929} + m_CullTransparentMesh: 0 +--- !u!1 &1566980483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1566980484} + - component: {fileID: 1566980486} + - component: {fileID: 1566980485} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1566980484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1566980483} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 196308296} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1566980485 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1566980483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1566980486 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1566980483} + m_CullTransparentMesh: 0 +--- !u!1 &1603187151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1603187152} + - component: {fileID: 1603187154} + - component: {fileID: 1603187153} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1603187152 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603187151} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 672242748} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -183, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1603187153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603187151} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 10 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1603187154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603187151} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 1 + m_VerticalFit: 1 +--- !u!1 &1705035792 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705035793} + - component: {fileID: 1705035795} + - component: {fileID: 1705035794} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1705035793 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1705035792} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 445329627} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1705035794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1705035792} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Unlock ach 1 +--- !u!222 &1705035795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1705035792} + m_CullTransparentMesh: 0 +--- !u!1 &1861591199 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1861591200} + - component: {fileID: 1861591202} + - component: {fileID: 1861591201} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1861591200 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861591199} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1190329762} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1861591201 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861591199} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1861591202 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1861591199} + m_CullTransparentMesh: 0 +--- !u!1 &1967948633 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1967948634} + - component: {fileID: 1967948636} + - component: {fileID: 1967948635} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1967948634 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967948633} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1172021618} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -31.11} + m_SizeDelta: {x: 160, y: 92.21765} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1967948635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967948633} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Steam error, you dont own the game or steam isnt launched +--- !u!222 &1967948636 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967948633} + m_CullTransparentMesh: 0 +--- !u!1 &2024753068 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2024753069} + - component: {fileID: 2024753072} + - component: {fileID: 2024753071} + - component: {fileID: 2024753070} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2024753069 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2024753068} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 504562485} + m_Father: {fileID: 865388993} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &2024753070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2024753068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &2024753071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2024753068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2024753072 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2024753068} + m_CullTransparentMesh: 0 +--- !u!1 &2064743393 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064743394} + - component: {fileID: 2064743397} + - component: {fileID: 2064743396} + - component: {fileID: 2064743395} + m_Layer: 5 + m_Name: LeaveLobby + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2064743394 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064743393} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2104398653} + m_Father: {fileID: 999584516} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000028133, y: 65.122} + m_SizeDelta: {x: 147.61649, y: 27.678093} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2064743395 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064743393} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2064743396} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: + m_MethodName: LeaveLobby + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2064743396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064743393} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2064743397 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064743393} + m_CullTransparentMesh: 0 +--- !u!1 &2071724006 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2071724007} + - component: {fileID: 2071724009} + - component: {fileID: 2071724008} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2071724007 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2071724006} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 999584516} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2071724008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2071724006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19215688, g: 0.19215688, b: 0.19215688, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2071724009 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2071724006} + m_CullTransparentMesh: 0 +--- !u!1 &2104398652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2104398653} + - component: {fileID: 2104398655} + - component: {fileID: 2104398654} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2104398653 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104398652} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2064743394} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2104398654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104398652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: LeaveLobby +--- !u!222 &2104398655 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104398652} + m_CullTransparentMesh: 0 diff --git a/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity.meta similarity index 74% rename from Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta rename to Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity.meta index aa8a077..e88ca74 100644 --- a/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.sln.meta +++ b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTesting.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 246f31a0e00fea74a93125fec6d80da8 +guid: 02c544c4276ebff45aa3b14a7f9a24be DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting new file mode 100644 index 0000000..318c005 --- /dev/null +++ b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LobbyTestingSettings + serializedVersion: 4 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 diff --git a/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting.meta b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting.meta new file mode 100644 index 0000000..d5ffa75 --- /dev/null +++ b/Assets/Scenes/Experimentation/MultiplayerScenes/LobbyTestingSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bf4cb08b84523014ba7d58b84641dafa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/CharacterControllerForce.cs b/Assets/Scripts/CharacterControllerForce.cs index b8d94d5..4f14b38 100644 --- a/Assets/Scripts/CharacterControllerForce.cs +++ b/Assets/Scripts/CharacterControllerForce.cs @@ -1,17 +1,23 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class CharacterControllerForce : MonoBehaviour { - float mass = 3f; // defines the character mass - Vector3 impact = Vector3.zero; private CharacterController character; - - void Start() + private Vector3 impact = Vector3.zero; + private readonly float mass = 3f; // defines the character mass + + private void Start() { - - character = this.gameObject.GetComponent<CharacterController>(); + character = gameObject.GetComponent<CharacterController>(); + } + + private void Update() + { + // apply the impact force: + if (impact.magnitude > 0.2) + character.Move(impact * Time.deltaTime); + // consumes the impact energy each cycle: + impact = Vector3.Lerp(impact, Vector3.zero, 5 * Time.deltaTime); } // call this function to add an impact force: @@ -21,13 +27,4 @@ public void AddImpact(Vector3 dir, float force) if (dir.y < 0) dir.y = -dir.y; // reflect down force on the ground impact += dir.normalized * force / mass; } - - void Update() - { - // apply the impact force: - if (impact.magnitude > 0.2) - character.Move(impact * Time.deltaTime); - // consumes the impact energy each cycle: - impact = Vector3.Lerp(impact, Vector3.zero, 5 * Time.deltaTime); - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/DGemItem.cs b/Assets/Scripts/DGemItem.cs index 3cabbec..b108d45 100644 --- a/Assets/Scripts/DGemItem.cs +++ b/Assets/Scripts/DGemItem.cs @@ -1,12 +1,18 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class DGemItem : MonoBehaviour { - [SerializeField] - private float decSpeed = 5f; + [SerializeField] private float decSpeed = 5f; + // Start is called before the first frame update + private void Start() + { + } + + // Update is called once per frame + private void Update() + { + } private void OnTriggerEnter(Collider collision) @@ -14,20 +20,7 @@ private void OnTriggerEnter(Collider collision) if (collision.gameObject.CompareTag("Player")) { collision.gameObject.GetComponent<PlayerMovementController>().SetSpeed(decSpeed); - Destroy(this.gameObject); - + Destroy(gameObject); } } - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Darkness/VectorFieldHandler.cs b/Assets/Scripts/Darkness/VectorFieldHandler.cs index 31c2ea3..2e69793 100644 --- a/Assets/Scripts/Darkness/VectorFieldHandler.cs +++ b/Assets/Scripts/Darkness/VectorFieldHandler.cs @@ -1,42 +1,33 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.VFX; public class VectorFieldHandler : MonoBehaviour { - [SerializeField] - private float avoidanceDist; - [SerializeField] - private List<Vector3> avoidances; - [SerializeField] - private Vector3 size; + [SerializeField] private float avoidanceDist; + + [SerializeField] private List<Vector3> avoidances; + + [SerializeField] private Vector3 size; + + [SerializeField] private VisualEffect effect; private Texture3D vField; - [SerializeField] - private VisualEffect effect; // Start is called before the first frame update - void Start() + private void Start() { vField = new Texture3D((int)size.x, (int)size.y, (int)size.z, TextureFormat.RFloat, 0); - for(int x = 0;x<size.x;x++) - { - for(int y = 0; y < size.y; y++) - { - for(int z = 0; z<size.z; z++) - { - vField.SetPixel(x, y, z, new Color(1, 0, 0, 0)); - } - } - } + for (var x = 0; x < size.x; x++) + for (var y = 0; y < size.y; y++) + for (var z = 0; z < size.z; z++) + vField.SetPixel(x, y, z, new Color(1, 0, 0, 0)); //vField.SetPixel(0, 0, 0, new Color(1, 0, 0, 0)); effect.SetTexture("VectorField", vField); } // Update is called once per frame - void Update() + private void Update() { - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/DynamicLine.cs b/Assets/Scripts/DynamicLine.cs index 49ac369..c3feb3f 100644 --- a/Assets/Scripts/DynamicLine.cs +++ b/Assets/Scripts/DynamicLine.cs @@ -1,37 +1,27 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; [ExecuteAlways] [RequireComponent(typeof(LineRenderer))] public class DynamicLine : MonoBehaviour { - [SerializeField] - private float length = 5f; - [SerializeField] - private int count = 2; + [SerializeField] private float length = 5f; + + [SerializeField] private int count = 2; + + private LineRenderer lineRenderer; + private int pCount; private float pLength; - private int pCount; - - private LineRenderer lineRenderer; + // Start is called before the first frame update - void Start() + private void Start() { - lineRenderer= GetComponent<LineRenderer>(); - + lineRenderer = GetComponent<LineRenderer>(); } // Update is called once per frame - void FixedUpdate() + private void FixedUpdate() { - if (pLength != length||pCount!=count) - { - lineRenderer.positionCount = count; - - - } - - + if (pLength != length || pCount != count) lineRenderer.positionCount = count; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs b/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs index a73ac60..564f91a 100644 --- a/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs +++ b/Assets/Scripts/Enemies/AI/SkinlessMonsterAnimator.cs @@ -1,152 +1,131 @@ using System.Collections; using System.Collections.Generic; -using UnityEditor.Rendering; using UnityEngine; -using UnityEngine.Events; public class SkinlessMonsterAnimator : MonoBehaviour { - [SerializeField] - private Animator animator; - private float speed = 0f; + [SerializeField] private Animator animator; - [SerializeField] - [Tooltip("This is the object with the skin dissolve material")] + [SerializeField] [Tooltip("This is the object with the skin dissolve material")] private GameObject modelObject; - [SerializeField] - private List<GameObject> objectsThatFallOnDeath= new List<GameObject>(); + + [SerializeField] private List<GameObject> objectsThatFallOnDeath = new(); + + [SerializeField] private float deathSpeed = 5f; + + [SerializeField] private float fastDeathduration = 1f; + + [SerializeField] private float deathDuration = 5f; + + private float curDeathSpeed = 5f; private Material dissolveMaterial; private bool isAlive = true; - [SerializeField] - private float deathSpeed = 5f; - private float curDeathSpeed = 5f; - private bool isRunning = false; - public bool IsRunning { get { return isRunning; } } - [SerializeField] - private float fastDeathduration = 1f; - [SerializeField] - private float deathDuration = 5f; - + private float speed; + public bool IsRunning { get; private set; } // Start is called before the first frame update - void Start() + private void Start() { dissolveMaterial = modelObject.GetComponent<SkinnedMeshRenderer>().materials[0]; curDeathSpeed = deathSpeed; } // Update is called once per frame - void Update() + private void Update() { - if (isAlive) { animator.SetFloat("Speed", speed); - } else { - - float quantity = dissolveMaterial.GetFloat("_DissolveQuantity"); - quantity = Mathf.Lerp(quantity, -2, Time.deltaTime *curDeathSpeed); + var quantity = dissolveMaterial.GetFloat("_DissolveQuantity"); + quantity = Mathf.Lerp(quantity, -2, Time.deltaTime * curDeathSpeed); dissolveMaterial.SetFloat("_DissolveQuantity", quantity); } - - } public void StartMoving() { if (isAlive) { - isRunning = true; + IsRunning = true; speed = 1; } - - - } + public void StopMoving() { if (isAlive) { speed = 0; - isRunning = false; + IsRunning = false; } - - } + public void Attack() { - if (isAlive) - { - animator.SetTrigger("Attack"); - - - } - - + if (isAlive) animator.SetTrigger("Attack"); } /// <summary> - /// 0,1,2,3 + /// 0,1,2,3 /// </summary> /// <param name="attackType"></param> public void SetAttackType(int attackType) { - animator.SetInteger("AttackIndex", attackType); } + public void InLight() { - if(isAlive) - animator.SetBool("InLight", true); + if (isAlive) + animator.SetBool("InLight", true); } + public void NotInLight() { - if(isAlive) - animator.SetBool("InLight", false); + if (isAlive) + animator.SetBool("InLight", false); } public void AttackScream() { - if(isAlive) - animator.SetTrigger("AttackScream"); + if (isAlive) + animator.SetTrigger("AttackScream"); } public void Kill(bool fast = false) { //animator.speed = 0; InLight(); - + isAlive = false; - foreach(GameObject obj in this.objectsThatFallOnDeath) + foreach (var obj in objectsThatFallOnDeath) { obj.AddComponent<Rigidbody>(); - if (obj.GetComponent<Collider>() != null) - { - obj.GetComponent<Collider>().enabled = false; - } + if (obj.GetComponent<Collider>() != null) obj.GetComponent<Collider>().enabled = false; } - float dur = this.deathDuration; + + var dur = deathDuration; if (fast) { - dur = this.fastDeathduration; - curDeathSpeed = deathSpeed * (this.deathDuration / this.fastDeathduration); + dur = fastDeathduration; + curDeathSpeed = deathSpeed * (deathDuration / fastDeathduration); } + StartCoroutine(destroyAfterSeconds(dur)); } - + private IEnumerator destroyAfterSeconds(float duration) { yield return new WaitForSeconds(duration); - Destroy(this.gameObject); + Destroy(gameObject); } - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs b/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs index 9602e9a..197bff9 100644 --- a/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs +++ b/Assets/Scripts/Enemies/AI/SkinlessMonsterComponent.cs @@ -1,321 +1,79 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; - - - public class SkinlessMonsterComponent : MonoBehaviour { - [SerializeField] - private NavMeshAgent agent; - [SerializeField] - private SkinlessMonsterAnimator animator; - private bool inDamageRange = false; - private bool inDamageMargin = false; - private bool atTarget = false; - [SerializeField] - private float atTargetDistance = 2; - private TargetInformation target; + [SerializeField] private NavMeshAgent agent; - [SerializeField] - private float health = 2f; + [SerializeField] private SkinlessMonsterAnimator animator; + + [SerializeField] private float atTargetDistance = 2; + + [SerializeField] private float health = 2f; + + [SerializeField] [Tooltip("This is the angle of visibility the enemy has")] + private float visibilityConeLimit = 90f; + + [SerializeField] private float bulletSoundRange = 15f; + + [SerializeField] private float newTargetCooldown = 5f; + //private bool prePauseStoppedState = false; + + [SerializeField] private BoxCollider leftHandDamage; + + [SerializeField] private BoxCollider rightHandDamage; + + private bool atTarget; + private float distanceToPlayer; + private FlareRegister flareRegister; + private bool inDamageMargin; + private bool inDamageRange; private bool isAlive = true; + private InGameManager manager; private Vector3 oppositeVector; private PlayerComponent player; - private float distanceToPlayer; - private FlareRegister flareRegister; - [SerializeField] - [Tooltip("This is the angle of visibility the enemy has")] - private float visibilityConeLimit = 90f; - [SerializeField] - private float bulletSoundRange = 15f; + private TargetInformation target; private GameObject targetObject; - [SerializeField] - private float newTargetCooldown = 5f; - private float timeSinceTarget = 0f; - - private InGameManager manager; - //private bool prePauseStoppedState = false; - - [SerializeField] - private BoxCollider leftHandDamage; - [SerializeField] - private BoxCollider rightHandDamage; + private float timeSinceTarget; private void Awake() { //Find active player rn. - PlayerComponent[] players = GameObject.FindObjectsOfType<PlayerComponent>(); - foreach (PlayerComponent p in players) - { + var players = FindObjectsOfType<PlayerComponent>(); + foreach (var p in players) if (p.isActiveAndEnabled) - { player = p; - } - } - - manager = GameObject.FindObjectOfType<InGameManager>(); + + manager = FindObjectOfType<InGameManager>(); } private void Start() { - flareRegister = GameObject.FindObjectOfType<FlareRegister>(); + flareRegister = FindObjectOfType<FlareRegister>(); if (targetObject == null) targetObject = new GameObject(); targetObject.name = "Enemy Target"; - - if(player == null) - { - player = GameObject.FindObjectOfType<PlayerComponent>(); - } - } - - void HandleTargetOperations() - { - //Update booleans for movement - float distToTarget = Vector3.Distance(target.target.transform.position, agent.transform.position); - atTarget = atTargetDistance >= distToTarget; - if (target.hasDamageRange) - { - inDamageRange = target.damageRange <= distToTarget; - inDamageMargin = target.damageMargin + target.damageRange <= distToTarget; - } - else - { - inDamageRange = false; - inDamageMargin = false; - } - //Perform actions. - if (target.runTowards) - { - if (inDamageRange) - { - //Damage is being dealt - animator.InLight(); - //Deal Damage - health -= Time.deltaTime; - if (health < 0 && this.isAlive) - { - this.Kill(); - } - } - else if (inDamageMargin) - { - //Effective stop - agent.SetDestination(transform.position); - animator.StopMoving(); - - } - else - { - if (atTarget) - { - //Effective stop - agent.SetDestination(transform.position); - animator.StopMoving(); - if (target.isHostile) - { - - animator.Attack(); - animator.SetAttackType(Random.Range(0, 0)); - - - - - } - - } - else - { - agent.SetDestination(target.target.transform.position); - animator.StartMoving(); - animator.NotInLight(); - } - - } - } - else - { - //Run away logic - if (atTarget || distToTarget < 3) - { - animator.StopMoving(); - } - else - { - Ray r = new Ray(); - r.origin = transform.position; - r.direction = oppositeVector; - RaycastHit hit; - if (Physics.Raycast(r, out hit)) - { - - animator.StartMoving(); - agent.SetDestination(hit.point); - } - else - { - - agent.SetDestination(transform.position + oppositeVector * 100); - agent.isStopped = false; - } - } - - } - - if (atTarget&&target.isHostile) - { - SlowLookAt(target.target.transform.position-transform.position); - } - } - void SlowLookAt(Vector3 targetVector,float animatedRotationSpeed=1f) - { - Vector3 relativePos = targetVector; - Quaternion toRotation = Quaternion.LookRotation(relativePos); - - transform.rotation = Quaternion.Lerp(transform.rotation, toRotation, animatedRotationSpeed * Time.deltaTime); - - } - - void CheckForAOERanges() - { - foreach(BulletComponent bullet in flareRegister.bullets) - { - float dist = Vector3.Distance(bullet.transform.position, transform.position); - if (dist <= bullet.DamageRange) - { - this.health = 0; - this.Kill(true); - } - } - foreach(FlareBeacon beacon in flareRegister.beacons) - { - float dist = Vector3.Distance(beacon.transform.position, transform.position); - if (dist <= beacon.Range) - { - this.health = 0f; - - } - } - if (this.health <= 0) - { - this.Kill(); - } - } - - public bool isPlayerVisible(bool withAngle) - { - Ray r = new Ray(); - r.origin = transform.position; - r.direction = player.transform.position - transform.position; - Vector3 toPosition = (player.transform.position - transform.position).normalized; - float angleToPosition = Vector3.Angle(transform.forward, toPosition); - - - RaycastHit hit; - if(Physics.Raycast(r, out hit)) - { - - GameObject hitObject = hit.transform.gameObject; - - if (hitObject.GetComponent<PlayerComponent>() != null) - { - //hit player - return angleToPosition <= this.visibilityConeLimit||!withAngle; - - }else if (hitObject.GetComponentInParent<PlayerComponent>() != null) - { - //also hit player - return angleToPosition <= this.visibilityConeLimit||!withAngle; - } - - } - return false; - } - - void SetLiveTargeting() - { - if (!isAlive) - { - //this.targetObject.transform.position = transform.position; - this.Stop(); - } - - distanceToPlayer = Vector3.Distance(this.transform.position, player.transform.position); - //print("Dist Comparison "+distanceToPlayer.ToString()+" Noise:"+player.NoiseManager.NoiseDistance); - bool isPlayerVisible = this.isPlayerVisible(true); - //check if player is heard or player line of sight - if (distanceToPlayer <= player.NoiseManager.NoiseDistance||isPlayerVisible) - { - //check that nothing in between - if (this.isPlayerVisible(false)) - { - this.Target(player.gameObject, true); - } - - } - else - { - if (this.timeSinceTarget < this.newTargetCooldown) - { - //no further targeting - //Stop(); - return; - } - - BulletComponent closestBullet = null; - float closestDistance = Mathf.Infinity; - foreach(BulletComponent bullet in this.flareRegister.bullets) - { - float bDist = Vector3.Distance(bullet.transform.position, transform.position); - if (closestBullet==null||(bDist< bulletSoundRange&&bDist<closestDistance)) - { - closestBullet = bullet; - closestDistance = bDist; - } - } - if (closestBullet != null&&closestBullet.DamageRange==0) - { - - targetObject.transform.position= closestBullet.transform.position; - this.Target(targetObject,false); - } - else - { - - targetObject.transform.position = transform.position; - this.Target(targetObject,false); - this.Stop(); - } - } + if (player == null) player = FindObjectOfType<PlayerComponent>(); } private void Update() { - if (!player.IsAlive) - { - Stop(); - } - - if (target != null) - { - HandleTargetOperations(); - } + if (!player.IsAlive) Stop(); + + if (target != null) HandleTargetOperations(); CheckForAOERanges(); - if(isAlive&&player.IsAlive) + if (isAlive && player.IsAlive) SetLiveTargeting(); timeSinceTarget += Time.deltaTime; - if (this.isAlive) + if (isAlive) { leftHandDamage.enabled = true; rightHandDamage.enabled = true; @@ -325,7 +83,7 @@ private void Update() leftHandDamage.enabled = false; rightHandDamage.enabled = false; } - + /* AI Behavior: @@ -345,6 +103,197 @@ 2. If beacon placed down and in range - stop() and wait for player to leave AOE (enforced by navigation). */ } + + private void OnTriggerEnter(Collider other) + { + if (other.gameObject.GetComponent<BulletComponent>() != null) + health -= other.gameObject.GetComponent<BulletComponent>().DamageMagnitude; + } + + private void HandleTargetOperations() + { + //Update booleans for movement + var distToTarget = Vector3.Distance(target.target.transform.position, agent.transform.position); + atTarget = atTargetDistance >= distToTarget; + if (target.hasDamageRange) + { + inDamageRange = target.damageRange <= distToTarget; + inDamageMargin = target.damageMargin + target.damageRange <= distToTarget; + } + else + { + inDamageRange = false; + inDamageMargin = false; + } + + //Perform actions. + if (target.runTowards) + { + if (inDamageRange) + { + //Damage is being dealt + animator.InLight(); + //Deal Damage + health -= Time.deltaTime; + if (health < 0 && isAlive) Kill(); + } + else if (inDamageMargin) + { + //Effective stop + agent.SetDestination(transform.position); + animator.StopMoving(); + } + else + { + if (atTarget) + { + //Effective stop + agent.SetDestination(transform.position); + animator.StopMoving(); + if (target.isHostile) + { + animator.Attack(); + animator.SetAttackType(Random.Range(0, 0)); + } + } + else + { + agent.SetDestination(target.target.transform.position); + animator.StartMoving(); + animator.NotInLight(); + } + } + } + else + { + //Run away logic + if (atTarget || distToTarget < 3) + { + animator.StopMoving(); + } + else + { + var r = new Ray(); + r.origin = transform.position; + r.direction = oppositeVector; + RaycastHit hit; + if (Physics.Raycast(r, out hit)) + { + animator.StartMoving(); + agent.SetDestination(hit.point); + } + else + { + agent.SetDestination(transform.position + oppositeVector * 100); + agent.isStopped = false; + } + } + } + + if (atTarget && target.isHostile) SlowLookAt(target.target.transform.position - transform.position); + } + + private void SlowLookAt(Vector3 targetVector, float animatedRotationSpeed = 1f) + { + var relativePos = targetVector; + var toRotation = Quaternion.LookRotation(relativePos); + + transform.rotation = Quaternion.Lerp(transform.rotation, toRotation, animatedRotationSpeed * Time.deltaTime); + } + + private void CheckForAOERanges() + { + foreach (var bullet in flareRegister.bullets) + { + var dist = Vector3.Distance(bullet.transform.position, transform.position); + if (dist <= bullet.DamageRange) + { + health = 0; + Kill(true); + } + } + + foreach (var beacon in flareRegister.beacons) + { + var dist = Vector3.Distance(beacon.transform.position, transform.position); + if (dist <= beacon.Range) health = 0f; + } + + if (health <= 0) Kill(); + } + + public bool isPlayerVisible(bool withAngle) + { + var r = new Ray(); + r.origin = transform.position; + r.direction = player.transform.position - transform.position; + var toPosition = (player.transform.position - transform.position).normalized; + var angleToPosition = Vector3.Angle(transform.forward, toPosition); + + + RaycastHit hit; + if (Physics.Raycast(r, out hit)) + { + var hitObject = hit.transform.gameObject; + + if (hitObject.GetComponent<PlayerComponent>() != null) + //hit player + return angleToPosition <= visibilityConeLimit || !withAngle; + if (hitObject.GetComponentInParent<PlayerComponent>() != null) + //also hit player + return angleToPosition <= visibilityConeLimit || !withAngle; + } + + return false; + } + + private void SetLiveTargeting() + { + if (!isAlive) + //this.targetObject.transform.position = transform.position; + Stop(); + + distanceToPlayer = Vector3.Distance(transform.position, player.transform.position); + //print("Dist Comparison "+distanceToPlayer.ToString()+" Noise:"+player.NoiseManager.NoiseDistance); + var isPlayerVisible = this.isPlayerVisible(true); + //check if player is heard or player line of sight + if (distanceToPlayer <= player.NoiseManager.NoiseDistance || isPlayerVisible) + { + //check that nothing in between + if (this.isPlayerVisible(false)) Target(player.gameObject, true); + } + else + { + if (timeSinceTarget < newTargetCooldown) + //no further targeting + //Stop(); + return; + + BulletComponent closestBullet = null; + var closestDistance = Mathf.Infinity; + foreach (var bullet in flareRegister.bullets) + { + var bDist = Vector3.Distance(bullet.transform.position, transform.position); + if (closestBullet == null || (bDist < bulletSoundRange && bDist < closestDistance)) + { + closestBullet = bullet; + closestDistance = bDist; + } + } + + if (closestBullet != null && closestBullet.DamageRange == 0) + { + targetObject.transform.position = closestBullet.transform.position; + Target(targetObject); + } + else + { + targetObject.transform.position = transform.position; + Target(targetObject); + Stop(); + } + } + } /* STANDARD BEHAVIOR: - OnSeeing/Hearing Player: @@ -360,9 +309,9 @@ 2. If beacon placed down and in range */ //Runs towards target. If its meant to be hostile, it will melee attack once in range. - public void Target(GameObject obj,bool hostile=false) + public void Target(GameObject obj, bool hostile = false) { - if(target == null || target.target!= obj) + if (target == null || target.target != obj) { //target = new TargetInformation(obj,hostile,false,runTowards:true); target = new TargetInformation(); @@ -371,13 +320,13 @@ public void Target(GameObject obj,bool hostile=false) target.hasDamageRange = false; target.runTowards = true; timeSinceTarget = 0; - } } + //Runs towards flare such that it stops randomly within margin before range. - public void TargetFlare(GameObject obj,float range,float margin) + public void TargetFlare(GameObject obj, float range, float margin) { - if(target == null || target.target != obj) + if (target == null || target.target != obj) { //target = new TargetInformation(obj, false, true, range, margin,runTowards:true); target = new TargetInformation(); @@ -390,15 +339,17 @@ public void TargetFlare(GameObject obj,float range,float margin) timeSinceTarget = 0; } } + /// <summary> - /// Runs away from object. A minimum range is specified where it no longer takes damage, and a minimum margin is - /// speicifed where it can stop running. + /// Runs away from object. A minimum range is specified where it no longer takes damage, and a minimum margin is + /// speicifed where it can stop running. /// </summary> /// <param name="obj"></param> /// <param name="minRange"></param> /// <param name="minMargin"></param> - public void RunAwayFrom(GameObject obj,float minRange,float minMargin) { - if(target== null ||target.target != obj) + public void RunAwayFrom(GameObject obj, float minRange, float minMargin) + { + if (target == null || target.target != obj) { //target = new TargetInformation(obj, false, true, minRange, minMargin, false); target = new TargetInformation(); @@ -416,44 +367,30 @@ public void RunAwayFrom(GameObject obj,float minRange,float minMargin) { public void Stop() { target = new TargetInformation(); - target.target = this.gameObject; + target.target = gameObject; target.isHostile = false; target.hasDamageRange = false; target.runTowards = true; - } - public void Kill(bool fast=false) + public void Kill(bool fast = false) { - if (this.isAlive) + if (isAlive) { - this.animator.Kill(fast); - this.isAlive = false; + animator.Kill(fast); + isAlive = false; agent.isStopped = true; - - } - - } - private void OnTriggerEnter(Collider other) - { - if (other.gameObject.GetComponent<BulletComponent>() != null) - { - - this.health -= other.gameObject.GetComponent<BulletComponent>().DamageMagnitude; } } - - - } -class TargetInformation -{ - public GameObject target; - public bool isHostile; - public bool hasDamageRange; - public float damageRange; +internal class TargetInformation +{ public float damageMargin; + public float damageRange; + public bool hasDamageRange; + public bool isHostile; public bool runTowards; + public GameObject target; } \ No newline at end of file diff --git a/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs b/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs index ef51802..13ca696 100644 --- a/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs +++ b/Assets/Scripts/Enemies/AI/Tester/TestSkinnlessMonster.cs @@ -1,38 +1,22 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class TestSkinnlessMonster : MonoBehaviour { - [SerializeField] - private SkinlessMonsterComponent monster; - [SerializeField] - private Camera cam; + [SerializeField] private SkinlessMonsterComponent monster; + + [SerializeField] private Camera cam; + // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - if (Input.GetKeyDown(KeyCode.Alpha1)) - { - monster.Target(cam.gameObject, true); - } - if (Input.GetKeyDown(KeyCode.Alpha2)) - { - monster.TargetFlare(cam.gameObject, 1, 1); - } - if (Input.GetKeyDown(KeyCode.Alpha3)) - { - - monster.RunAwayFrom(cam.gameObject, 1, 1); - } - if (Input.GetKeyDown(KeyCode.Alpha0)) - { - monster.Stop(); - } + if (Input.GetKeyDown(KeyCode.Alpha1)) monster.Target(cam.gameObject, true); + if (Input.GetKeyDown(KeyCode.Alpha2)) monster.TargetFlare(cam.gameObject, 1, 1); + if (Input.GetKeyDown(KeyCode.Alpha3)) monster.RunAwayFrom(cam.gameObject, 1, 1); + if (Input.GetKeyDown(KeyCode.Alpha0)) monster.Stop(); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/DummyComponent.cs b/Assets/Scripts/Enemies/DummyComponent.cs index 5f4eb6b..5dcec3e 100644 --- a/Assets/Scripts/Enemies/DummyComponent.cs +++ b/Assets/Scripts/Enemies/DummyComponent.cs @@ -1,27 +1,22 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class DummyComponent : MonoBehaviour { private Animator anim; + // Start is called before the first frame update - void Start() + private void Start() { - anim = this.GetComponentInParent<Animator>(); + anim = GetComponentInParent<Animator>(); } // Update is called once per frame - void Update() + private void Update() { - } private void OnCollisionEnter(Collision collision) { - if(collision.gameObject.GetComponent<BulletComponent>() != null) - { - anim.Play("DummyFall"); - } + if (collision.gameObject.GetComponent<BulletComponent>() != null) anim.Play("DummyFall"); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/MonsterComponent.cs b/Assets/Scripts/Enemies/MonsterComponent.cs index f0d1b8d..4d90cb3 100644 --- a/Assets/Scripts/Enemies/MonsterComponent.cs +++ b/Assets/Scripts/Enemies/MonsterComponent.cs @@ -1,26 +1,22 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class MonsterComponent : MonoBehaviour { + [SerializeField] private float attackDamage = 1f; - [SerializeField] - private float attackDamage = 1f; - public float AttackDamage { get { return this.attackDamage; } } + [SerializeField] private bool shakeCameraOnHit = true; + + public float AttackDamage => attackDamage; + + public bool ShakeCameraOnHit => shakeCameraOnHit; - [SerializeField] - private bool shakeCameraOnHit = true; - public bool ShakeCameraOnHit { get { return this.shakeCameraOnHit; } } // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs b/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs index 7fd3fe4..bec274c 100644 --- a/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs +++ b/Assets/Scripts/Enemies/Robot/IKControl_Robot.cs @@ -1,38 +1,32 @@ using UnityEngine; -using System; -using System.Collections; [RequireComponent(typeof(Animator))] - public class IKControl_Robot : MonoBehaviour { + public bool ikActive; + public Transform rightHandObj; + public Transform leftHandObj; + public Transform lookObj; + public Transform stepOnObj; + public Transform stepOffObj; protected Animator animator; - public bool ikActive = false; - public Transform rightHandObj = null; - public Transform leftHandObj = null; - public Transform lookObj = null; - public Transform stepOnObj = null; - public Transform stepOffObj = null; - - void Start() + private void Start() { animator = GetComponent<Animator>(); transform.Rotate(0, 90, 0); } //a callback for calculating IK - void OnAnimatorIK() + private void OnAnimatorIK() { if (animator) { - //if the IK is active, set the position and rotation directly to the goal. if (ikActive) { - // Set the look target position, if one has been assigned if (lookObj != null) { @@ -48,6 +42,7 @@ void OnAnimatorIK() animator.SetIKPosition(AvatarIKGoal.RightHand, rightHandObj.position); animator.SetIKRotation(AvatarIKGoal.RightHand, rightHandObj.rotation); } + if (leftHandObj != null) { animator.SetIKPositionWeight(AvatarIKGoal.LeftHand, 1); @@ -55,22 +50,22 @@ void OnAnimatorIK() animator.SetIKPosition(AvatarIKGoal.LeftHand, leftHandObj.position); animator.SetIKRotation(AvatarIKGoal.LeftHand, leftHandObj.rotation); } - if(stepOnObj != null) + + if (stepOnObj != null) { animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, 1); animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot, 1); - animator.SetIKPosition(AvatarIKGoal.LeftFoot,stepOnObj.position); - animator.SetIKRotation(AvatarIKGoal.LeftFoot,stepOnObj.rotation); - + animator.SetIKPosition(AvatarIKGoal.LeftFoot, stepOnObj.position); + animator.SetIKRotation(AvatarIKGoal.LeftFoot, stepOnObj.rotation); } - if(stepOffObj!= null) { + + if (stepOffObj != null) + { animator.SetIKPositionWeight(AvatarIKGoal.RightFoot, 1); animator.SetIKRotationWeight(AvatarIKGoal.RightFoot, 1); animator.SetIKPosition(AvatarIKGoal.RightFoot, stepOffObj.position); animator.SetIKRotation(AvatarIKGoal.RightFoot, stepOffObj.rotation); - } - } //if the IK is not active, set the position and rotation of the hand and head back to the original position @@ -87,8 +82,6 @@ void OnAnimatorIK() animator.SetIKPositionWeight(AvatarIKGoal.RightFoot, 0); animator.SetIKRotationWeight(AvatarIKGoal.RightFoot, 0); - - } } } diff --git a/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs b/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs index e2abeac..90a8e11 100644 --- a/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs +++ b/Assets/Scripts/Enemies/Robot/RobotMouthAnimator.cs @@ -1,24 +1,24 @@ using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.VFX; public class RobotMouthAnimator : MonoBehaviour { + [SerializeField] private VisualEffect fireEffect; + + [SerializeField] private Light fireLight; + private Animator anim; - [SerializeField] - private VisualEffect fireEffect; - [SerializeField] - private Light fireLight; + // Start is called before the first frame update - void Start() + private void Start() { anim = GetComponent<Animator>(); fireLight.gameObject.SetActive(false); } // Update is called once per frame - void Update() + private void Update() { if (Input.GetKeyDown(KeyCode.Return)) { @@ -26,21 +26,19 @@ void Update() if (anim.GetBool("FlapsOpen")) { StartCoroutine(WaitToFire()); - } else { fireEffect.Stop(); fireLight.gameObject.SetActive(false); } - } } + private IEnumerator WaitToFire() { yield return new WaitForSeconds(1.5f); fireEffect.Play(); fireLight.gameObject.SetActive(true); - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enemies/SwarmAnimator.cs b/Assets/Scripts/Enemies/SwarmAnimator.cs index 8c99573..50164a2 100644 --- a/Assets/Scripts/Enemies/SwarmAnimator.cs +++ b/Assets/Scripts/Enemies/SwarmAnimator.cs @@ -1,74 +1,62 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.VFX; [ExecuteAlways] public class SwarmAnimator : MonoBehaviour { - [SerializeField] - private VisualEffect vfx; + [SerializeField] private VisualEffect vfx; - private Vector3 currentPosition; - private Vector3 previousPosition; - [SerializeField] - private Rigidbody rb; + [SerializeField] private Rigidbody rb; //[SerializeField] //private string parameterName = "DeltaVector"; - [SerializeField] - private Vector3 avoidancePosDefault; + [SerializeField] private Vector3 avoidancePosDefault; - [SerializeField] - private float explodeDuration = 1.0f; - private float dur = 0f; - private bool isExploding = false; + [SerializeField] private float explodeDuration = 1.0f; + + private Vector3 currentPosition; + private float dur; + private bool isExploding; + private Vector3 previousPosition; // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { previousPosition = currentPosition; currentPosition = transform.position; - Vector3 velocity = (currentPosition - previousPosition) ; + var velocity = currentPosition - previousPosition; vfx.SetVector3("DeltaVector", velocity); - if (Input.GetKeyDown(KeyCode.Space)) - { - Explode(); - } + if (Input.GetKeyDown(KeyCode.Space)) Explode(); if (isExploding) { - if(dur> explodeDuration) - { - StopExplode(); - } + if (dur > explodeDuration) StopExplode(); dur += Time.deltaTime; } - } - void Explode() + private void FixedUpdate() + { + } + + private void Explode() { vfx.SetVector3("Avoid", transform.position); - this.isExploding = true; + isExploding = true; dur = 0; //Wait a sec then stop. } - void StopExplode() + + private void StopExplode() { vfx.SetVector3("Avoid", avoidancePosDefault); - this.isExploding = false; + isExploding = false; vfx.Stop(); } - private void FixedUpdate() - { - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Enviornment/EmissiveLightMatching.cs b/Assets/Scripts/Enviornment/EmissiveLightMatching.cs index ddf2f9d..d506843 100644 --- a/Assets/Scripts/Enviornment/EmissiveLightMatching.cs +++ b/Assets/Scripts/Enviornment/EmissiveLightMatching.cs @@ -1,40 +1,36 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; public class EmissiveLightMatching : MonoBehaviour { - [SerializeField] - private List<int> indexes; - private List<Color> colors= new List<Color>(); - [SerializeField] - private Light reference; + [SerializeField] private List<int> indexes; + + [SerializeField] private Light reference; + + private readonly List<Color> colors = new(); private float initIntensity; private void Awake() { initIntensity = reference.intensity; } + // Start is called before the first frame update - void Start() + private void Start() { - - foreach(int index in indexes) { - colors.Add(this.gameObject.GetComponent<MeshRenderer>().materials[index].GetColor("_EmissiveColor")); - } - + foreach (var index in indexes) + colors.Add(gameObject.GetComponent<MeshRenderer>().materials[index].GetColor("_EmissiveColor")); } - + // Update is called once per frame - void Update() + private void Update() { - int x = 0; - foreach(int i in indexes) + var x = 0; + foreach (var i in indexes) { - - this.gameObject.GetComponent<MeshRenderer>().materials[i].SetColor("_EmissiveColor", colors[x] * ((10*reference.intensity / initIntensity))); + gameObject.GetComponent<MeshRenderer>().materials[i].SetColor("_EmissiveColor", + colors[x] * (10 * reference.intensity / initIntensity)); x++; } - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Experimental/TestAnimationParameters.cs b/Assets/Scripts/Experimental/TestAnimationParameters.cs index 9fb86cd..5e0a823 100644 --- a/Assets/Scripts/Experimental/TestAnimationParameters.cs +++ b/Assets/Scripts/Experimental/TestAnimationParameters.cs @@ -1,39 +1,40 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class TestAnimationParameters : MonoBehaviour { + [SerializeField] private float speed; + + [SerializeField] private int attackIndex; + + [SerializeField] private int attack; + + [SerializeField] private bool inlight; + + [SerializeField] private int attackScream; + private Animator animator; - [SerializeField] - private float speed = 0; - [SerializeField] - private int attackIndex = 0; - [SerializeField] - private int attack = 0; private int pattack = -1; - [SerializeField] - private bool inlight = false; - [SerializeField] - private int attackScream = 0; private int pAttackScream = -1; - + // Start is called before the first frame update - void Start() + private void Start() { - animator= GetComponent<Animator>(); + animator = GetComponent<Animator>(); } // Update is called once per frame - void Update() + private void Update() { animator.SetFloat("Speed", speed); animator.SetInteger("AttackIndex", attackIndex); - if (Input.GetKeyDown(KeyCode.Tab)){ + if (Input.GetKeyDown(KeyCode.Tab)) + { animator.SetTrigger("Attack"); pattack = attack; - }; + } + + ; animator.SetBool("InLight", inlight); if (Input.GetKeyDown(KeyCode.Space)) { @@ -41,4 +42,4 @@ void Update() pAttackScream = attackScream; } } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Game/InGameManager.cs b/Assets/Scripts/Game/InGameManager.cs index 52558b8..466a44f 100644 --- a/Assets/Scripts/Game/InGameManager.cs +++ b/Assets/Scripts/Game/InGameManager.cs @@ -2,115 +2,32 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; -using UnityEngine.UI; using UnityEngine.SceneManagement; - - public class InGameManager : MonoBehaviour { + [SerializeField] private Volume gameVolume; - [SerializeField] - private Volume gameVolume; - [SerializeField] - private Volume pausedVolume; + [SerializeField] private Volume pausedVolume; - [SerializeField] - private bool isPaused = false; - private bool isTransitioning = false; + [SerializeField] private bool isPaused; - // [SerializeField] + // [SerializeField] //private float pauseTransitionDuration = 1f; - [SerializeField] - private Canvas gameCanvas; - [SerializeField] - private Canvas pausedCanvas; - [SerializeField] - private List<AudioSource> sounds = new List<AudioSource>(); - private List<float> initSoundVolumes = new List<float>(); + [SerializeField] private Canvas gameCanvas; - public bool IsPaused { get { return this.isPaused; } } + [SerializeField] private Canvas pausedCanvas; - public void TogglePause() - { - if (!isTransitioning) - { - isPaused = !isPaused; - Cursor.visible = isPaused; - if (!isPaused) - { - Cursor.lockState = CursorLockMode.Locked; - } - else - { - Cursor.lockState = CursorLockMode.None; - } - StartCoroutine(pauseTransition()); + [SerializeField] private List<AudioSource> sounds = new(); - } + private readonly List<float> initSoundVolumes = new(); + private bool isTransitioning; - } - public void UnPause() - { - if (!isTransitioning) - { - isPaused = false; - Cursor.lockState = CursorLockMode.Locked; - Cursor.visible = isPaused; - StartCoroutine(pauseTransition()); - } - - } - public void Pause() - { - if (!isTransitioning) - { - isPaused = true; - Cursor.lockState = CursorLockMode.None; - Cursor.visible = isPaused; - StartCoroutine(pauseTransition()); - } - - } + public bool IsPaused => isPaused; - IEnumerator pauseTransition() - { - if (pausedCanvas.gameObject.activeInHierarchy && !isPaused) - { - pausedCanvas.gameObject.SetActive(false); - } - if (gameCanvas.gameObject.activeInHierarchy && isPaused) - { - gameCanvas.gameObject.SetActive(false); - } - - this.isTransitioning = true; - yield return new WaitForSeconds(0); - this.isTransitioning = false; - print("Unpause canvas?" + isPaused+","+pausedCanvas.gameObject.activeInHierarchy); - if (!pausedCanvas.gameObject.activeInHierarchy && isPaused) - { - pausedCanvas.gameObject.SetActive(true); - - } - if (!gameCanvas.gameObject.activeInHierarchy && !isPaused) - { - gameCanvas.gameObject.SetActive(true); - } - - } - - - public void SetVolume(float volume) - { - for (int i = 0;i<sounds.Count;i++) - { - sounds[i].volume = initSoundVolumes[i]*volume; - } - } // Start is called before the first frame update - void Start() + private void Start() { isPaused = false; Cursor.lockState = CursorLockMode.Locked; @@ -120,23 +37,15 @@ void Start() gameCanvas.gameObject.SetActive(true); pausedCanvas.gameObject.SetActive(false); - foreach (AudioSource source in sounds) - { - initSoundVolumes.Add(source.volume); - } - + foreach (var source in sounds) initSoundVolumes.Add(source.volume); } // Update is called once per frame - void Update() + private void Update() { - if (Input.GetButtonDown("Pause")) - { - this.TogglePause(); - - } + if (Input.GetButtonDown("Pause")) TogglePause(); - if (isTransitioning||true) + if (isTransitioning || true) { if (isPaused) { @@ -149,20 +58,74 @@ void Update() //pausedVolume.weight = pausedVolume.weight > 0.9 ? 1 : pausedVolume.weight; gameVolume.weight = 0; pausedVolume.weight = 1; - } else { //transition out of pause - + gameVolume.weight = 1; pausedVolume.weight = 0; } } } + public void TogglePause() + { + if (!isTransitioning) + { + isPaused = !isPaused; + Cursor.visible = isPaused; + if (!isPaused) + Cursor.lockState = CursorLockMode.Locked; + else + Cursor.lockState = CursorLockMode.None; + StartCoroutine(pauseTransition()); + } + } + + public void UnPause() + { + if (!isTransitioning) + { + isPaused = false; + Cursor.lockState = CursorLockMode.Locked; + Cursor.visible = isPaused; + StartCoroutine(pauseTransition()); + } + } + + public void Pause() + { + if (!isTransitioning) + { + isPaused = true; + Cursor.lockState = CursorLockMode.None; + Cursor.visible = isPaused; + StartCoroutine(pauseTransition()); + } + } + + private IEnumerator pauseTransition() + { + if (pausedCanvas.gameObject.activeInHierarchy && !isPaused) pausedCanvas.gameObject.SetActive(false); + if (gameCanvas.gameObject.activeInHierarchy && isPaused) gameCanvas.gameObject.SetActive(false); + + isTransitioning = true; + yield return new WaitForSeconds(0); + isTransitioning = false; + print("Unpause canvas?" + isPaused + "," + pausedCanvas.gameObject.activeInHierarchy); + if (!pausedCanvas.gameObject.activeInHierarchy && isPaused) pausedCanvas.gameObject.SetActive(true); + if (!gameCanvas.gameObject.activeInHierarchy && !isPaused) gameCanvas.gameObject.SetActive(true); + } + + + public void SetVolume(float volume) + { + for (var i = 0; i < sounds.Count; i++) sounds[i].volume = initSoundVolumes[i] * volume; + } + public void ExitToMenu() { SceneManager.LoadScene(0); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Game/InGameMenuManager.cs b/Assets/Scripts/Game/InGameMenuManager.cs index 384487e..d25b294 100644 --- a/Assets/Scripts/Game/InGameMenuManager.cs +++ b/Assets/Scripts/Game/InGameMenuManager.cs @@ -1,52 +1,52 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class InGameMenuManager : MonoBehaviour { - [SerializeField] - private Button settingsButton; - [SerializeField] - private Button returnToMenuButton; - private Animator menuAnimator; - [SerializeField] - private Scrollbar sensitivitySlider; - [SerializeField] - private Scrollbar volumeSlider; - private PlayerComponent player; + [SerializeField] private Button settingsButton; + + [SerializeField] private Button returnToMenuButton; + + [SerializeField] private Scrollbar sensitivitySlider; + + [SerializeField] private Scrollbar volumeSlider; + private InGameManager gameManager; + private Animator menuAnimator; + private PlayerComponent player; // Start is called before the first frame update - void Start() + private void Start() { - menuAnimator= GetComponent<Animator>(); + menuAnimator = GetComponent<Animator>(); settingsButton.onClick.AddListener(SettingsClicked); returnToMenuButton.onClick.AddListener(SettingsUnClicked); - player = GameObject.FindObjectOfType(typeof(PlayerComponent)) as PlayerComponent; - gameManager = GameObject.FindObjectOfType<InGameManager>(); - } - void SettingsClicked() - { - menuAnimator.SetBool("SettingsOpen", true); - } - void SettingsUnClicked() - { - - menuAnimator.SetBool("SettingsOpen", false); - } - public void UpdateSensitivity() - { - this.player.SetSensitivity(sensitivitySlider.value*4f); - } - public void UpdateVolume() - { - gameManager.SetVolume(volumeSlider.value*2); + player = FindObjectOfType(typeof(PlayerComponent)) as PlayerComponent; + gameManager = FindObjectOfType<InGameManager>(); } // Update is called once per frame - void Update() + private void Update() { - } -} + + private void SettingsClicked() + { + menuAnimator.SetBool("SettingsOpen", true); + } + + private void SettingsUnClicked() + { + menuAnimator.SetBool("SettingsOpen", false); + } + + public void UpdateSensitivity() + { + player.SetSensitivity(sensitivitySlider.value * 4f); + } + + public void UpdateVolume() + { + gameManager.SetVolume(volumeSlider.value * 2); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Game/Optimizer.cs b/Assets/Scripts/Game/Optimizer.cs index e1c63be..925fb3a 100644 --- a/Assets/Scripts/Game/Optimizer.cs +++ b/Assets/Scripts/Game/Optimizer.cs @@ -1,54 +1,39 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; /// <summary> -/// Attach this behavior to a master room collider. Enables everything in this room OnTriggerEnter of [tag] -/// disables everything in this room OnTriggerExit of [tag] +/// Attach this behavior to a master room collider. Enables everything in this room OnTriggerEnter of [tag] +/// disables everything in this room OnTriggerExit of [tag] /// </summary> public class Optimizer : MonoBehaviour { - [SerializeField] - public string Tag; - [SerializeField] - private GameObject[] references; - [SerializeField] - private bool beginDisabled = true; + [SerializeField] public string Tag; + + [SerializeField] private GameObject[] references; + + [SerializeField] private bool beginDisabled = true; + private void Start() { - if (beginDisabled) - { - Disable(); - } - } - public void Enable() - { - foreach (GameObject go in references) - { - go.SetActive(true); - } - } - public void Disable() - { - foreach (GameObject go in references) - { - go.SetActive(false); - } + if (beginDisabled) Disable(); } private void OnTriggerEnter(Collider other) { - if (other.CompareTag(Tag)) - { - Enable(); - } + if (other.CompareTag(Tag)) Enable(); } private void OnTriggerExit(Collider other) { - if (other.CompareTag(Tag)) - { - Disable(); - } + if (other.CompareTag(Tag)) Disable(); } -} + + public void Enable() + { + foreach (var go in references) go.SetActive(true); + } + + public void Disable() + { + foreach (var go in references) go.SetActive(false); + } +} \ No newline at end of file diff --git a/Assets/Scripts/GemItem.cs b/Assets/Scripts/GemItem.cs index 0275834..b97b012 100644 --- a/Assets/Scripts/GemItem.cs +++ b/Assets/Scripts/GemItem.cs @@ -1,33 +1,26 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class GemItem : MonoBehaviour { - [SerializeField] - private float instantSpeed = 98f; + [SerializeField] private float instantSpeed = 98f; + + // Start is called before the first frame update + private void Start() + { + } + + // Update is called once per frame + private void Update() + { + } - private void OnTriggerEnter(Collider collision) { if (collision.gameObject.CompareTag("Player")) { collision.gameObject.GetComponent<PlayerMovementController>().SetSpeed(instantSpeed); - Destroy(this.gameObject); - + Destroy(gameObject); } } - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Holograms/RotatingHologram.cs b/Assets/Scripts/Holograms/RotatingHologram.cs index d7445f6..caea30e 100644 --- a/Assets/Scripts/Holograms/RotatingHologram.cs +++ b/Assets/Scripts/Holograms/RotatingHologram.cs @@ -1,24 +1,20 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class RotatingHologram : MonoBehaviour { - [SerializeField] - private Vector3 globalRotation= Vector3.zero; - [SerializeField] - private Vector3 localRotation = Vector3.zero; + [SerializeField] private Vector3 globalRotation = Vector3.zero; + + [SerializeField] private Vector3 localRotation = Vector3.zero; // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - this.transform.eulerAngles += globalRotation * Time.deltaTime; - this.transform.Rotate(localRotation* Time.deltaTime); + transform.eulerAngles += globalRotation * Time.deltaTime; + transform.Rotate(localRotation * Time.deltaTime); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Interactable/Insertable.cs b/Assets/Scripts/Interactable/Insertable.cs index 747e5d1..641623d 100644 --- a/Assets/Scripts/Interactable/Insertable.cs +++ b/Assets/Scripts/Interactable/Insertable.cs @@ -1,18 +1,14 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class Insertable : MonoBehaviour { // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Interactable/Interactable.cs b/Assets/Scripts/Interactable/Interactable.cs index 7382d37..7fed5ad 100644 --- a/Assets/Scripts/Interactable/Interactable.cs +++ b/Assets/Scripts/Interactable/Interactable.cs @@ -1,20 +1,14 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class Interactable : MonoBehaviour { - - // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Interactable/ItemSelector.cs b/Assets/Scripts/Interactable/ItemSelector.cs index 891f790..9b6b894 100644 --- a/Assets/Scripts/Interactable/ItemSelector.cs +++ b/Assets/Scripts/Interactable/ItemSelector.cs @@ -1,57 +1,44 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class ItemSelector : MonoBehaviour { - [SerializeField] - private Camera cam; - private InteractableItem selected; - - [SerializeField] - private LayerMask mask; public static ItemSelector instance; - [SerializeField] - private float range = 1; - public InteractableItem Selected { get { return selected; } } + [SerializeField] private Camera cam; + + [SerializeField] private LayerMask mask; + + [SerializeField] private float range = 1; + + public InteractableItem Selected { get; private set; } // Start is called before the first frame update - void Start() + private void Start() { instance = this; } - void FixedUpdate() + // Update is called once per frame + private void Update() { - Ray ray = cam.ScreenPointToRay(Input.mousePosition); + } + + private void FixedUpdate() + { + var ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; - if (Physics.Raycast(ray, out hit,range,layerMask:mask)) + if (Physics.Raycast(ray, out hit, range, mask)) { - if(selected!= null||hit.transform.gameObject==null) - { - selected.Disable(); - } + if (Selected != null || hit.transform.gameObject == null) Selected.Disable(); - selected = hit.transform.gameObject.GetComponent<InteractableItem>(); - selected.Enable(); - print(selected); + Selected = hit.transform.gameObject.GetComponent<InteractableItem>(); + Selected.Enable(); + print(Selected); } else { - if (selected != null) - { - selected.Disable(); - } - + if (Selected != null) Selected.Disable(); } - } - - // Update is called once per frame - void Update() - { - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Inventory/Inventory.cs b/Assets/Scripts/Inventory/Inventory.cs index 4ace742..eba76a7 100644 --- a/Assets/Scripts/Inventory/Inventory.cs +++ b/Assets/Scripts/Inventory/Inventory.cs @@ -1,74 +1,67 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> -/// Inventory: -/// <list type="bullet">Inventory Name: The name of the inventory.</list> -/// <list type="bullet">Inventory Size: The amount of size the inventory has.</list> -/// <list type="bullet">Invetory Items: List of all items in the inventory. No items in the world are "destroyed" -/// instead all items in inventory are disabled, but can be looked up by their item name.</list> +/// Inventory: +/// <list type="bullet">Inventory Name: The name of the inventory.</list> +/// <list type="bullet">Inventory Size: The amount of size the inventory has.</list> +/// <list type="bullet"> +/// Invetory Items: List of all items in the inventory. No items in the world are "destroyed" +/// instead all items in inventory are disabled, but can be looked up by their item name. +/// </list> /// </summary> public class Inventory : MonoBehaviour { - [SerializeField] - private string inventoryName; - [SerializeField] - private int inventorySize; - [SerializeField] - private List<string> inventoryItems; + [SerializeField] private string inventoryName; + + [SerializeField] private int inventorySize; + + [SerializeField] private List<string> inventoryItems; + private int inventoryReserved; /// <summary> - /// Adds item to inventory. Does not disable. + /// Adds item to inventory. Does not disable. /// </summary> /// <param name="item"></param> /// <returns></returns> public bool AddItem(CarryableItem item) { - if(item.ItemSize+inventoryReserved > inventorySize) - { - return false; - } + if (item.ItemSize + inventoryReserved > inventorySize) return false; inventoryItems.Add(item.ItemName); inventoryReserved += item.ItemSize; //item.gameObject.SetActive(false); return true; } + private bool FindItemOfName(string name, out CarryableItem item) { //NOTE: May not work. May need to move instead of disable objects. - CarryableItem[] items = Resources.FindObjectsOfTypeAll<CarryableItem>(); - - foreach (CarryableItem item2 in items) - { + var items = Resources.FindObjectsOfTypeAll<CarryableItem>(); + + foreach (var item2 in items) if (item2.ItemName == name) { - item = item2; return true; } - } + item = null; return false; - } + public bool RemoveItem(string name) { - CarryableItem itemFound; - if (FindItemOfName(name,out itemFound)) + if (FindItemOfName(name, out itemFound)) { itemFound.gameObject.SetActive(true); inventoryItems.Remove(itemFound.ItemName); inventoryReserved -= itemFound.ItemSize; return true; } - - + + return false; - } - - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Inventory/TempInventory.cs b/Assets/Scripts/Inventory/TempInventory.cs index bb7f342..cce68b8 100644 --- a/Assets/Scripts/Inventory/TempInventory.cs +++ b/Assets/Scripts/Inventory/TempInventory.cs @@ -1,8 +1,8 @@ -using System.Collections; +using System; using System.Collections.Generic; using UnityEngine; -[System.Serializable] +[Serializable] public class TempInventoryBuilderItem { public string name; @@ -11,57 +11,44 @@ public class TempInventoryBuilderItem public class TempInventory : MonoBehaviour { - - private Dictionary<string,int> inventory = new Dictionary<string,int>(); - [SerializeField] - private List<TempInventoryBuilderItem> initialInvent = new List<TempInventoryBuilderItem>(); + [SerializeField] private List<TempInventoryBuilderItem> initialInvent = new(); + + private readonly Dictionary<string, int> inventory = new(); + + // Start is called before the first frame update + private void Start() + { + foreach (var item in initialInvent) inventory[item.name] = item.quantity; + } + + // Update is called once per frame + private void Update() + { + } public int GetQuantityOf(string name) { - if (inventory.ContainsKey(name)) - { - return inventory[name]; - } + if (inventory.ContainsKey(name)) return inventory[name]; return 0; } - public bool Add(string name,int quantity=1) + + public bool Add(string name, int quantity = 1) { if (inventory.ContainsKey(name)) - { inventory[name] += quantity; - } else - { inventory.Add(name, quantity); - } return true; } - public bool Remove(string name,int quantity=1) + public bool Remove(string name, int quantity = 1) { if (inventory.ContainsKey(name)) { inventory[name] = Mathf.Max(inventory[name] - quantity, 0); return false; } - else - { - return false; - } - } - // Start is called before the first frame update - void Start() - { - foreach(TempInventoryBuilderItem item in initialInvent) - { - inventory[item.name] = item.quantity; - } + return false; } - - // Update is called once per frame - void Update() - { - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/CarryableItem.cs b/Assets/Scripts/Item/CarryableItem.cs index 287f065..39c05fa 100644 --- a/Assets/Scripts/Item/CarryableItem.cs +++ b/Assets/Scripts/Item/CarryableItem.cs @@ -1,16 +1,13 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(Collider))] [RequireComponent(typeof(Rigidbody))] public abstract class CarryableItem : MonoBehaviour { - [SerializeField] - private string itemName; - public string ItemName { get { return this.itemName; } } - [SerializeField] - private int itemSize = 1; - public int ItemSize { get { return this.itemSize; } } + [SerializeField] private string itemName; -} + [SerializeField] private int itemSize = 1; + + public string ItemName => itemName; + public int ItemSize => itemSize; +} \ No newline at end of file diff --git a/Assets/Scripts/Item/DoorInteractable.cs b/Assets/Scripts/Item/DoorInteractable.cs index ba98225..1e2c03d 100644 --- a/Assets/Scripts/Item/DoorInteractable.cs +++ b/Assets/Scripts/Item/DoorInteractable.cs @@ -1,77 +1,66 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class DoorInteractable : HeavyItemReceiver { - [SerializeField] - private Transform powerCoreCenter; + [SerializeField] private Transform powerCoreCenter; + + [SerializeField] private float minAttractDist = 5; + + [SerializeField] private string nameSearched = "Power Core"; + + [SerializeField] private Animator[] anims; + private HeavyInteractableItem insertedCore; private Vector3 priorLocalPos; private Vector3 priorLocalRot; private Vector3 priorScale; - [SerializeField] - private float minAttractDist = 5; - [SerializeField] - private string nameSearched = "Power Core"; + public bool Powered => insertedCore != null; - public bool Powered { get { return this.insertedCore!= null; } } - [SerializeField] - private Animator[] anims; // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - foreach(Animator anim in anims) - { - anim.SetBool("IsPowered", Powered); - } - + foreach (var anim in anims) anim.SetBool("IsPowered", Powered); } + public override bool Interact() { //print("INTERACTED!"); - if(this.insertedCore== null) + if (insertedCore == null) { - HeavyInteractableItem[] worldHeavyItems = GameObject.FindObjectsOfType<HeavyInteractableItem>(); + var worldHeavyItems = FindObjectsOfType<HeavyInteractableItem>(); //print("Found:" + worldHeavyItems.Length); - for(int i = 0; i < worldHeavyItems.Length; i++) + for (var i = 0; i < worldHeavyItems.Length; i++) { - HeavyInteractableItem item = worldHeavyItems[i]; - - if (!item.ItemName.Contains(nameSearched)) - { - continue; - } - float dist = Vector3.Distance(item.transform.position, powerCoreCenter.transform.position); + var item = worldHeavyItems[i]; + + if (!item.ItemName.Contains(nameSearched)) continue; + var dist = Vector3.Distance(item.transform.position, powerCoreCenter.transform.position); //print("DIST:" + dist); if (dist <= minAttractDist) { - Inventory _i = PlayerInteractionHandler.instance.Inventory; - this.Interact(ref _i, ref item); + var _i = PlayerInteractionHandler.instance.Inventory; + Interact(ref _i, ref item); return true; } } - - } - - - + + return false; } - public override bool Interact(ref Inventory inventory,ref HeavyInteractableItem heavyInvent) + + public override bool Interact(ref Inventory inventory, ref HeavyInteractableItem heavyInvent) { //print("INTERACTED 2"); - // print(heavyInvent); - - if (heavyInvent!=null&&heavyInvent.ItemName.Contains(nameSearched)) + // print(heavyInvent); + + if (heavyInvent != null && heavyInvent.ItemName.Contains(nameSearched)) { //print("DOOR OPEN!"); heavyInvent.GetComponent<Rigidbody>().isKinematic = true; @@ -82,27 +71,26 @@ public override bool Interact(ref Inventory inventory,ref HeavyInteractableItem priorScale = heavyInvent.transform.localScale; heavyInvent.transform.parent = powerCoreCenter; - + heavyInvent.gameObject.transform.localPosition = Vector3.zero; heavyInvent.gameObject.transform.localEulerAngles = Vector3.zero; heavyInvent.transform.parent = null; heavyInvent.gameObject.transform.localScale = priorScale; - + insertedCore = heavyInvent; - + return true; } - else if(insertedCore!=null&&heavyInvent==null) + + if (insertedCore != null && heavyInvent == null) { heavyInvent = insertedCore; - + insertedCore = null; //get ref of player perhaps return true; } - else - { - return false; - } + + return false; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs b/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs index 06637d6..ca0d7ed 100644 --- a/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs +++ b/Assets/Scripts/Item/FlareBeacon/FlareBeacon.cs @@ -1,70 +1,69 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class FlareBeacon : MonoBehaviour { - [SerializeField] - private float range = 1; - public float Range { get { return range; }} - [SerializeField] - private float duration = 5f; + [SerializeField] private float range = 1; - private List<GameObject> inRange= new List<GameObject>(); - [SerializeField] - private NavMeshObstacle obstacle; + [SerializeField] private float duration = 5f; + + [SerializeField] private NavMeshObstacle obstacle; + + private readonly List<GameObject> inRange = new(); private FlareRegister register; - void OnDrawGizmosSelected() - { - // Draw a yellow sphere at the transform's position - Gizmos.color = Color.yellow; - - Gizmos.DrawWireSphere(transform.position, range); - } + + public float Range => range; + // Start is called before the first frame update - void Start() + private void Start() { register = FlareRegister.instance; register.beacons.Add(this); transform.localEulerAngles = new Vector3(-89.98f, 0, 0); - Ray r = new Ray(); + var r = new Ray(); r.direction = -transform.forward; r.origin = transform.position; RaycastHit hit; - RaycastHit[] rays = Physics.RaycastAll(r); - foreach(RaycastHit _hit in rays) + var rays = Physics.RaycastAll(r); + foreach (var _hit in rays) { - if (_hit.transform.gameObject.GetComponent<FlareBeacon>() != null) - { - continue; - } + if (_hit.transform.gameObject.GetComponent<FlareBeacon>() != null) continue; transform.position = _hit.point; break; } - if(Physics.Raycast(r,out hit)){ - // transform.position = hit.point; + + if (Physics.Raycast(r, out hit)) + { + // transform.position = hit.point; } - if(obstacle!=null) - obstacle.radius = this.range / 10; + if (obstacle != null) + obstacle.radius = range / 10; } // Update is called once per frame - void Update() + private void Update() { - } - + + private void OnDrawGizmosSelected() + { + // Draw a yellow sphere at the transform's position + Gizmos.color = Color.yellow; + + Gizmos.DrawWireSphere(transform.position, range); + } + private void OnTriggerEnter(Collider other) { inRange.Add(other.gameObject); } + private void OnTriggerExit(Collider other) { inRange.Remove(other.gameObject); } - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/GenericInteractable.cs b/Assets/Scripts/Item/GenericInteractable.cs index 9f1b634..440077a 100644 --- a/Assets/Scripts/Item/GenericInteractable.cs +++ b/Assets/Scripts/Item/GenericInteractable.cs @@ -1,27 +1,21 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - public class GenericInteractable : InteractableItem { - - - private void Awake() { BaseAwake(); } + private void Start() { - } + public override bool Interact() { return false; } + public override bool Interact(ref Inventory inventory, ref HeavyInteractableItem heavyInvent) { - return this.Interact(); + return Interact(); } - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/HeavyInteractableItem.cs b/Assets/Scripts/Item/HeavyInteractableItem.cs index 508ddfa..fa512aa 100644 --- a/Assets/Scripts/Item/HeavyInteractableItem.cs +++ b/Assets/Scripts/Item/HeavyInteractableItem.cs @@ -1,32 +1,38 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class HeavyInteractableItem : InteractableItem { private Vector3 init_rot; + // Start is called before the first frame update - void Start() + private void Start() { init_rot = transform.eulerAngles; } // Update is called once per frame - void Update() + private void Update() { - } + + private void FixedUpdate() + { + BaseFixedUpdate(); + //print("Alpha Target:"+ base.target_alpha); + } + public void DisableAll() { - this.GetComponent<Collider>().enabled = false; - + GetComponent<Collider>().enabled = false; } + public override bool Interact() { //Todo return false; } - public override bool Interact(ref Inventory inventory,ref HeavyInteractableItem heavyInvent) + + public override bool Interact(ref Inventory inventory, ref HeavyInteractableItem heavyInvent) { return false; } @@ -34,14 +40,7 @@ public override bool Interact(ref Inventory inventory,ref HeavyInteractableItem public void EnableAll() { - this.GetComponent<Collider>().enabled = true; - this.transform.eulerAngles = new Vector3(init_rot.x,transform.eulerAngles.y,init_rot.z); - + GetComponent<Collider>().enabled = true; + transform.eulerAngles = new Vector3(init_rot.x, transform.eulerAngles.y, init_rot.z); } - - private void FixedUpdate() - { - BaseFixedUpdate(); - //print("Alpha Target:"+ base.target_alpha); - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/HeavyItemReceiver.cs b/Assets/Scripts/Item/HeavyItemReceiver.cs index 42e0510..c697ef2 100644 --- a/Assets/Scripts/Item/HeavyItemReceiver.cs +++ b/Assets/Scripts/Item/HeavyItemReceiver.cs @@ -1,13 +1,9 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public abstract class HeavyItemReceiver : InteractableItem { - protected HeavyInteractableItem item; - [SerializeField] - [Tooltip("Specify the keyword search in the name of the item!")] + [SerializeField] [Tooltip("Specify the keyword search in the name of the item!")] protected string searchString; - -} + protected HeavyInteractableItem item; +} \ No newline at end of file diff --git a/Assets/Scripts/Item/InteractableItem.cs b/Assets/Scripts/Item/InteractableItem.cs index b1ea077..40d2bc7 100644 --- a/Assets/Scripts/Item/InteractableItem.cs +++ b/Assets/Scripts/Item/InteractableItem.cs @@ -1,77 +1,68 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; using TMPro; +using UnityEngine; using UnityEngine.UI; - [RequireComponent(typeof(Collider))] [RequireComponent(typeof(Rigidbody))] public abstract class InteractableItem : CarryableItem { - + [SerializeField] private Canvas interactionCanvas; + + [SerializeField] protected bool canPickup; - [SerializeField] - private Canvas interactionCanvas; - private TMP_Text[] interaction_texts; private Image[] interaction_images; - protected float target_alpha = 0; - [SerializeField] - protected bool canPickup = false; - protected bool isEnabled = false; + private TMP_Text[] interaction_texts; + protected bool isEnabled; + protected float target_alpha; - public bool CanPickup { get { return canPickup; } } - public bool IsEnabled { get { return isEnabled; } } + public bool CanPickup => canPickup; + public bool IsEnabled => isEnabled; + + private void Awake() + { + BaseAwake(); + } + + private void FixedUpdate() + { + BaseFixedUpdate(); + } public void Enable() { //print("Enabled!"); - interactionCanvas.transform.LookAt((GameObject.FindGameObjectWithTag("MainCamera").transform.position)); + interactionCanvas.transform.LookAt(GameObject.FindGameObjectWithTag("MainCamera").transform.position); interactionCanvas.transform.Rotate(0, 180, 0); target_alpha = 1; isEnabled = true; } - + public void Disable() { //print("Disabled!"); target_alpha = 0; isEnabled = true; } + public abstract bool Interact(); - public abstract bool Interact(ref Inventory inventory,ref HeavyInteractableItem heavyInvent); - + public abstract bool Interact(ref Inventory inventory, ref HeavyInteractableItem heavyInvent); + protected void BaseAwake() { interaction_texts = interactionCanvas.GetComponentsInChildren<TMP_Text>(); interaction_images = interactionCanvas.GetComponentsInChildren<Image>(); - foreach (TMP_Text text in interaction_texts) - { - text.color = new Color(text.color.r, text.color.g, text.color.b, 0); - } - foreach (Image image in interaction_images) - { + foreach (var text in interaction_texts) text.color = new Color(text.color.r, text.color.g, text.color.b, 0); + foreach (var image in interaction_images) image.color = new Color(image.color.r, image.color.g, image.color.b, 0); - } - } - protected void BaseFixedUpdate() - { - foreach (TMP_Text text in interaction_texts) - { - text.color = Color.Lerp(new Color(text.color.r, text.color.g, text.color.b, text.color.a), new Color(text.color.r, text.color.g, text.color.b, target_alpha), 10 * Time.deltaTime); - } - foreach (Image image in interaction_images) - { - image.color = Color.Lerp(new Color(image.color.r, image.color.g, image.color.b, image.color.a), new Color(image.color.r, image.color.g, image.color.b, target_alpha), 10 * Time.deltaTime); - } } - private void Awake() + protected void BaseFixedUpdate() { - BaseAwake(); + foreach (var text in interaction_texts) + text.color = Color.Lerp(new Color(text.color.r, text.color.g, text.color.b, text.color.a), + new Color(text.color.r, text.color.g, text.color.b, target_alpha), 10 * Time.deltaTime); + foreach (var image in interaction_images) + image.color = Color.Lerp(new Color(image.color.r, image.color.g, image.color.b, image.color.a), + new Color(image.color.r, image.color.g, image.color.b, target_alpha), 10 * Time.deltaTime); } - private void FixedUpdate() - { - BaseFixedUpdate(); - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/KeyItem.cs b/Assets/Scripts/Item/KeyItem.cs index c41e790..fdb33e9 100644 --- a/Assets/Scripts/Item/KeyItem.cs +++ b/Assets/Scripts/Item/KeyItem.cs @@ -1,29 +1,29 @@ -using System.Collections; -using System.Collections.Generic; +using System; using UnityEngine; public class KeyItem : InteractableItem { - [SerializeField] - private string keyName; - public string KeyName { get { return keyName; } } + [SerializeField] private string keyName; + + public string KeyName => keyName; private void Awake() { BaseAwake(); } + private void Start() { - - } - public override bool Interact() - { - throw new System.NotImplementedException(); - } - public override bool Interact(ref Inventory inventory,ref HeavyInteractableItem heavyInvent) - { - return this.Interact(); } -} + public override bool Interact() + { + throw new NotImplementedException(); + } + + public override bool Interact(ref Inventory inventory, ref HeavyInteractableItem heavyInvent) + { + return Interact(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Item/Pistol/BulletComponent.cs b/Assets/Scripts/Item/Pistol/BulletComponent.cs index d4eff3c..abb9c9a 100644 --- a/Assets/Scripts/Item/Pistol/BulletComponent.cs +++ b/Assets/Scripts/Item/Pistol/BulletComponent.cs @@ -1,42 +1,40 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class BulletComponent : MonoBehaviour { - [SerializeField] - private float duration = 5f; - private float existed = 0f; - [SerializeField] - private string type = "flare"; + [SerializeField] private float duration = 5f; + + [SerializeField] private string type = "flare"; + + [SerializeField] private float damageRange = 20f; + + [SerializeField] private float damageMagnitude = 1f; + + private float existed; private FlareRegister register; - [SerializeField] - private float damageRange = 20f; - [SerializeField] - private float damageMagnitude = 1f; - public float DamageMagnitude { get { return this.damageMagnitude; } } - public float DamageRange { get { return damageRange; } } - + public float DamageMagnitude => damageMagnitude; + public float DamageRange => damageRange; + // Start is called before the first frame update - void Start() + private void Start() { register = FlareRegister.instance; register.bullets.Add(this); } // Update is called once per frame - void Update() + private void Update() { - } + private void FixedUpdate() { - if(existed >= duration) + if (existed >= duration) { register.bullets.Remove(this); - Destroy(this.gameObject); + Destroy(gameObject); } + existed += Time.fixedDeltaTime; - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs b/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs index 78aa438..1c110ea 100644 --- a/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs +++ b/Assets/Scripts/Item/Pistol/PistolAnimationAimAssist.cs @@ -1,28 +1,27 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class PistolAnimationAimAssist : MonoBehaviour { public Transform leftShoulder; public Transform rightShoulder; - [SerializeField] - private bool isEnabled = false; - Vector3 lTarget; - Vector3 rTarget; + [SerializeField] private bool isEnabled; + private Animator anim; + private Vector3 lTarget; + private Vector3 rTarget; + // Start is called before the first frame update - void Start() + private void Start() { lTarget = new Vector3(72.9f, 122.2f, -129.9f); rTarget = new Vector3(82f, 11f, -88f); - anim =GetComponent<Animator>(); + anim = GetComponent<Animator>(); } // Update is called once per frame - void Update() + private void Update() { if (isEnabled) { @@ -33,12 +32,14 @@ void Update() anim.StartPlayback(); } } + public void Enable() { isEnabled = true; } + public void Disable() { isEnabled = false; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/Pistol/PistolComponent.cs b/Assets/Scripts/Item/Pistol/PistolComponent.cs index 2d6e2f3..580c835 100644 --- a/Assets/Scripts/Item/Pistol/PistolComponent.cs +++ b/Assets/Scripts/Item/Pistol/PistolComponent.cs @@ -1,127 +1,124 @@ -using System.Collections; -using System.Collections.Generic; -using Unity.Burst.CompilerServices; using UnityEngine; using UnityEngine.VFX; public class PistolComponent : MonoBehaviour { + public enum AimMode + { + GUN, + MODIFIED, + CAMERA + } - public enum AimMode {GUN,MODIFIED,CAMERA}; public AimMode aimMode = AimMode.CAMERA; - [SerializeField] - private Light targetingLight; + + [SerializeField] private Light targetingLight; + + [SerializeField] private GameObject targetObjectPrefab; + + [SerializeField] public GameObject projectilePrefab; + + [SerializeField] public string projectileName; + + [SerializeField] private Transform bulletSpawnPoint; + + [SerializeField] private float firePower = 20f; + + [SerializeField] private float maxProjectileDuration = 5f; + + [SerializeField] private float maxTargetObjDistance = 15f; + + [SerializeField] private VisualEffect shootEffect; + + [SerializeField] private Light shootLight; + + [SerializeField] private float shootLightDuration = 0.1f; + + [SerializeField] private LayerMask ignoreLayers; + + private bool hasCloseTarget; - private bool IsEnabled = false; - - GameObject targetObject; - - [SerializeField] - GameObject targetObjectPrefab; - [SerializeField] - public GameObject projectilePrefab; - [SerializeField] - public string projectileName; - [SerializeField] - private Transform bulletSpawnPoint; - [SerializeField] - private float firePower = 20f; - [SerializeField] - private float maxProjectileDuration = 5f; - [SerializeField] - private float maxTargetObjDistance = 15f; - [SerializeField] - private VisualEffect shootEffect; - [SerializeField] - private Light shootLight; - [SerializeField] - private float shootLightDuration = 0.1f; - private float timeSinceLightDuration = 0f; + private bool IsEnabled; - private bool hasCloseTarget = false; - [SerializeField] - private LayerMask ignoreLayers; + private GameObject targetObject; + private float timeSinceLightDuration; + public bool IsLightOn => targetingLight.gameObject.activeSelf; //private Dictionary<int,float> projectiles = new Dictionary<int, float>(); // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { timeSinceLightDuration += Time.deltaTime; } - private float CalculateDrop(Vector3 origin,Vector3 destination,Vector3 force) - { - // Calculate the initial velocity required to reach the destination. - Vector3 displacement = destination - origin; - float time = Mathf.Sqrt(2f * displacement.magnitude / Physics.gravity.magnitude); - Vector3 velocity = (displacement - 0.5f * Physics.gravity * time * time) / time + force; - // Calculate the height the object will reach during its flight. - float maxHeight = origin.y + velocity.y * time - 0.5f * Physics.gravity.y * time * time; - - // Calculate the distance the object will drop during its flight. - float dropDistance = maxHeight - destination.y; - - return dropDistance; - } private void FixedUpdate() { - if (shootLight.gameObject.activeSelf&&timeSinceLightDuration>shootLightDuration) - { + if (shootLight.gameObject.activeSelf && timeSinceLightDuration > shootLightDuration) shootLight.gameObject.SetActive(false); - } - if (aimMode==AimMode.CAMERA) + if (aimMode == AimMode.CAMERA) targetObject.gameObject.transform.position = PlayerAim.active.targetPosition; + if (IsEnabled && aimMode != AimMode.CAMERA) { - targetObject.gameObject.transform.position = PlayerAim.active.targetPosition; - } - if (this.IsEnabled&&aimMode!=AimMode.CAMERA) - { - Ray ray = new Ray(transform.position, transform.up); + var ray = new Ray(transform.position, transform.up); RaycastHit hit; - if (Physics.Raycast(ray, out hit, 50,ignoreLayers)) + if (Physics.Raycast(ray, out hit, 50, ignoreLayers)) { - - float hitDist = Vector3.Distance(hit.point, transform.position); + var hitDist = Vector3.Distance(hit.point, transform.position); if (hitDist < maxTargetObjDistance) { targetObject.gameObject.transform.position = hit.point; - - targetObject.gameObject.GetComponent<MeshRenderer>().materials[0].SetColor("_EmissiveColor", new Color(255, 0,0)); + + targetObject.gameObject.GetComponent<MeshRenderer>().materials[0] + .SetColor("_EmissiveColor", new Color(255, 0, 0)); //Track if we have a close target - hasCloseTarget = true; + hasCloseTarget = true; } else { - targetObject.gameObject.transform.position = transform.position + (ray.direction * maxTargetObjDistance); - - targetObject.gameObject.GetComponent<MeshRenderer>().materials[0].SetColor("_EmissiveColor", new Color(255, 255,255)); + targetObject.gameObject.transform.position = + transform.position + ray.direction * maxTargetObjDistance; + + targetObject.gameObject.GetComponent<MeshRenderer>().materials[0] + .SetColor("_EmissiveColor", new Color(255, 255, 255)); //Track if we have a close target hasCloseTarget = false; } //float drop = CalculateDrop(this.bulletSpawnPoint.position, hit.point, this.transform.up * this.firePower); //print(drop); - } else { - targetObject.gameObject.transform.position = transform.position + (ray.direction * maxTargetObjDistance); + targetObject.gameObject.transform.position = transform.position + ray.direction * maxTargetObjDistance; - targetObject.gameObject.GetComponent<MeshRenderer>().materials[0].SetColor("_EmissiveColor", new Color(255,255,255)); + targetObject.gameObject.GetComponent<MeshRenderer>().materials[0] + .SetColor("_EmissiveColor", new Color(255, 255, 255)); hasCloseTarget = false; } } - - - - } + + private float CalculateDrop(Vector3 origin, Vector3 destination, Vector3 force) + { + // Calculate the initial velocity required to reach the destination. + var displacement = destination - origin; + var time = Mathf.Sqrt(2f * displacement.magnitude / Physics.gravity.magnitude); + var velocity = (displacement - 0.5f * Physics.gravity * time * time) / time + force; + + // Calculate the height the object will reach during its flight. + var maxHeight = origin.y + velocity.y * time - 0.5f * Physics.gravity.y * time * time; + + // Calculate the distance the object will drop during its flight. + var dropDistance = maxHeight - destination.y; + + return dropDistance; + } + public void Fire() { Fire(!hasCloseTarget); @@ -131,71 +128,62 @@ public void Fire(bool offsetWithTargetBall) { shootLightDuration = 0; shootLight.gameObject.SetActive(true); - GameObject projectile = Instantiate(projectilePrefab, this.bulletSpawnPoint); + var projectile = Instantiate(projectilePrefab, bulletSpawnPoint); projectile.transform.localPosition = Vector3.zero; projectile.transform.localEulerAngles = Vector3.zero; projectile.transform.localScale = Vector3.one; - Rigidbody pRigid = projectile.GetComponent<Rigidbody>(); + var pRigid = projectile.GetComponent<Rigidbody>(); /*Modified targeting system 1. Since aim direction is vector from camera to ball (where player thinks its gonna go), raycast forward there, till hit. If no hit, then set target distance to ~50. 2. Modify launch vector apply modified force */ - Vector3 launchVector = pRigid.transform.up * this.firePower; + var launchVector = pRigid.transform.up * firePower; - if(offsetWithTargetBall||aimMode==AimMode.MODIFIED) + if (offsetWithTargetBall || aimMode == AimMode.MODIFIED) { - Vector3 ballCamVector = targetObject.transform.position - this.GetComponentInParent<PlayerMovementController>().cam.transform.position; - Ray r = new Ray(); + var ballCamVector = targetObject.transform.position - + GetComponentInParent<PlayerMovementController>().cam.transform.position; + var r = new Ray(); r.origin = targetObject.transform.position; r.direction = ballCamVector.normalized; RaycastHit hit; - if (Physics.Raycast(r,out hit,ignoreLayers)) + if (Physics.Raycast(r, out hit, ignoreLayers)) { launchVector = (hit.point - pRigid.transform.position).normalized; - launchVector *= this.firePower; + launchVector *= firePower; } } - else if(aimMode==AimMode.CAMERA) + else if (aimMode == AimMode.CAMERA) { - Vector3 target = PlayerAim.active.targetPosition; - - Vector3 lv = target - pRigid.transform.position; + var target = PlayerAim.active.targetPosition; + + var lv = target - pRigid.transform.position; launchVector = lv.normalized; - launchVector*= this.firePower; - + launchVector *= firePower; } pRigid.AddForce(launchVector, ForceMode.Impulse); projectile.transform.parent = null; shootEffect.Play(); - - - } + public void Enable() { IsEnabled = true; - if (targetObject == null) - { - targetObject = Instantiate(targetObjectPrefab); - - } + if (targetObject == null) targetObject = Instantiate(targetObjectPrefab); } + public void Disable() { IsEnabled = false; - if (targetObject != null) - { - Destroy(targetObject); - } + if (targetObject != null) Destroy(targetObject); } - - public void LightToggle() { - this.targetingLight.gameObject.SetActive(!this.targetingLight.gameObject.activeSelf); + + public void LightToggle() + { + targetingLight.gameObject.SetActive(!targetingLight.gameObject.activeSelf); } - public bool IsLightOn { get { return this.targetingLight.gameObject.activeSelf; } } - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/Registers/FlareRegister.cs b/Assets/Scripts/Item/Registers/FlareRegister.cs index 4d30460..3539c59 100644 --- a/Assets/Scripts/Item/Registers/FlareRegister.cs +++ b/Assets/Scripts/Item/Registers/FlareRegister.cs @@ -1,24 +1,21 @@ -using System.Collections; using System.Collections.Generic; using UnityEngine; public class FlareRegister : MonoBehaviour { - public List<BulletComponent> bullets= new List<BulletComponent>(); - - public List<FlareBeacon> beacons= new List<FlareBeacon>(); - public static FlareRegister instance; + public List<BulletComponent> bullets = new(); + + public List<FlareBeacon> beacons = new(); // Start is called before the first frame update - void Start() + private void Start() { instance = this; } // Update is called once per frame - void Update() + private void Update() { - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Item/SpecialItemCycler.cs b/Assets/Scripts/Item/SpecialItemCycler.cs index bb82441..0e219e6 100644 --- a/Assets/Scripts/Item/SpecialItemCycler.cs +++ b/Assets/Scripts/Item/SpecialItemCycler.cs @@ -1,10 +1,10 @@ -using System.Collections; +using System; using System.Collections.Generic; +using TMPro; using UnityEngine; using UnityEngine.UI; -using TMPro; -[System.Serializable] +[Serializable] public class ItemImageRef { public string name; @@ -14,116 +14,100 @@ public class ItemImageRef public class SpecialItemCycler : MonoBehaviour { - [SerializeField] - private List<ItemImageRef> spawnableItems =new List<ItemImageRef>(); - [SerializeField] - private List<ItemImageRef> shootableItems = new List<ItemImageRef>(); + [SerializeField] private List<ItemImageRef> spawnableItems = new(); + + [SerializeField] private List<ItemImageRef> shootableItems = new(); + + [SerializeField] private PlayerInteractionHandler interactionHandler; + + [SerializeField] private PistolComponent pistol; - [SerializeField] - private PlayerInteractionHandler interactionHandler; - [SerializeField] - private PistolComponent pistol; - private int spawnableIndex = 0; - private int shootableIndex = 0; [SerializeField] //private Inventory invent; private TempInventory invent; - [SerializeField] - private Image selectedImage; - [SerializeField] - private TMP_Text selectedQuantityText; + + [SerializeField] private Image selectedImage; + + [SerializeField] private TMP_Text selectedQuantityText; + + private int shootableIndex; + private int spawnableIndex; private Color sqtInitColor; // Start is called before the first frame update - void Start() + private void Start() { sqtInitColor = selectedQuantityText.color; - } // Update is called once per frame - void Update() + private void Update() { if (interactionHandler.GunEnabled) { pistol.projectilePrefab = shootableItems[shootableIndex % shootableItems.Count].item; pistol.projectileName = shootableItems[shootableIndex % shootableItems.Count].name; } + SetImage(); if (Input.GetButtonDown("CycleItems")) { if (interactionHandler.GunEnabled) { - this.shootableIndex = (shootableIndex + 1) % shootableItems.Count; - selectedImage.sprite = shootableItems[this.shootableIndex].icon; + shootableIndex = (shootableIndex + 1) % shootableItems.Count; + selectedImage.sprite = shootableItems[shootableIndex].icon; } else { - this.spawnableIndex = (spawnableIndex+1)%spawnableItems.Count; - selectedImage.sprite = spawnableItems[this.spawnableIndex].icon; - + spawnableIndex = (spawnableIndex + 1) % spawnableItems.Count; + selectedImage.sprite = spawnableItems[spawnableIndex].icon; } + if (selectedImage.sprite == null) - { selectedImage.color = new Color(selectedImage.color.r, selectedImage.color.g, selectedImage.color.b, 0); - } else - { selectedImage.color = new Color(selectedImage.color.r, selectedImage.color.g, selectedImage.color.b, 1); - } } + if (Input.GetButtonDown("TempPlace")) - { - if (invent.GetQuantityOf(spawnableItems[spawnableIndex].name)>0) - if (!interactionHandler.GunEnabled && spawnableItems[spawnableIndex].item!= null) + if (invent.GetQuantityOf(spawnableItems[spawnableIndex].name) > 0) + if (!interactionHandler.GunEnabled && spawnableItems[spawnableIndex].item != null) { - GameObject prefab = spawnableItems[spawnableIndex].item; - GameObject instance = Instantiate(prefab,interactionHandler.CarryingPos); + var prefab = spawnableItems[spawnableIndex].item; + var instance = Instantiate(prefab, interactionHandler.CarryingPos); instance.transform.localPosition = Vector3.zero; instance.transform.parent = null; invent.Remove(spawnableItems[spawnableIndex].name); - } - } - - } - void SetImage() + private void SetImage() { - if (interactionHandler.GunEnabled) { - - selectedImage.sprite = shootableItems[this.shootableIndex].icon; - selectedQuantityText.text = invent.GetQuantityOf(shootableItems[this.shootableIndex].name).ToString(); + selectedImage.sprite = shootableItems[shootableIndex].icon; + selectedQuantityText.text = invent.GetQuantityOf(shootableItems[shootableIndex].name).ToString(); } else { - - selectedImage.sprite = spawnableItems[this.spawnableIndex].icon; - selectedQuantityText.text = invent.GetQuantityOf(spawnableItems[this.spawnableIndex].name).ToString(); - + selectedImage.sprite = spawnableItems[spawnableIndex].icon; + selectedQuantityText.text = invent.GetQuantityOf(spawnableItems[spawnableIndex].name).ToString(); } + if (selectedImage.sprite == null) { selectedImage.color = new Color(selectedImage.color.r, selectedImage.color.g, selectedImage.color.b, 0); selectedQuantityText.gameObject.SetActive(false); - } else { selectedImage.color = new Color(selectedImage.color.r, selectedImage.color.g, selectedImage.color.b, 1); selectedQuantityText.gameObject.SetActive(true); if (selectedQuantityText.text == "0") - { selectedQuantityText.color = Color.red; - } else - { selectedQuantityText.color = sqtInitColor; - } } } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs b/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs index 5944ec0..098a323 100644 --- a/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs +++ b/Assets/Scripts/Levels/Level0Scripts/BasicLevelProgressionSystem.cs @@ -1,233 +1,195 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; - public class BasicLevelProgressionSystem : MonoBehaviour { - [SerializeField] - private ObjectiveText objectiveGui; - [SerializeField] - private WaypointMarker marker; - [SerializeField] - private PlayerComponent player; - //[SerializeField] - //private float minDist = 3; - - [SerializeField] - private List<ProgressionSection> sections; - public List<ProgressionSection> Sections { get { return sections; } } //Fire1 is click or A //Place is F or "Y" button //Cycle is Tab or RB //Siwtch is Shift or "X" - public enum InputType { FIRE1, PLACE, CYCLE, SWITCH, COLLISION, LOCATION,AIM,EXTERNAL}; - private int progress = 0; - private bool transitioning = false; - - // Start is called before the first frame update - void Start() + public enum InputType + { + FIRE1, + PLACE, + CYCLE, + SWITCH, + COLLISION, + LOCATION, + AIM, + EXTERNAL + } + + [SerializeField] private ObjectiveText objectiveGui; + + [SerializeField] private WaypointMarker marker; + + [SerializeField] private PlayerComponent player; + //[SerializeField] + //private float minDist = 3; + + [SerializeField] private List<ProgressionSection> sections; + + private int progress; + private bool transitioning; + public List<ProgressionSection> Sections => sections; + + // Start is called before the first frame update + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - - Transform cur = this.getCurrent().getActive(); - if(cur != null) + var cur = getCurrent().getActive(); + if (cur != null) { - if (!this.getCurrent().objectiveOneMet) + if (!getCurrent().objectiveOneMet) { marker.target = cur; - objectiveGui.visualObjects[0].text.text = this.getCurrent().instruction1; - objectiveGui.visualObjects[1].text.text = this.getCurrent().istruction2; + objectiveGui.visualObjects[0].text.text = getCurrent().instruction1; + objectiveGui.visualObjects[1].text.text = getCurrent().istruction2; } - else if(!this.getCurrent().objectiveTwoMet) + else if (!getCurrent().objectiveTwoMet) { marker.target = cur; } } - if(Input.GetButtonDown("Fire1")||Input.GetAxis("Fire1")>0.5f&&!transitioning) - { + if (Input.GetButtonDown("Fire1") || (Input.GetAxis("Fire1") > 0.5f && !transitioning)) ProgressCurrentIfInput(InputType.FIRE1); - } - if (Input.GetButtonDown("TempPlace")) - { - ProgressCurrentIfInput(InputType.PLACE); - } - if (Input.GetButtonDown("CycleItems")) - { - ProgressCurrentIfInput(InputType.CYCLE); - } - if(Input.GetButtonDown("Fire3")) - { - - ProgressCurrentIfInput(InputType.SWITCH); - } - if(Input.GetAxis("Aim")>.5f || Input.GetButtonDown("Aim")) - { - if(!transitioning) - ProgressCurrentIfInput(InputType.AIM); - } + if (Input.GetButtonDown("TempPlace")) ProgressCurrentIfInput(InputType.PLACE); + if (Input.GetButtonDown("CycleItems")) ProgressCurrentIfInput(InputType.CYCLE); + if (Input.GetButtonDown("Fire3")) ProgressCurrentIfInput(InputType.SWITCH); + if (Input.GetAxis("Aim") > .5f || Input.GetButtonDown("Aim")) + if (!transitioning) + ProgressCurrentIfInput(InputType.AIM); - if (Vector3.Distance(player.transform.position, this.getCurrent().getActive().position) < 3) + if (Vector3.Distance(player.transform.position, getCurrent().getActive().position) < 3) { - bool canIterate= this.getCurrent().Iterate(); + var canIterate = getCurrent().Iterate(); if (!canIterate) { - if (!this.getCurrent().objectiveOneMet && this.getCurrent().conditionalOne == InputType.LOCATION) - { + if (!getCurrent().objectiveOneMet && getCurrent().conditionalOne == InputType.LOCATION) OnePassed(); - }else if (this.getCurrent().objectiveOneMet && this.getCurrent().conditionalTwo == InputType.LOCATION && !this.getCurrent().objectiveTwoMet) - { - TwoPassed(); - } - + else if (getCurrent().objectiveOneMet && getCurrent().conditionalTwo == InputType.LOCATION && + !getCurrent().objectiveTwoMet) TwoPassed(); } } - } + private void OnTriggerEnter(Collider other) { - if (other.gameObject.GetComponentInParent<PlayerComponent>() != null) - { - ProgressCurrentIfCollide(); - } + if (other.gameObject.GetComponentInParent<PlayerComponent>() != null) ProgressCurrentIfCollide(); } - void ProgressCurrentIfCollide() + private void ProgressCurrentIfCollide() { - } private void OnePassed() { - this.getCurrent().objectiveOneMet = true; - this.getCurrent().Progress(); + getCurrent().objectiveOneMet = true; + getCurrent().Progress(); - this.objectiveGui.visualObjects[0].isComplete = true; + objectiveGui.visualObjects[0].isComplete = true; } + public void TwoPassed() { - if (transitioning) - { - return; - } - this.getCurrent().objectiveTwoMet = true; - this.objectiveGui.visualObjects[1].isComplete = true; - this.objectiveGui.FadeOut(); + if (transitioning) return; + getCurrent().objectiveTwoMet = true; + objectiveGui.visualObjects[1].isComplete = true; + objectiveGui.FadeOut(); transitioning = true; StartCoroutine(waitForFadeIn()); } + public void ProgressCurrentIfInput(InputType type) { - - if (this.getCurrent().AtEnd() && this.getCurrent().conditionalOne == type&&!this.getCurrent().objectiveOneMet) - { + if (getCurrent().AtEnd() && getCurrent().conditionalOne == type && !getCurrent().objectiveOneMet) OnePassed(); - }else if(this.getCurrent().AtEnd() && this.getCurrent().conditionalTwo == type) - { - TwoPassed(); - } - + else if (getCurrent().AtEnd() && getCurrent().conditionalTwo == type) TwoPassed(); } public ProgressionSection getCurrent() { - - return this.sections[progress]; + return sections[progress]; } private IEnumerator waitForFadeIn() { - yield return new WaitForSeconds(3); - if (this.sections.Count > this.progress+1) + if (sections.Count > progress + 1) { - this.progress++; - this.objectiveGui.FadeIn(); - this.objectiveGui.visualObjects[0].isComplete = false; - this.objectiveGui.visualObjects[1].isComplete = false; + progress++; + objectiveGui.FadeIn(); + objectiveGui.visualObjects[0].isComplete = false; + objectiveGui.visualObjects[1].isComplete = false; } - else - { - } transitioning = false; - } } - -[System.Serializable] +[Serializable] public class ProgressionSection { - [SerializeField] - public string instruction1; - [SerializeField] - public string istruction2; - [SerializeField] - public bool objectiveOneMet = false; - [SerializeField] - public BasicLevelProgressionSystem.InputType conditionalOne; - [SerializeField] - public bool objectiveTwoMet = false; - [SerializeField] - public BasicLevelProgressionSystem.InputType conditionalTwo; + [SerializeField] public string instruction1; + + [SerializeField] public string istruction2; + + [SerializeField] public bool objectiveOneMet; + + [SerializeField] public BasicLevelProgressionSystem.InputType conditionalOne; + + [SerializeField] public bool objectiveTwoMet; + + [SerializeField] public BasicLevelProgressionSystem.InputType conditionalTwo; + + [SerializeField] public List<Transform> positionsOne = new(); + + [SerializeField] public List<Transform> positionsTwo = new(); + + [HideInInspector] public int activePosition; - [SerializeField] - public List<Transform> positionsOne= new List<Transform>(); - [SerializeField] - public List<Transform> positionsTwo = new List<Transform>(); - [HideInInspector] - public int activePosition = 0; public Transform getActive() { if (!objectiveOneMet) - { return positionsOne[activePosition]; - } - else - { - - return positionsTwo[activePosition]; - } - + return positionsTwo[activePosition]; } + public bool Iterate() { - if (!objectiveOneMet && this.activePosition + 1 < positionsOne.Count) + if (!objectiveOneMet && activePosition + 1 < positionsOne.Count) { - this.activePosition += 1; - return true; - }else if (objectiveOneMet && !objectiveTwoMet && this.activePosition + 1 < positionsTwo.Count) - { - this.activePosition += 1; + activePosition += 1; return true; } + + if (objectiveOneMet && !objectiveTwoMet && activePosition + 1 < positionsTwo.Count) + { + activePosition += 1; + return true; + } + return false; - } + public bool AtEnd() { - if (!objectiveOneMet && this.activePosition + 1 < positionsOne.Count) - { - + if (!objectiveOneMet && activePosition + 1 < positionsOne.Count) return false; - } - else if (objectiveOneMet && !objectiveTwoMet && this.activePosition + 1 < positionsTwo.Count) - { - - return false; - } + if (objectiveOneMet && !objectiveTwoMet && activePosition + 1 < positionsTwo.Count) return false; return true; } + public void Progress() { - this.activePosition = 0; + activePosition = 0; } } \ No newline at end of file diff --git a/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs b/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs index 5c1fe95..11369de 100644 --- a/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs +++ b/Assets/Scripts/Levels/Level0Scripts/LevelZeroSpecial.cs @@ -5,126 +5,108 @@ public class LevelZeroSpecial : MonoBehaviour { - //[SerializeField] //private int initalPlaceIndex = 0; - [SerializeField] - private DoorInteractable recepticleOne; + [SerializeField] private DoorInteractable recepticleOne; - [SerializeField] - private BasicLevelProgressionSystem progression; - [SerializeField] - private int enabledOn = 4; - private bool isEnabled = false; + [SerializeField] private BasicLevelProgressionSystem progression; - [SerializeField] - private List<HeavyInteractableItem> powercores; - [SerializeField] - private List<DoorInteractable> recepticals; - [SerializeField] - private WaypointMarker marker; + [SerializeField] private int enabledOn = 4; + + [SerializeField] private List<HeavyInteractableItem> powercores; + + [SerializeField] private List<DoorInteractable> recepticals; + + [SerializeField] private WaypointMarker marker; + + [SerializeField] private Animator cover; + + [SerializeField] private Animator gate; + + [SerializeField] private GameObject exitCollider; + + [SerializeField] private PlayerComponent player; + + [SerializeField] private WaypointMarker marker2Ref; + + [SerializeField] private WaypointMarker marker3Ref; + + [SerializeField] private Optimizer finalRoomOptimizer; + + private int countPowered; + private bool isEnabled; + + private readonly List<WaypointMarker> markers = new(); + + private bool transitioningOut; - private List<WaypointMarker> markers=new List<WaypointMarker>(); - private int countPowered = 0; - [SerializeField] - private Animator cover; - [SerializeField] - private Animator gate; - private bool transitioningOut = false; - [SerializeField] - private GameObject exitCollider; - [SerializeField] - private PlayerComponent player; - [SerializeField] - WaypointMarker marker2Ref; - [SerializeField] - WaypointMarker marker3Ref; - [SerializeField] - private Optimizer finalRoomOptimizer; // Start is called before the first frame update - void Start() + private void Start() { marker2Ref.gameObject.SetActive(false); marker3Ref.gameObject.SetActive(false); } // Update is called once per frame - void Update() + private void Update() { if (progression.Sections[0] == progression.getCurrent()) - { if (recepticleOne.Powered) - { progression.TwoPassed(); - //progression.ProgressCurrentIfInput(BasicLevelProgressionSystem.InputType.EXTERNAL); - } - } + //progression.ProgressCurrentIfInput(BasicLevelProgressionSystem.InputType.EXTERNAL); countPowered = 0; if (progression.Sections[enabledOn] == progression.getCurrent() && !isEnabled) { isEnabled = true; marker2Ref.gameObject.SetActive(true); marker3Ref.gameObject.SetActive(true); - - + + marker2Ref.target = recepticals[1].transform; marker3Ref.target = recepticals[2].transform; - + markers.Add(marker2Ref); markers.Add(marker3Ref); - } - if (isEnabled) - { - foreach (DoorInteractable recepitcal in recepticals) - { + if (isEnabled) + foreach (var recepitcal in recepticals) if (recepitcal.Powered) { countPowered++; - for(int i = 0; i < markers.Count; i++) + for (var i = 0; i < markers.Count; i++) { - WaypointMarker marker = markers[i]; + var marker = markers[i]; if (marker.gameObject.activeInHierarchy) - { if (marker.target == recepitcal.transform) { marker.gameObject.SetActive(false); markers.Remove(marker); } - } } - } - } - } if (countPowered == 3 && !transitioningOut) { //transition to cutscene - + transitioningOut = true; gate.Play("Open"); finalRoomOptimizer.Enable(); - } + if (transitioningOut) - { if (player.transform.position.z > exitCollider.transform.position.z) - { StartCoroutine(transitionOut()); - } - } - } - - IEnumerator transitionOut() + + private IEnumerator transitionOut() { cover.Play("Cover_load_out"); yield return new WaitForSeconds(1); - + SceneManager.LoadScene(0); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/MainMenu/MainMenuManager.cs b/Assets/Scripts/MainMenu/MainMenuManager.cs index 70ca401..a65b128 100644 --- a/Assets/Scripts/MainMenu/MainMenuManager.cs +++ b/Assets/Scripts/MainMenu/MainMenuManager.cs @@ -1,47 +1,59 @@ using System.Collections; using System.Collections.Generic; -using System.Linq; using TMPro; using UnityEngine; -using UnityEngine.UI; using UnityEngine.SceneManagement; +using UnityEngine.UI; public class MainMenuManager : MonoBehaviour { - private string component = "_FaceDilate"; - [SerializeField] - private TMP_Text title; - [SerializeField] - private List<TMP_Text> textList= new List<TMP_Text>(); - private List<float> initDilates= new List<float>(); - private List<float> dilates= new List<float>(); + [SerializeField] private TMP_Text title; + + [SerializeField] private List<TMP_Text> textList = new(); + + [SerializeField] private float dilateSpeed = 0.1f; + + [SerializeField] private Animator cover; + + private readonly string component = "_FaceDilate"; private float dilate = -1; + private readonly List<float> dilates = new(); private float initDilate; - [SerializeField] - float dilateSpeed = 0.1f; - [SerializeField] - private Animator cover; - private bool transitioning = false; + private readonly List<float> initDilates = new(); + private bool transitioning; // Start is called before the first frame update - void Start() + private void Start() { //initDilate = title.fontSharedMaterials[0].GetFloat(component); initDilate = title.fontMaterials[0].GetFloat(component); - - foreach(TMP_Text text in this.textList) + + foreach (var text in textList) { - this.initDilates.Add(text.fontMaterials[0].GetFloat(component)); - this.dilates.Add(-1f); - - + initDilates.Add(text.fontMaterials[0].GetFloat(component)); + dilates.Add(-1f); } - this.textList[0].GetComponent<Button>().onClick.AddListener(LoadFirstLevel); - this.textList[2].GetComponent<Button>().onClick.AddListener(ExitApp); - + + textList[0].GetComponent<Button>().onClick.AddListener(LoadFirstLevel); + textList[2].GetComponent<Button>().onClick.AddListener(ExitApp); } - void LoadFirstLevel() + + + // Update is called once per frame + private void Update() + { + //dilate = Mathf.Min(initDilate, dilate += Time.deltaTime); + dilate = Mathf.Lerp(dilate, initDilate, Time.deltaTime * dilateSpeed); + title.fontMaterials[0].SetFloat(component, dilate); + for (var i = 0; i < textList.Count; i++) + { + dilates[i] = Mathf.Lerp(dilates[i], initDilates[i], Time.deltaTime * dilateSpeed); + textList[i].fontMaterials[0].SetFloat(component, dilates[i]); + } + } + + private void LoadFirstLevel() { if (!transitioning) { @@ -49,32 +61,16 @@ void LoadFirstLevel() transitioning = true; StartCoroutine(_LoadFirstLevel()); } - } + private IEnumerator _LoadFirstLevel() { yield return new WaitForSeconds(4); SceneManager.LoadScene(1); } - void ExitApp() + private void ExitApp() { Application.Quit(); } - - - // Update is called once per frame - void Update() - { - //dilate = Mathf.Min(initDilate, dilate += Time.deltaTime); - dilate = Mathf.Lerp(dilate, initDilate, Time.deltaTime*dilateSpeed); - title.fontMaterials[0].SetFloat(component, dilate); - for(int i =0;i<this.textList.Count;i++) - { - - dilates[i] = Mathf.Lerp(dilates[i], initDilates[i],Time.deltaTime*dilateSpeed); - textList[i].fontMaterials[0].SetFloat(component, dilates[i]); - } - - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/CameraController.cs b/Assets/Scripts/Player/CameraController.cs index 6447c5d..20af92a 100644 --- a/Assets/Scripts/Player/CameraController.cs +++ b/Assets/Scripts/Player/CameraController.cs @@ -1,64 +1,49 @@ -using System.Collections; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Threading; using UnityEngine; - public class CameraController : MonoBehaviour { - //private float mouseX = 0; //private float mouseY; - [SerializeField] - private Camera cam; + [SerializeField] private Camera cam; + + + [SerializeField] private Transform target; - - [SerializeField] - private Transform target; - private Vector3 offset; + public Vector3 Forward { get; private set; } = Vector3.zero; - private Vector3 forward= Vector3.zero; - private Vector3 right = Vector3.zero; - public Vector3 Forward { get { return this.forward; } } - public Vector3 Right { get { return this.right; } } + public Vector3 Right { get; private set; } = Vector3.zero; //private float originalDist = 0; //private float newDist = 0; //[SerializeField] - // private bool isChild = false; - - - + // private bool isChild = false; // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { GetMouseLook(); //if(target!=null&&!isChild) //transform.position = target.transform.position+offset; - forward = new Vector3(cam.transform.forward.x, target.transform.forward.y, cam.transform.forward.z); - right = new Vector3(cam.transform.right.x, target.transform.right.y, cam.transform.right.z); + Forward = new Vector3(cam.transform.forward.x, target.transform.forward.y, cam.transform.forward.z); + Right = new Vector3(cam.transform.right.x, target.transform.right.y, cam.transform.right.z); } + private void GetMouseLook() { //mouseX = Input.GetAxis("Mouse X"); //mouseY = Input.GetAxis("Mouse Y"); - + //transform.Rotate(0, mouseX * Time.deltaTime * 180f, 0); //cam.transform.parent.parent.transform.Rotate(mouseY * Time.deltaTime * 180f, 0, 0); //Cursor.visible = false; //Cursor.lockState = CursorLockMode.Locked; } - - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/CameraShift.cs b/Assets/Scripts/Player/CameraShift.cs index f5acbe9..59a6cd5 100644 --- a/Assets/Scripts/Player/CameraShift.cs +++ b/Assets/Scripts/Player/CameraShift.cs @@ -1,61 +1,62 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; using Cinemachine; +using UnityEngine; public class CameraShift : MonoBehaviour { public static CameraShift active; - [SerializeField] - private Camera childCam; - [SerializeField] - private Transform offset; + + [SerializeField] private Camera childCam; + + [SerializeField] private Transform offset; + + [SerializeField] private float cameraSpeed = 5f; + + [SerializeField] private CinemachineFreeLook freelook; + + [SerializeField] private float initRadius = 3f; + + [SerializeField] private float aimingRadius = 2f; + private bool isCenter = true; private Vector3 targetOffset; - [SerializeField] - private float cameraSpeed = 5f; - [SerializeField] - private CinemachineFreeLook freelook; - [SerializeField] - private float initRadius = 3f; - [SerializeField] - private float aimingRadius = 2f; + + // Start is called before the first frame update + private void Start() + { + targetOffset = Vector3.zero; + } + + // Update is called once per frame + private void Update() + { + active = this; + if (isCenter) + { + targetOffset = Vector3.zero; + freelook.m_Orbits[1].m_Radius = + Mathf.Lerp(freelook.m_Orbits[1].m_Radius, initRadius, Time.deltaTime * cameraSpeed); + } + else + { + targetOffset = offset.localPosition; + freelook.m_Orbits[1].m_Radius = + Mathf.Lerp(freelook.m_Orbits[1].m_Radius, aimingRadius, Time.deltaTime * cameraSpeed); + } + + childCam.transform.localPosition = + Vector3.Lerp(childCam.transform.localPosition, targetOffset, Time.deltaTime * cameraSpeed); + } //[SerializeField] //private PlayerMovementController movementController; - + public void ToggleCenter() { isCenter = !isCenter; } + public void SetCenter(bool isCenter) { this.isCenter = isCenter; } - - // Start is called before the first frame update - void Start() - { - targetOffset = Vector3.zero; - - - - } - - // Update is called once per frame - void Update() - { - active = this; - if (isCenter) - { - targetOffset= Vector3.zero; - freelook.m_Orbits[1].m_Radius = Mathf.Lerp(freelook.m_Orbits[1].m_Radius, initRadius, Time.deltaTime * cameraSpeed); - } - else - { - targetOffset = offset.localPosition; - freelook.m_Orbits[1].m_Radius = Mathf.Lerp(freelook.m_Orbits[1].m_Radius, aimingRadius, Time.deltaTime*cameraSpeed); - } - childCam.transform.localPosition= Vector3.Lerp(childCam.transform.localPosition, targetOffset, Time.deltaTime*cameraSpeed); - } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs b/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs index 3bf69a5..0ebf54e 100644 --- a/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs +++ b/Assets/Scripts/Player/NoiseVisibilitySettingsManager.cs @@ -1,72 +1,62 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; -using UnityEngine.Rendering; public class NoiseVisibilitySettingsManager : MonoBehaviour { - [SerializeField] - private float sneakNoiseDistance = 5f; - [SerializeField] - private float runNoiseDistance = 10f; - [SerializeField] - private float shootNoiseDistance = 30f; - [SerializeField] - private float standNoiseDistance = 0f; - private float noiseDistance = 0f; - - public float SneakNoiseDistance { get { return sneakNoiseDistance; } } - public float RunNoiseDistance { get { return runNoiseDistance; } } - public float ShootNoiseDistance { get { return shootNoiseDistance; } } - public float StandNoiseDistance { get { return standNoiseDistance; } } + [SerializeField] private float sneakNoiseDistance = 5f; - public float NoiseDistance { get { return this.noiseDistance; } } + [SerializeField] private float runNoiseDistance = 10f; - private float timeSinceLastShot = 0f; - [SerializeField] - private float shootNoiseDuration = 2f; - private bool isSneaking = false; - private bool isRunning = false; + [SerializeField] private float shootNoiseDistance = 30f; + + [SerializeField] private float standNoiseDistance; + + [SerializeField] private float shootNoiseDuration = 2f; + + private bool isRunning; + private bool isSneaking; + + private float timeSinceLastShot; + + public float SneakNoiseDistance => sneakNoiseDistance; + public float RunNoiseDistance => runNoiseDistance; + public float ShootNoiseDistance => shootNoiseDistance; + public float StandNoiseDistance => standNoiseDistance; + + public float NoiseDistance { get; private set; } // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - if (timeSinceLastShot>0) - { - this.noiseDistance = this.shootNoiseDistance; - } + if (timeSinceLastShot > 0) + NoiseDistance = shootNoiseDistance; else if (isRunning) - { - this.noiseDistance = this.runNoiseDistance; - }else if (isSneaking) - { - this.noiseDistance = this.sneakNoiseDistance; - } + NoiseDistance = runNoiseDistance; + else if (isSneaking) + NoiseDistance = sneakNoiseDistance; else - { - this.noiseDistance = standNoiseDistance; - } + NoiseDistance = standNoiseDistance; timeSinceLastShot -= Time.deltaTime; } public void ShotFired() { - this.timeSinceLastShot = this.shootNoiseDuration; + timeSinceLastShot = shootNoiseDuration; } + public void SetRunning(bool isRunning) { this.isRunning = isRunning; } + public void SetSneaking(bool isSneaking) { - this.isSneaking= isSneaking; + this.isSneaking = isSneaking; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerAim.cs b/Assets/Scripts/Player/PlayerAim.cs index 2a25579..dc82ed6 100644 --- a/Assets/Scripts/Player/PlayerAim.cs +++ b/Assets/Scripts/Player/PlayerAim.cs @@ -1,28 +1,24 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class PlayerAim : MonoBehaviour { public static PlayerAim active; public Vector3 targetPosition; + private Camera cam; + // Start is called before the first frame update - void Start() + private void Start() { active = this; cam = GetComponent<Camera>(); } // Update is called once per frame - void Update() + private void Update() { - Ray r = new Ray(cam.transform.position,cam.transform.forward); + var r = new Ray(cam.transform.position, cam.transform.forward); RaycastHit hit; - if(Physics.Raycast(r,out hit)) - { - targetPosition = hit.point; - - } + if (Physics.Raycast(r, out hit)) targetPosition = hit.point; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerAnimationController.cs b/Assets/Scripts/Player/PlayerAnimationController.cs index bf1f65d..6bc99a0 100644 --- a/Assets/Scripts/Player/PlayerAnimationController.cs +++ b/Assets/Scripts/Player/PlayerAnimationController.cs @@ -1,63 +1,91 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; public class PlayerAnimationController : MonoBehaviour { - [SerializeField] - private Animator animController; - [SerializeField] - private string runningParameter; - [SerializeField] - private string runningSpeedParameter; - [SerializeField] - private string sideStepSpeedParameter; + [SerializeField] private Animator animController; + + [SerializeField] private string runningParameter; + + [SerializeField] private string runningSpeedParameter; + + [SerializeField] private string sideStepSpeedParameter; + + //private bool movementInterrupt = false; + [SerializeField] private PlayerInteractionHandler interactionHandler; + + [SerializeField] private PlayerMovementController movement; + + //private float verticalAiming = 0; + [SerializeField] private Camera hiddenCam; + + private bool isRunning; private float runningSpeed; private float sideStepSpeed; - private bool isRunning; - //private bool movementInterrupt = false; - [SerializeField] - private PlayerInteractionHandler interactionHandler; - [SerializeField] - private PlayerMovementController movement; + // Start is called before the first frame update + private void Start() + { + } - //private float verticalAiming = 0; - [SerializeField] - private Camera hiddenCam; + // Update is called once per frame + private void Update() + { + animController.SetBool("IsCarrying", interactionHandler.IsCarrying); + animController.SetBool("HasGun", interactionHandler.GunEnabled); - public void Animate(Vector2 movement,bool jump,bool isMoving) + if (interactionHandler.GunEnabled && !interactionHandler.isDead && movement.AllowRotation) + { + if (hiddenCam.transform.localEulerAngles.x < 90) + { + //DOWN + var target = Mathf.Lerp(animController.GetLayerWeight(3), hiddenCam.transform.localEulerAngles.x / 70f, + Time.deltaTime * 10f); + animController.SetLayerWeight(3, target); + animController.SetLayerWeight(2, 0); + } + else + { + //UP + animController.SetLayerWeight(3, 0); + var target = Mathf.Lerp(animController.GetLayerWeight(2), + (360f - hiddenCam.transform.localEulerAngles.x) / (360f - 300f), Time.deltaTime * 10); + animController.SetLayerWeight(2, target); + } + } + else + { + animController.SetLayerWeight(2, Mathf.Lerp(animController.GetLayerWeight(2), 0, Time.deltaTime * 10)); + animController.SetLayerWeight(3, Mathf.Lerp(animController.GetLayerWeight(3), 0, Time.deltaTime * 10)); + } + + //print("carrying:" + interactionHandler.IsCarrying + " running:"+animController.GetBool(runningParameter)+" running speed:" + animController.GetFloat(runningSpeedParameter)); + } + + public void Animate(Vector2 movement, bool jump, bool isMoving) { animController.SetFloat(runningSpeedParameter, movement.magnitude); - animController.SetBool(runningParameter,isMoving); - + animController.SetBool(runningParameter, isMoving); + if (this.movement.IsAiming) { - animController.SetFloat("StrafingSpeed", movement.x); float dir = 0; if (movement.x > 0) - { dir = 1; - }else if (movement.x < 0) - { - dir = -1; - } + else if (movement.x < 0) dir = -1; animController.SetFloat("StrafingDirection", dir); - } else { animController.SetFloat("StrafingSpeed", 0); animController.SetFloat("StrafingDirection", 1); } - - } + public void Animate(PlayerQuickAnimationType animation) { - switch(animation) + switch (animation) { case PlayerQuickAnimationType.Grab: print("grabbing..."); @@ -67,57 +95,22 @@ public void Animate(PlayerQuickAnimationType animation) break; } } - + public void Hit(bool isDead) { animController.SetTrigger("WasHit"); animController.SetBool("IsDead", isDead); } - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - animController.SetBool("IsCarrying", interactionHandler.IsCarrying); - animController.SetBool("HasGun",interactionHandler.GunEnabled); - - if (interactionHandler.GunEnabled&&!interactionHandler.isDead&&movement.AllowRotation) - { - - - if (hiddenCam.transform.localEulerAngles.x < 90) - { - //DOWN - float target = Mathf.Lerp(animController.GetLayerWeight(3), hiddenCam.transform.localEulerAngles.x / 70f,Time.deltaTime*10f); - animController.SetLayerWeight(3, target); - animController.SetLayerWeight(2, 0); - - - } - else - { - //UP - animController.SetLayerWeight(3, 0); - float target = Mathf.Lerp(animController.GetLayerWeight(2), (360f - hiddenCam.transform.localEulerAngles.x) / (360f - 300f),Time.deltaTime*10); - animController.SetLayerWeight(2, target); - - } - - } - else - { - animController.SetLayerWeight(2, Mathf.Lerp(animController.GetLayerWeight(2),0,Time.deltaTime*10)); - animController.SetLayerWeight(3, Mathf.Lerp(animController.GetLayerWeight(3), 0, Time.deltaTime*10)); - } - - //print("carrying:" + interactionHandler.IsCarrying + " running:"+animController.GetBool(runningParameter)+" running speed:" + animController.GetFloat(runningSpeedParameter)); - } } -public enum PlayerAnimationType {Movement,Action} -public enum PlayerQuickAnimationType { Grab,Shoot} \ No newline at end of file +public enum PlayerAnimationType +{ + Movement, + Action +} + +public enum PlayerQuickAnimationType +{ + Grab, + Shoot +} \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerComponent.cs b/Assets/Scripts/Player/PlayerComponent.cs index 4e71e5e..fe2c239 100644 --- a/Assets/Scripts/Player/PlayerComponent.cs +++ b/Assets/Scripts/Player/PlayerComponent.cs @@ -1,103 +1,72 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; using Cinemachine; -using TMPro; - +using UnityEngine; public class PlayerComponent : MonoBehaviour { - [SerializeField] - private float health = 5f; - [SerializeField] - private float maxHealth = 5f; - [SerializeField] - private float stamina = 20f; - [SerializeField] - private float maxStamina = 20f; + [SerializeField] private float health = 5f; + + [SerializeField] private float maxHealth = 5f; + + [SerializeField] private float stamina = 20f; + + [SerializeField] private float maxStamina = 20f; [SerializeField] private NoiseVisibilitySettingsManager noiseManager; [SerializeField] private PlayerMovementController movementController; - public NoiseVisibilitySettingsManager NoiseManager { get { return this.noiseManager; } } - public PlayerMovementController MovementController { get { return movementController; } } - [SerializeField] - private PlayerAnimationController animationController; + [SerializeField] private PlayerAnimationController animationController; - [HideInInspector] - public FlareRegister flareRegister; - [SerializeField] - private CinemachineFreeLook cameraFreeLook; - private float shakeTimer = 0; - CinemachineBasicMultiChannelPerlin perlin; - [SerializeField] - private float knockbackDuration = 1f; - [SerializeField] - private float knockbackDistance = 5f; - [SerializeField] - private StatsOutputScreen statsOutput; + [HideInInspector] public FlareRegister flareRegister; + + [SerializeField] private CinemachineFreeLook cameraFreeLook; + + [SerializeField] private float knockbackDuration = 1f; + + [SerializeField] private float knockbackDistance = 5f; + + [SerializeField] private StatsOutputScreen statsOutput; + + private CinemachineBasicMultiChannelPerlin perlin; + private float shakeTimer; + + public NoiseVisibilitySettingsManager NoiseManager => noiseManager; + public PlayerMovementController MovementController => movementController; + + [HideInInspector] public bool IsAlive => health > 0; - [HideInInspector] - public bool IsAlive { get { return this.health > 0; } } private void Awake() { - flareRegister = GameObject.FindObjectOfType<FlareRegister>(); + flareRegister = FindObjectOfType<FlareRegister>(); } + // Start is called before the first frame update - void Start() + private void Start() { perlin = cameraFreeLook.GetRig(1).GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>(); } // Update is called once per frame - void Update() + private void Update() { NoiseManager.SetRunning(MovementController.IsRunning); - statsOutput.health = this.health; + statsOutput.health = health; statsOutput.stamina = 20f; statsOutput.oxygen = 100f; if (shakeTimer > 0) { shakeTimer -= Time.deltaTime; - - // perlin.m_AmplitudeGain = 0; + + // perlin.m_AmplitudeGain = 0; perlin.m_AmplitudeGain = Mathf.Lerp(perlin.m_AmplitudeGain, 0, .1f); - if (shakeTimer <= 0f) - { - - perlin.m_AmplitudeGain = 0; - } + if (shakeTimer <= 0f) perlin.m_AmplitudeGain = 0; } + if (!IsAlive) { PlayerInteractionHandler.instance.isDead = true; movementController.isDead = true; } - - } - - - - public void ShakeCamera(float intensity, float time) - { - CinemachineBasicMultiChannelPerlin perlin = cameraFreeLook.GetRig(1).GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>(); - perlin.m_AmplitudeGain= intensity; - shakeTimer = time; - } - - public void SetSensitivity(float magnitude) - { - movementController.SetSensitivity(magnitude); - } - - public void Damage(float damage,bool applyShake=false) - { - this.health-=damage; - if (applyShake) - { - ShakeCamera(15, 5); - } } private void OnTriggerEnter(Collider other) @@ -105,12 +74,31 @@ private void OnTriggerEnter(Collider other) if (other.CompareTag("Damaging")) { print("HIT!"); - MonsterComponent monster = other.GetComponentInParent<MonsterComponent>(); - - this.Damage(monster.AttackDamage, monster.ShakeCameraOnHit); - animationController.Hit(this.health<=0); - this.movementController.PhysicalForceMove((transform.position - monster.transform.position)*knockbackDistance); - this.movementController.LockMovement(this.knockbackDuration); + var monster = other.GetComponentInParent<MonsterComponent>(); + + Damage(monster.AttackDamage, monster.ShakeCameraOnHit); + animationController.Hit(health <= 0); + movementController.PhysicalForceMove((transform.position - monster.transform.position) * knockbackDistance); + movementController.LockMovement(knockbackDuration); } } -} + + + public void ShakeCamera(float intensity, float time) + { + var perlin = cameraFreeLook.GetRig(1).GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>(); + perlin.m_AmplitudeGain = intensity; + shakeTimer = time; + } + + public void SetSensitivity(float magnitude) + { + movementController.SetSensitivity(magnitude); + } + + public void Damage(float damage, bool applyShake = false) + { + health -= damage; + if (applyShake) ShakeCamera(15, 5); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerInteractionHandler.cs b/Assets/Scripts/Player/PlayerInteractionHandler.cs index d6fc0d3..7c53187 100644 --- a/Assets/Scripts/Player/PlayerInteractionHandler.cs +++ b/Assets/Scripts/Player/PlayerInteractionHandler.cs @@ -1,83 +1,252 @@ -using System.Collections; using System.Collections.Generic; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Xml; -using Unity.VisualScripting; -using Unity.VisualScripting.FullSerializer; using UnityEngine; [RequireComponent(typeof(Collider))] public class PlayerInteractionHandler : MonoBehaviour { - private List<InteractableItem> itemsInRange= new List<InteractableItem>(); - private List<HeavyInteractableItem> heavyItemsInRange = new List<HeavyInteractableItem>(); - private Inventory invent; - private TempInventory tempInvent; - public Inventory Inventory { get { return invent; } } public static PlayerInteractionHandler instance; - [SerializeField] - private Light flashlight; - [SerializeField] - private GameObject flashlight3D; + + [SerializeField] private Light flashlight; + + [SerializeField] private GameObject flashlight3D; + + [SerializeField] private int materialIndex = 1; + + [SerializeField] private Transform carryingPos; + + [SerializeField] private bool useItemSelector = true; + + [SerializeField] private PistolComponent pistol; + + [SerializeField] private NoiseVisibilitySettingsManager noiseManager; + + [SerializeField] private CameraShift shift; + + public bool isDead; + + //Check if button down + private readonly AxisIsDown fireDown = new("Fire1"); private bool flashlightEnabled = true; - [SerializeField] - private int materialIndex = 1; - private Material selMaterial; - private Color initColor; private HeavyInteractableItem heavyInvent; - public bool IsCarrying { get { return heavyInvent !=null; } } - public bool GunEnabled { get { return this.gunEnabled; } } - private bool gunEnabled = false; - [SerializeField] - private Transform carryingPos; - public Transform CarryingPos { get { return this.carryingPos; } } + private readonly List<HeavyInteractableItem> heavyItemsInRange = new(); + private Color initColor; + private Inventory invent; private ItemSelector itemSelector; - [SerializeField] - private bool useItemSelector = true; - [SerializeField] - private PistolComponent pistol; - [SerializeField] - private NoiseVisibilitySettingsManager noiseManager; + private readonly List<InteractableItem> itemsInRange = new(); private InGameManager manager; - [SerializeField] - private CameraShift shift; + private Material selMaterial; + private TempInventory tempInvent; + public Inventory Inventory => invent; + public bool IsCarrying => heavyInvent != null; + public bool GunEnabled { get; private set; } + + public Transform CarryingPos => carryingPos; - public bool isDead = false; - //Check if button down - private AxisIsDown fireDown = new AxisIsDown("Fire1"); - // Start is called before the first frame update - void Start() + private void Start() { instance = this; - invent = this.transform.parent.GetComponent<Inventory>(); + invent = transform.parent.GetComponent<Inventory>(); //TEMP FIELD - tempInvent = this.transform.parent.GetComponent<TempInventory>(); + tempInvent = transform.parent.GetComponent<TempInventory>(); initColor = flashlight3D.GetComponent<MeshRenderer>().materials[materialIndex].GetColor("_BaseColor"); selMaterial = flashlight3D.GetComponent<MeshRenderer>().materials[materialIndex]; itemSelector = ItemSelector.instance; - pistol.gameObject.SetActive(this.gunEnabled); - flashlightEnabled = this.flashlight.gameObject.activeSelf; - manager = GameObject.FindObjectOfType<InGameManager>(); + pistol.gameObject.SetActive(GunEnabled); + flashlightEnabled = flashlight.gameObject.activeSelf; + manager = FindObjectOfType<InGameManager>(); + } + + // Update is called once per frame + private void Update() + { + fireDown.Check(); + if (isDead) + { + DropHeavy(); + return; + } + + if (manager.IsPaused || isDead) return; + + if (Input.GetButtonDown("Fire1") || fireDown.IsDown()) + { + if (GunEnabled) + { + if (tempInvent.GetQuantityOf(pistol.projectileName) > 0) + { + pistol.Fire(); + noiseManager.ShotFired(); + tempInvent.Remove(pistol.projectileName); + } + } + else + { + if (!IsCarrying) + { + var t_index = 0; + var pickupFound = false; + if (itemsInRange.Count > 0) + { + while (t_index < itemsInRange.Count && !itemsInRange[t_index].CanPickup) t_index++; + if (t_index != itemsInRange.Count) + { + pickupFound = true; + invent.AddItem(itemsInRange[t_index]); + itemsInRange[0].transform.gameObject.SetActive(false); + itemsInRange.Remove(itemsInRange[t_index]); + } + } + else if (heavyItemsInRange.Count > 0) + { + pickupFound = true; + + + heavyInvent = heavyItemsInRange[0]; + + heavyInvent.transform.parent = carryingPos; + heavyInvent.transform.localPosition = Vector3.zero; + heavyInvent.GetComponent<Rigidbody>().isKinematic = true; + heavyItemsInRange.Remove(heavyItemsInRange[0]); + heavyInvent.Disable(); + heavyInvent.DisableAll(); + } + + if (!pickupFound) + foreach (var item in itemsInRange) + if (!item.CanPickup) + { + if (!item.Interact(ref invent, ref heavyInvent)) + item.Interact(); + else if (item is HeavyItemReceiver) + if (heavyInvent != null) + { + heavyInvent.transform.parent = carryingPos; + heavyInvent.transform.localPosition = Vector3.zero; + heavyInvent.transform.localEulerAngles = Vector3.zero; + heavyItemsInRange.Remove(heavyInvent); + heavyInvent.GetComponent<Rigidbody>().constraints = + RigidbodyConstraints.FreezeRotation; + heavyInvent.GetComponent<Rigidbody>().isKinematic = true; + heavyInvent.Disable(); + heavyInvent.DisableAll(); + } + } + } + else + { + int refIndex; + if (itemsInRange.Count > 0 && receiverInRange(out refIndex)) + { + ((HeavyItemReceiver)itemsInRange[refIndex]).Interact(ref invent, ref heavyInvent); + heavyInvent = null; + } + else + { + DropHeavy(); + } + } + } + } + + if (Input.GetButtonDown("Fire2")) + { + //print(this.GunEnabled); + if (!GunEnabled) + { + if (!flashlight.gameObject.activeSelf) + EnableFlashlight(); + else + DisableFlashlight(); + } + else + { + pistol.LightToggle(); + } + } + + if (Input.GetButtonDown("Fire3")) + if (!IsCarrying) + { + GunEnabled = !GunEnabled; + if (!GunEnabled) + pistol.Disable(); + pistol.gameObject.SetActive(GunEnabled); + if (GunEnabled) + pistol.Enable(); + } + + if (GunEnabled) + { + DisableFlashlight(); + + var aimAxis = Input.GetAxis("Aim"); + + if (aimAxis > 0.5f) + pistol.aimMode = PistolComponent.AimMode.CAMERA; + else + pistol.aimMode = PistolComponent.AimMode.MODIFIED; + } + + shift.SetCenter(!GunEnabled); + } + + + private void OnTriggerEnter(Collider other) + { + if (other.gameObject.GetComponent<InteractableItem>() != null) + { + var item = other.gameObject.GetComponent<InteractableItem>(); + if (item is InteractableItem && item is not HeavyInteractableItem) + { + item.Enable(); + itemsInRange.Add(item); + } + else if (item is HeavyInteractableItem) + { + ((HeavyInteractableItem)item).Enable(); + heavyItemsInRange.Add((HeavyInteractableItem)item); + } + } + } + + private void OnTriggerExit(Collider other) + { + if (other.gameObject.GetComponent<InteractableItem>() != null) + { + var item = other.gameObject.GetComponent<InteractableItem>(); + if (item is InteractableItem && item is not HeavyInteractableItem) + { + item.Disable(); + itemsInRange.Remove(item); + } + else if (item is HeavyInteractableItem) + { + ((HeavyInteractableItem)item).Disable(); + //itemsInRange.Remove((HeavyInteractableItem)(item)); + heavyItemsInRange.Remove((HeavyInteractableItem)item); + } + } } private bool receiverInRange(out int index) { - int i = 0; - foreach(InteractableItem item in this.itemsInRange) + var i = 0; + foreach (var item in itemsInRange) { - if(item is HeavyItemReceiver) + if (item is HeavyItemReceiver) { index = i; return true; } + i++; } + index = -1; return false; } @@ -91,276 +260,57 @@ private void DropHeavy() heavyInvent.EnableAll(); heavyInvent = null; } - } - // Update is called once per frame - void Update() - { - fireDown.Check(); - if (this.isDead) - { - DropHeavy(); - return; - - } - - if (manager.IsPaused||isDead) - { - return; - } - - if(Input.GetButtonDown("Fire1")||fireDown.IsDown()) - { - if (this.GunEnabled) - { - if (tempInvent.GetQuantityOf(this.pistol.projectileName) > 0) - { - this.pistol.Fire(); - this.noiseManager.ShotFired(); - tempInvent.Remove(this.pistol.projectileName); - } - - } - else - { - if (!IsCarrying) - { - int t_index = 0; - bool pickupFound = false; - if (itemsInRange.Count > 0) - { - while (t_index < itemsInRange.Count && !itemsInRange[t_index].CanPickup) - { - t_index++; - } - if (t_index != itemsInRange.Count) - { - pickupFound = true; - invent.AddItem(itemsInRange[t_index]); - itemsInRange[0].transform.gameObject.SetActive(false); - itemsInRange.Remove(itemsInRange[t_index]); - } - - - } - else if (heavyItemsInRange.Count > 0) - { - pickupFound = true; - - - heavyInvent = heavyItemsInRange[0]; - - heavyInvent.transform.parent = carryingPos; - heavyInvent.transform.localPosition = Vector3.zero; - heavyInvent.GetComponent<Rigidbody>().isKinematic = true; - heavyItemsInRange.Remove(heavyItemsInRange[0]); - heavyInvent.Disable(); - heavyInvent.DisableAll(); - - } - if (!pickupFound) - { - foreach (InteractableItem item in itemsInRange) - { - if (!item.CanPickup) - { - if (!item.Interact(ref invent, ref heavyInvent)) - { - item.Interact(); - }else if(item is HeavyItemReceiver) - { - if(heavyInvent != null) - { - heavyInvent.transform.parent = carryingPos; - heavyInvent.transform.localPosition = Vector3.zero; - heavyInvent.transform.localEulerAngles = Vector3.zero; - heavyItemsInRange.Remove(heavyInvent); - heavyInvent.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezeRotation; - heavyInvent.GetComponent<Rigidbody>().isKinematic = true; - heavyInvent.Disable(); - heavyInvent.DisableAll(); - - } - } - - } - } - } - } - else - { - int refIndex; - if (itemsInRange.Count > 0&&receiverInRange(out refIndex)) { - ((HeavyItemReceiver)itemsInRange[refIndex]).Interact(ref this.invent, ref heavyInvent); - heavyInvent = null; - - } - else - { - this.DropHeavy(); - } - - - - } - - } - - - } - if (Input.GetButtonDown("Fire2")) - { - //print(this.GunEnabled); - if (!this.GunEnabled) - { - - if (!flashlight.gameObject.activeSelf) - { - EnableFlashlight(); - } - else - { - DisableFlashlight(); - } - } - else - { - this.pistol.LightToggle(); - } - - } - if (Input.GetButtonDown("Fire3")) - { - if (!this.IsCarrying) - { - this.gunEnabled = !this.gunEnabled; - if(!this.gunEnabled) - pistol.Disable(); - pistol.gameObject.SetActive(this.gunEnabled); - if (this.gunEnabled) - pistol.Enable(); - - - } - } - if (this.GunEnabled) - { - this.DisableFlashlight(); - - float aimAxis = Input.GetAxis("Aim"); - - if (aimAxis > 0.5f) - { - pistol.aimMode = PistolComponent.AimMode.CAMERA; - - } - else - { - pistol.aimMode = PistolComponent.AimMode.MODIFIED; - } - - } - else - { - - } - - shift.SetCenter(!this.GunEnabled); - } public void EnableFlashlight() { - flashlight.gameObject.SetActive(true); flashlight3D.GetComponent<MeshRenderer>().materials[materialIndex].SetColor("_BaseColor", initColor); selMaterial.SetColor("_EmissionColor", new Color(255, 255, 255, 255)); flashlight3D.gameObject.SetActive(true); - this.flashlightEnabled = true; + flashlightEnabled = true; } + public void DisableFlashlight() { - flashlight.gameObject.SetActive(false); flashlight3D.GetComponent<MeshRenderer>().materials[materialIndex].SetColor("_BaseColor", new Color(0, 0, 0)); selMaterial.SetColor("_EmissionColor", new Color(0, 0, 0, 0)); flashlight3D.gameObject.SetActive(false); - this.flashlightEnabled = false; - } - - - - private void OnTriggerEnter(Collider other) - { - if(other.gameObject.GetComponent<InteractableItem>() != null) - { - InteractableItem item = other.gameObject.GetComponent<InteractableItem>(); - if(item is InteractableItem && item is not HeavyInteractableItem) - { - ((InteractableItem)item).Enable(); - itemsInRange.Add(item); - }else if(item is HeavyInteractableItem) - { - ((HeavyInteractableItem)item).Enable(); - heavyItemsInRange.Add((HeavyInteractableItem)item); - } - - } - } - private void OnTriggerExit(Collider other) - { - if (other.gameObject.GetComponent<InteractableItem>() != null) - { - InteractableItem item = other.gameObject.GetComponent<InteractableItem>(); - if (item is InteractableItem && item is not HeavyInteractableItem) - { - ((InteractableItem)item).Disable(); - itemsInRange.Remove(item); - - } - else if (item is HeavyInteractableItem) - { - ((HeavyInteractableItem)item).Disable(); - //itemsInRange.Remove((HeavyInteractableItem)(item)); - heavyItemsInRange.Remove((HeavyInteractableItem)item); - } - } + flashlightEnabled = false; } } -class AxisIsDown +internal class AxisIsDown { - - - private string axisName; - private bool isDown = false; - private bool pIsDown = false; private float axis; - private bool down = false; - public void Check() - { - axis = Input.GetAxis(axisName); - isDown = axis > 0.5f; - if (isDown != pIsDown&&isDown) - { - down = true; - } - else - { - down = false; - } - pIsDown = isDown; - } + private readonly string axisName; + + private bool down; + private bool isDown; + private bool pIsDown; - public bool IsDown() - { - return this.down; - } public AxisIsDown(string axisName) { this.axisName = axisName; } + public void Check() + { + axis = Input.GetAxis(axisName); + isDown = axis > 0.5f; + if (isDown != pIsDown && isDown) + down = true; + else + down = false; + pIsDown = isDown; + } + + public bool IsDown() + { + return down; + } } \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerMovementController.cs b/Assets/Scripts/Player/PlayerMovementController.cs index 41dec3c..7c74ec9 100644 --- a/Assets/Scripts/Player/PlayerMovementController.cs +++ b/Assets/Scripts/Player/PlayerMovementController.cs @@ -1,85 +1,116 @@ using System.Collections; -using System.Collections.Generic; -using UnityEngine; using Cinemachine; +using UnityEngine; public class PlayerMovementController : MonoBehaviour { - [SerializeField] - private PlayerAnimationController animcontroller; + [SerializeField] private PlayerAnimationController animcontroller; - private float x = 0; - private float y = 0; + [SerializeField] private CharacterController ccontroller; + + [SerializeField] private CameraController cameraController; + + [SerializeField] private float speed = 1f; + + [SerializeField] private float sideSpeed = 0.5f; + + [SerializeField] private float animatedRotationSpeed = 5f; + + [SerializeField] public Camera cam; + + [HideInInspector] public bool AllowRotation; + + [HideInInspector] public bool IsAiming; + + [SerializeField] private NoiseVisibilitySettingsManager noiseSettings; + + [SerializeField] private CinemachineFreeLook freelook; + + [SerializeField] private string mouseXAxis = "Mouse X"; + + [SerializeField] private string mouseYAxis = "Mouse Y"; + + public bool isDead; + private CharacterControllerForce ccForceAddon; + private float initXSensitivity = 250f; + + private float initYSensitivity = 10f; //private float mouseX = 0; - private bool isRunning = false; private bool isSneaking = false; - public bool IsRunning { get { return isRunning; } } - [SerializeField] - private CharacterController ccontroller; - private CharacterControllerForce ccForceAddon; - - [SerializeField] - private CameraController cameraController; - - [SerializeField] - private float speed = 1f; - [SerializeField] - private float sideSpeed = 0.5f; - - [SerializeField] - private float animatedRotationSpeed = 5f; - [SerializeField] - public Camera cam; - - [HideInInspector] - public bool AllowRotation = false; - [HideInInspector] - public bool IsAiming = false; - - [SerializeField] - private NoiseVisibilitySettingsManager noiseSettings; - - private InGameManager manager; - - - public float NoiseDistance { get { return this.noiseSettings.NoiseDistance; } } private Vector3 lookingDirectionVector; - private bool movementLocked = false; - [SerializeField] - private CinemachineFreeLook freelook; - private float initXSensitivity = 250f; - private float initYSensitivity = 10f; - [SerializeField] - private string mouseXAxis = "Mouse X"; - [SerializeField] - private string mouseYAxis = "Mouse Y"; + private InGameManager manager; + + private bool movementLocked; + + private float x; + private float y; + public bool IsRunning { get; private set; } + + + public float NoiseDistance => noiseSettings.NoiseDistance; + + + // Start is called before the first frame update + private void Start() + { + ccForceAddon = ccontroller.gameObject.GetComponent<CharacterControllerForce>(); + manager = FindObjectOfType<InGameManager>(); + initXSensitivity = freelook.m_XAxis.m_MaxSpeed; + initYSensitivity = freelook.m_YAxis.m_MaxSpeed; + } + + // Update is called once per frame + private void Update() + { + if (isDead) return; + AllowRotation = IsAiming || IsRunning; + IsAiming = Input.GetMouseButton(1) || Input.GetAxis("Aim") > 0.5f; + GetMovementOld(); + MovePlayer(); + + animcontroller.Animate(new Vector2(x, y), false, IsRunning); + + lookingDirectionVector = (cameraController.Forward * y + cameraController.Right * x).normalized; + if ((IsRunning && !Input.GetMouseButtonDown(1)) || AllowRotation) + { + if ((AllowRotation && x == 0 && y == 0) || (IsAiming && PlayerInteractionHandler.instance.GunEnabled)) + lookingDirectionVector = cameraController.Forward.normalized; + SlowLookAt(lookingDirectionVector); + } + + + freelook.m_XAxis.m_InputAxisName = !manager.IsPaused ? mouseXAxis : ""; + freelook.m_YAxis.m_InputAxisName = !manager.IsPaused ? mouseYAxis : ""; + } - public bool isDead = false; private void GetMovementOld() { x = Input.GetAxis("Horizontal"); y = Input.GetAxis("Vertical"); - if (movementLocked||manager.IsPaused) + if (movementLocked || manager.IsPaused) { x = 0; y = 0; } - isRunning = (Mathf.Abs(y) > 0.1f || Mathf.Abs(x) > 0.1f); + + IsRunning = Mathf.Abs(y) > 0.1f || Mathf.Abs(x) > 0.1f; } + public void SetSensitivity(float sensitivity) { - this.freelook.m_XAxis.m_MaxSpeed = initXSensitivity * sensitivity; - this.freelook.m_YAxis.m_MaxSpeed= initYSensitivity * sensitivity; + freelook.m_XAxis.m_MaxSpeed = initXSensitivity * sensitivity; + freelook.m_YAxis.m_MaxSpeed = initYSensitivity * sensitivity; } + private void MovePlayer() { - Vector3 movement = Vector3.zero; + var movement = Vector3.zero; //movement += transform.forward * Mathf.Abs(y) * Time.deltaTime * speed;//+(transform.right*x*Time.deltaTime*speed); - movement += cam.transform.forward *y * Time.deltaTime * speed; + movement += cam.transform.forward * y * Time.deltaTime * speed; //movement += transform.forward * Mathf.Abs(x) * Time.deltaTime * speed; @@ -88,9 +119,8 @@ private void MovePlayer() else movement += cam.transform.right * x * Time.deltaTime * sideSpeed; - - movement += Vector3.down*Time.deltaTime*9.8f; + movement += Vector3.down * Time.deltaTime * 9.8f; ccontroller.Move(movement); } @@ -101,77 +131,33 @@ public void SetSpeed(float speed) private void GetJumpOld() { - } - // Start is called before the first frame update - void Start() + private void SlowLookAt(Vector3 targetVector) { - ccForceAddon = ccontroller.gameObject.GetComponent<CharacterControllerForce>(); - manager = GameObject.FindObjectOfType<InGameManager>(); - initXSensitivity =freelook.m_XAxis.m_MaxSpeed; - initYSensitivity= freelook.m_YAxis.m_MaxSpeed; - } + var relativePos = targetVector; + var toRotation = Quaternion.LookRotation(relativePos); - // Update is called once per frame - void Update() - { - if(isDead) return; - AllowRotation = IsAiming||IsRunning; - IsAiming = Input.GetMouseButton(1) || Input.GetAxis("Aim") > 0.5f; - GetMovementOld(); - MovePlayer(); - - animcontroller.Animate(new Vector2(x, y), false,isRunning); - - this.lookingDirectionVector = ((cameraController.Forward * y) + cameraController.Right * x).normalized; - if (isRunning && !Input.GetMouseButtonDown(1) || AllowRotation) - { - if (AllowRotation && x == 0 && y == 0 || IsAiming && PlayerInteractionHandler.instance.GunEnabled) - { - this.lookingDirectionVector = cameraController.Forward.normalized; - - } - SlowLookAt(this.lookingDirectionVector); - - } - - - - - freelook.m_XAxis.m_InputAxisName = !manager.IsPaused ? this.mouseXAxis : ""; - freelook.m_YAxis.m_InputAxisName = !manager.IsPaused ? this.mouseYAxis : ""; - - } - - - - - void SlowLookAt(Vector3 targetVector) - { - Vector3 relativePos = targetVector; - Quaternion toRotation = Quaternion.LookRotation(relativePos); - transform.rotation = Quaternion.Lerp(transform.rotation, toRotation, animatedRotationSpeed * Time.deltaTime); - } - - + + public void PhysicalForceMove(Vector3 vector) { - this.ccontroller.Move(vector); + ccontroller.Move(vector); ccForceAddon.AddImpact(vector, vector.magnitude); - } + public void LockMovement(float duration) { StartCoroutine(lockMovement(duration)); } + private IEnumerator lockMovement(float duration) { movementLocked = true; yield return new WaitForSeconds(duration); movementLocked = false; } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Player/StatsOutputScreen.cs b/Assets/Scripts/Player/StatsOutputScreen.cs index 592f8ff..cf77c2c 100644 --- a/Assets/Scripts/Player/StatsOutputScreen.cs +++ b/Assets/Scripts/Player/StatsOutputScreen.cs @@ -1,60 +1,49 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; using TMPro; +using UnityEngine; public class StatsOutputScreen : MonoBehaviour { - [SerializeField] - private TMP_Text healthText; - [SerializeField] - private TMP_Text staminaText; - [SerializeField] - private TMP_Text oxygenText; - [HideInInspector] - public float health = 0; - [HideInInspector] - public float stamina = 0; - [HideInInspector] - public float oxygen = 0; + [SerializeField] private TMP_Text healthText; + + [SerializeField] private TMP_Text staminaText; + + [SerializeField] private TMP_Text oxygenText; + + [HideInInspector] public float health; + + [HideInInspector] public float stamina; + + [HideInInspector] public float oxygen; private Color initColor; - + // Start is called before the first frame update - void Start() + private void Start() { initColor = healthText.color; InvokeRepeating("ToggleColor", 0.5f, 0.5f); } // Update is called once per frame - void Update() + private void Update() { - healthText.text = "Health:" + health.ToString(); + healthText.text = "Health:" + health; if (health <= 1) - { //Dark Red - healthText.color = new Color(50,0,0); - } - else if (health <=3) - { + healthText.color = new Color(50, 0, 0); + else if (health <= 3) healthText.color = Color.red; - } else - { healthText.color = initColor; - } - - staminaText.text = "Stamina:" + stamina.ToString(); - oxygenText.text = "Oxygen:"+oxygen.ToString(); + + staminaText.text = "Stamina:" + stamina; + oxygenText.text = "Oxygen:" + oxygen; } private void ToggleColor() { - if(health<=1) + if (health <= 1) healthText.gameObject.SetActive(!healthText.gameObject.activeSelf); - } - -} +} \ No newline at end of file diff --git a/Assets/FishNet/Runtime/Transporting/Transports/Tugboat/LiteNetLib/LiteNetLib.csproj.meta b/Assets/Scripts/Steam.meta similarity index 67% rename from Assets/FishNet/Runtime/Transporting/Transports/Tugboat/LiteNetLib/LiteNetLib.csproj.meta rename to Assets/Scripts/Steam.meta index f9c48e9..d30cd23 100644 --- a/Assets/FishNet/Runtime/Transporting/Transports/Tugboat/LiteNetLib/LiteNetLib.csproj.meta +++ b/Assets/Scripts/Steam.meta @@ -1,5 +1,6 @@ fileFormatVersion: 2 -guid: 2ad85b0f43f25f1499c27a4dca23ddd8 +guid: 6e954a9a26b1f7447a8a8a8aeafa34bb +folderAsset: yes DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Scripts/Steam/FriendObject.cs b/Assets/Scripts/Steam/FriendObject.cs new file mode 100644 index 0000000..304cae0 --- /dev/null +++ b/Assets/Scripts/Steam/FriendObject.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Steamworks; + + + public class FriendObject : MonoBehaviour + { + public SteamId steamid; + + public async void Invite() + { + if (SteamLobbyManager.UserInLobby) + { + SteamLobbyManager.CurrentLobby.InviteFriend(steamid); + Debug.Log("Invited " + steamid); + } + else + { + bool result = await SteamLobbyManager.CreateLobby(); + if (result) + { + SteamLobbyManager.CurrentLobby.InviteFriend(steamid); + Debug.Log("Invited " + steamid + " Created a new lobby"); + } + } + } + + } + diff --git a/Assets/Scripts/Steam/FriendObject.cs.meta b/Assets/Scripts/Steam/FriendObject.cs.meta new file mode 100644 index 0000000..30aef58 --- /dev/null +++ b/Assets/Scripts/Steam/FriendObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57db693cbe9a46345add801ae22e1e2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Steam/SteamFriendsManager.cs b/Assets/Scripts/Steam/SteamFriendsManager.cs new file mode 100644 index 0000000..d547968 --- /dev/null +++ b/Assets/Scripts/Steam/SteamFriendsManager.cs @@ -0,0 +1,74 @@ +using Steamworks; +using UnityEngine; +using UnityEngine.UI; + +public class SteamFriendsManager : MonoBehaviour +{ + public RawImage playerprofile; + public Text playername; + + public Transform friendsContent; + public GameObject friendObj; + + async void Start() + { + if (!SteamClient.IsValid) return; + + playername.text = SteamClient.Name; + InitFriendsAsync(); + var img = await SteamFriends.GetLargeAvatarAsync(SteamClient.SteamId); + playerprofile.texture = GetTextureFromImage(img.Value); + + } + + public static Texture2D GetTextureFromImage(Steamworks.Data.Image image) + { + Texture2D texture = new Texture2D((int)image.Width, (int)image.Height); + + for (int x = 0; x < image.Width; x++) + { + for (int y = 0; y < image.Height; y++) + { + var p = image.GetPixel(x, y); + texture.SetPixel(x, (int)image.Height - y, new Color(p.r / 255.0f, p.g / 255.0f, p.b / 255.0f, p.a / 255.0f)); + } + } + texture.Apply(); + return texture; + } + + public void InitFriendsAsync() + { + foreach (var friend in SteamFriends.GetFriends()) + { + GameObject f = Instantiate(friendObj, friendsContent); + f.GetComponentInChildren<Text>().text = friend.Name; + f.GetComponent<FriendObject>().steamid = friend.Id; + AssingFriendImage(f, friend.Id); + } + } + + public async void AssingFriendImage(GameObject f, SteamId id) + { + var img = await SteamFriends.GetLargeAvatarAsync(id); + f.GetComponentInChildren<RawImage>().texture = GetTextureFromImage(img.Value); + } + + public static async System.Threading.Tasks.Task<Texture2D> GetTextureFromSteamIdAsync(SteamId id) + { + var img = await SteamFriends.GetLargeAvatarAsync(SteamClient.SteamId); + Steamworks.Data.Image image = img.Value; + Texture2D texture = new Texture2D((int)image.Width, (int)image.Height); + + for (int x = 0; x < image.Width; x++) + { + for (int y = 0; y < image.Height; y++) + { + var p = image.GetPixel(x, y); + texture.SetPixel(x, (int)image.Height - y, new Color(p.r / 255.0f, p.g / 255.0f, p.b / 255.0f, p.a / 255.0f)); + } + } + texture.Apply(); + return texture; + } +} diff --git a/Assets/Scripts/Steam/SteamFriendsManager.cs.meta b/Assets/Scripts/Steam/SteamFriendsManager.cs.meta new file mode 100644 index 0000000..9288f4a --- /dev/null +++ b/Assets/Scripts/Steam/SteamFriendsManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3e1287d29b0590b4086746e0ea190f4e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Steam/SteamLobbyManager.cs b/Assets/Scripts/Steam/SteamLobbyManager.cs new file mode 100644 index 0000000..fcb0311 --- /dev/null +++ b/Assets/Scripts/Steam/SteamLobbyManager.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Steamworks; +using Steamworks.Data; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.UI; + + + public class SteamLobbyManager : MonoBehaviour + { + public static Lobby CurrentLobby; + public static bool UserInLobby; + public UnityEvent onLobbyCreated; + public UnityEvent onLobbyJoined; + public UnityEvent onLobbyLeave; + + + public GameObject inLobbyFriend; + public Transform content; + + public Dictionary<SteamId, GameObject> inLobby = new(); + + private void Start() + { + DontDestroyOnLoad(this); + + SteamMatchmaking.OnLobbyCreated += OnLobbyCreatedCallBack; + SteamMatchmaking.OnLobbyEntered += OnLobbyEntered; + SteamMatchmaking.OnLobbyMemberJoined += OnLobbyMemberJoined; + SteamMatchmaking.OnChatMessage += OnChatMessage; + SteamMatchmaking.OnLobbyMemberDisconnected += OnLobbyMemberDisconnected; + SteamMatchmaking.OnLobbyMemberLeave += OnLobbyMemberDisconnected; + SteamMatchmaking.OnLobbyGameCreated += OnLobbyGameCreated; + SteamFriends.OnGameLobbyJoinRequested += OnGameLobbyJoinRequest; + SteamMatchmaking.OnLobbyInvite += OnLobbyInvite; + } + + private void OnLobbyInvite(Friend friend, Lobby lobby) + { + Debug.Log($"{friend.Name} invited you to his lobby."); + } + + + private void OnLobbyGameCreated(Lobby lobby, uint ip, ushort port, SteamId id) + { + } + + private async void OnLobbyMemberJoined(Lobby lobby, Friend friend) + { + Debug.Log($"{friend.Name} joined the lobby"); + var obj = Instantiate(inLobbyFriend, content); + obj.GetComponentInChildren<Text>().text = friend.Name; + obj.GetComponentInChildren<RawImage>().texture = + await SteamFriendsManager.GetTextureFromSteamIdAsync(friend.Id); + inLobby.Add(friend.Id, obj); + } + + private void OnLobbyMemberDisconnected(Lobby lobby, Friend friend) + { + Debug.Log($"{friend.Name} left the lobby"); + Debug.Log($"New lobby owner is {CurrentLobby.Owner}"); + if (inLobby.ContainsKey(friend.Id)) + { + Destroy(inLobby[friend.Id]); + inLobby.Remove(friend.Id); + } + } + + private void OnChatMessage(Lobby lobby, Friend friend, string message) + { + Debug.Log($"incoming chat message from {friend.Name} : {message}"); + } + + private async void OnGameLobbyJoinRequest(Lobby joinedLobby, SteamId id) + { + var joinedLobbySuccess = await joinedLobby.Join(); + if (joinedLobbySuccess != RoomEnter.Success) + Debug.Log("failed to join lobby : " + joinedLobbySuccess); + else + CurrentLobby = joinedLobby; + } + + private void OnLobbyCreatedCallBack(Result result, Lobby lobby) + { + if (result != Result.OK) + { + Debug.Log("lobby creation result not ok : " + result); + } + else + { + onLobbyCreated.Invoke(); + Debug.Log("lobby creation result ok"); + } + } + + private async void OnLobbyEntered(Lobby lobby) + { + Debug.Log("Client joined the lobby"); + UserInLobby = true; + foreach (var user in inLobby.Values) Destroy(user); + inLobby.Clear(); + + var obj = Instantiate(inLobbyFriend, content); + obj.GetComponentInChildren<Text>().text = SteamClient.Name; + obj.GetComponentInChildren<RawImage>().texture = + await SteamFriendsManager.GetTextureFromSteamIdAsync(SteamClient.SteamId); + + inLobby.Add(SteamClient.SteamId, obj); + + foreach (var friend in CurrentLobby.Members) + if (friend.Id != SteamClient.SteamId) + { + var obj2 = Instantiate(inLobbyFriend, content); + obj2.GetComponentInChildren<Text>().text = friend.Name; + obj2.GetComponentInChildren<RawImage>().texture = + await SteamFriendsManager.GetTextureFromSteamIdAsync(friend.Id); + + inLobby.Add(friend.Id, obj2); + } + + onLobbyJoined.Invoke(); + } + + + public async void CreateLobbyAsync() + { + var result = await CreateLobby(); + if (!result) + { + //Invoke a error message. + } + } + + public static async Task<bool> CreateLobby() + { + try + { + var createLobbyOutput = await SteamMatchmaking.CreateLobbyAsync(); + if (!createLobbyOutput.HasValue) + { + Debug.Log("Lobby created but not correctly instantiated."); + return false; + } + + CurrentLobby = createLobbyOutput.Value; + + CurrentLobby.SetPublic(); + //currentLobby.SetPrivate(); + CurrentLobby.SetJoinable(true); + + return true; + } + catch (Exception exception) + { + Debug.Log("Failed to create multiplayer lobby : " + exception); + return false; + } + } + + public void LeaveLobby() + { + try + { + UserInLobby = false; + CurrentLobby.Leave(); + onLobbyLeave.Invoke(); + foreach (var user in inLobby.Values) Destroy(user); + inLobby.Clear(); + } + catch + { + } + } + } diff --git a/Assets/Scripts/Steam/SteamLobbyManager.cs.meta b/Assets/Scripts/Steam/SteamLobbyManager.cs.meta new file mode 100644 index 0000000..6a4167a --- /dev/null +++ b/Assets/Scripts/Steam/SteamLobbyManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d4b922de688dc97428e1fcaec4244b9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Steam/SteamManager.cs b/Assets/Scripts/Steam/SteamManager.cs new file mode 100644 index 0000000..8121682 --- /dev/null +++ b/Assets/Scripts/Steam/SteamManager.cs @@ -0,0 +1,39 @@ +using System; +using Steamworks; +using UnityEngine; +using UnityEngine.Events; + + + public class SteamManager : MonoBehaviour + { + public uint appId; + public UnityEvent onSteamFailed; + + private void Awake() + { + DontDestroyOnLoad(this); + try + { + SteamClient.Init(appId); + Debug.Log("Steam is up and running!"); + } + catch (Exception e) + { + Debug.Log(e.Message); + onSteamFailed.Invoke(); + } + } + + private void OnApplicationQuit() + { + try + { + Debug.Log("Steam is shutting down!"); + SteamClient.Shutdown(); + } + catch + { + Debug.Log("Steam is not running!"); + } + } + } diff --git a/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs.meta b/Assets/Scripts/Steam/SteamManager.cs.meta similarity index 83% rename from Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs.meta rename to Assets/Scripts/Steam/SteamManager.cs.meta index 2c5bd58..cd62365 100644 --- a/Assets/FishNet/Plugins/FishyFacepunch/SteamManager.cs.meta +++ b/Assets/Scripts/Steam/SteamManager.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1b5f291225ca7c4459871c80128b5172 +guid: c790abd20c22fc348ac5c95c419527bb MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/UI/ObjectiveText.cs b/Assets/Scripts/UI/ObjectiveText.cs index e6c1035..1894e3d 100644 --- a/Assets/Scripts/UI/ObjectiveText.cs +++ b/Assets/Scripts/UI/ObjectiveText.cs @@ -1,60 +1,52 @@ -using System.Collections; +using System; using System.Collections.Generic; +using TMPro; using UnityEngine; using UnityEngine.UI; -using TMPro; [ExecuteAlways] public class ObjectiveText : MonoBehaviour { - - [SerializeField] - public List<VisualObjectiveItemGUI> visualObjects; - - [SerializeField] - private Color inCompleteColor = Color.white; - [SerializeField] - private Color completeColor = Color.yellow; - [SerializeField] - private float speed; - [SerializeField] - private Animator animator; + [SerializeField] public List<VisualObjectiveItemGUI> visualObjects; + + [SerializeField] private Color inCompleteColor = Color.white; + + [SerializeField] private Color completeColor = Color.yellow; + + [SerializeField] private float speed; + + [SerializeField] private Animator animator; // Start is called before the first frame update - void Start() + private void Start() { - } // Update is called once per frame - void Update() + private void Update() { - foreach(VisualObjectiveItemGUI item in visualObjects) - { - if (item.isComplete){ - item.icon.color = Color.Lerp(item.icon.color, completeColor, Time.deltaTime*speed); - } + foreach (var item in visualObjects) + if (item.isComplete) + item.icon.color = Color.Lerp(item.icon.color, completeColor, Time.deltaTime * speed); else - { - item.icon.color = Color.Lerp(item.icon.color,inCompleteColor, Time.deltaTime*speed); - } - } + item.icon.color = Color.Lerp(item.icon.color, inCompleteColor, Time.deltaTime * speed); } + public void FadeOut() { animator.Play("FadeOut"); } + public void FadeIn() { animator.Play("FadeIn"); } } -[System.Serializable] +[Serializable] public class VisualObjectiveItemGUI { public TMP_Text text; public Image icon; - public bool isComplete = false; - + public bool isComplete; } \ No newline at end of file diff --git a/Assets/Scripts/UI/WaypointMarker.cs b/Assets/Scripts/UI/WaypointMarker.cs index 0b9242e..c81f7a8 100644 --- a/Assets/Scripts/UI/WaypointMarker.cs +++ b/Assets/Scripts/UI/WaypointMarker.cs @@ -1,60 +1,49 @@ -using System.Collections; -using System.Collections.Generic; +using TMPro; using UnityEngine; using UnityEngine.UI; -using TMPro; public class WaypointMarker : MonoBehaviour { public Image pointer; public Transform target; public TMP_Text distanceMarker; + private Vector2 offset; + // Start is called before the first frame update - void Start() + private void Start() { offset = distanceMarker.transform.position - pointer.transform.position; } // Update is called once per frame - void Update() + private void Update() { - float minX = pointer.GetPixelAdjustedRect().width / 2; - float maxX = Screen.width - minX; - float minY = pointer.GetPixelAdjustedRect().height / 2; - float maxY = Screen.height - minY; + var minX = pointer.GetPixelAdjustedRect().width / 2; + var maxX = Screen.width - minX; + var minY = pointer.GetPixelAdjustedRect().height / 2; + var maxY = Screen.height - minY; Vector2 pos = Camera.main.WorldToScreenPoint(target.position); if (Vector3.Dot(target.position - Camera.main.transform.position, Camera.main.transform.forward) < 0) { //target is behind player - if(pos.x < Screen.width / 2) - { + if (pos.x < Screen.width / 2) pos.x = maxX; - } else - { pos.x = minX; - } } - + pos.x = Mathf.Clamp(pos.x, minX, maxX); pos.y = Mathf.Clamp(pos.y, minY, maxY); pointer.transform.position = pos; - distanceMarker.text = Mathf.RoundToInt(Vector3.Distance(Camera.main.transform.position, target.transform.position)).ToString() + " meters"; + distanceMarker.text = + Mathf.RoundToInt(Vector3.Distance(Camera.main.transform.position, target.transform.position)) + " meters"; if (pos.x < Screen.width / 2) - { distanceMarker.transform.position = pos + offset; - - } else - { distanceMarker.transform.position = pos - offset; - } - - - } -} +} \ No newline at end of file diff --git a/Assets/TextMesh Pro/Sprites/EmojiOne.json b/Assets/TextMesh Pro/Sprites/EmojiOne.json index 6c4e50b..7636e5a 100644 --- a/Assets/TextMesh Pro/Sprites/EmojiOne.json +++ b/Assets/TextMesh Pro/Sprites/EmojiOne.json @@ -1,156 +1,416 @@ -{"frames": [ - { - "filename": "1f60a.png", - "frame": {"x":0,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60b.png", - "frame": {"x":128,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60d.png", - "frame": {"x":256,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60e.png", - "frame": {"x":384,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f600.png", - "frame": {"x":0,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f601.png", - "frame": {"x":128,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f602.png", - "frame": {"x":256,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f603.png", - "frame": {"x":384,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f604.png", - "frame": {"x":0,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f605.png", - "frame": {"x":128,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f606.png", - "frame": {"x":256,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f609.png", - "frame": {"x":384,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f618.png", - "frame": {"x":0,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f923.png", - "frame": {"x":128,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "263a.png", - "frame": {"x":256,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "2639.png", - "frame": {"x":384,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}], -"meta": { - "app": "http://www.codeandweb.com/texturepacker", - "version": "1.0", - "image": "EmojiOne.png", - "format": "RGBA8888", - "size": {"w":512,"h":512}, - "scale": "1", - "smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$" -} + "frames": [ + { + "filename": "1f60a.png", + "frame": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f60b.png", + "frame": { + "x": 128, + "y": 0, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f60d.png", + "frame": { + "x": 256, + "y": 0, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f60e.png", + "frame": { + "x": 384, + "y": 0, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f600.png", + "frame": { + "x": 0, + "y": 128, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f601.png", + "frame": { + "x": 128, + "y": 128, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f602.png", + "frame": { + "x": 256, + "y": 128, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f603.png", + "frame": { + "x": 384, + "y": 128, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f604.png", + "frame": { + "x": 0, + "y": 256, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f605.png", + "frame": { + "x": 128, + "y": 256, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f606.png", + "frame": { + "x": 256, + "y": 256, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f609.png", + "frame": { + "x": 384, + "y": 256, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f618.png", + "frame": { + "x": 0, + "y": 384, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "1f923.png", + "frame": { + "x": 128, + "y": 384, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "263a.png", + "frame": { + "x": 256, + "y": 384, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + }, + { + "filename": "2639.png", + "frame": { + "x": 384, + "y": 384, + "w": 128, + "h": 128 + }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 128, + "h": 128 + }, + "sourceSize": { + "w": 128, + "h": 128 + }, + "pivot": { + "x": 0.5, + "y": 0.5 + } + } + ], + "meta": { + "app": "http://www.codeandweb.com/texturepacker", + "version": "1.0", + "image": "EmojiOne.png", + "format": "RGBA8888", + "size": { + "w": 512, + "h": 512 + }, + "scale": "1", + "smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$" + } } diff --git a/Packages/manifest.json b/Packages/manifest.json index 5ab9c41..7d604de 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -3,7 +3,7 @@ "com.unity.cinemachine": "2.8.9", "com.unity.collab-proxy": "2.0.0", "com.unity.feature.development": "1.0.1", - "com.unity.ide.rider": "3.0.18", + "com.unity.ide.rider": "3.0.22", "com.unity.ide.visualstudio": "2.0.17", "com.unity.ide.vscode": "1.2.5", "com.unity.inputsystem": "1.4.4", @@ -12,6 +12,7 @@ "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.6.4", "com.unity.toolchain.linux-x86_64": "2.0.5", + "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.5", "com.unity.ugui": "1.0.0", "com.unity.visualscripting": "1.8.0", "com.unity.modules.ai": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 9a7dd72..c009149 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -54,7 +54,7 @@ } }, "com.unity.ide.rider": { - "version": "3.0.18", + "version": "3.0.22", "depth": 0, "source": "registry", "dependencies": { @@ -227,6 +227,16 @@ }, "url": "https://packages.unity.com" }, + "com.unity.toolchain.win-x86_64-linux-x86_64": { + "version": "2.0.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.sysroot": "2.0.6", + "com.unity.sysroot.linux-x86_64": "2.0.5" + }, + "url": "https://packages.unity.com" + }, "com.unity.ugui": { "version": "1.0.0", "depth": 0, diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json index 6f3e60f..448a398 100644 --- a/ProjectSettings/SceneTemplateSettings.json +++ b/ProjectSettings/SceneTemplateSettings.json @@ -1,167 +1,167 @@ { - "templatePinStates": [], - "dependencyTypeInfos": [ - { - "userAdded": false, - "type": "UnityEngine.AnimationClip", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEditor.Animations.AnimatorController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.AnimatorOverrideController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEditor.Audio.AudioMixerController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.ComputeShader", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Cubemap", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.GameObject", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEditor.LightingDataAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": false - }, - { - "userAdded": false, - "type": "UnityEngine.LightingSettings", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Material", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEditor.MonoScript", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.PhysicMaterial", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.PhysicsMaterial2D", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Rendering.VolumeProfile", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEditor.SceneAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": false - }, - { - "userAdded": false, - "type": "UnityEngine.Shader", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.ShaderVariantCollection", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Texture", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Texture2D", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - }, - { - "userAdded": false, - "type": "UnityEngine.Timeline.TimelineAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true - } - ], - "defaultDependencyTypeInfo": { - "userAdded": false, - "type": "<default_scene_template_dependencies>", - "ignore": false, - "defaultInstantiationMode": 1, - "supportsModification": true + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true }, - "newSceneOverride": 0 + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "<default_scene_template_dependencies>", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 } \ No newline at end of file