diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 821c6aa..dff1f13 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -13,30 +13,32 @@ jobs: variables: runs-on: windows-latest outputs: - version_suffix: ${{ steps.get_version_suffix.outputs.suffix }} + build_number: ${{ steps.get_build_num.outputs.build_number }} steps: - - name: Generating version suffix + - name: Generating build number uses: actions/github-script@v7 - id: get_version_suffix + id: get_build_num with: script: | - core.setOutput('suffix', "${{ github.run_id }}".substr(-4, 4)); + core.setOutput('build_number', "${{ github.run_id }}".substr(-4, 4)); build: needs: [variables] runs-on: windows-latest env: - solution_path: Dota2GSI\Dota2GSI.sln - build_path: Dota2GSI\Dota2GSI\bin\Release\net8.0\ + solution_path: build\Dota2GSI.sln + build_path: build\binaries\Release\ steps: - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x + - name: Generate project + run: cmake -B build/ -A x64 -D BUILD_NUMBER=${{ needs.variables.outputs.build_number }} . - name: Restore dependencies run: dotnet restore $env:solution_path - name: Build - run: dotnet build $env:solution_path --no-restore -c Release -p:VersionSuffix=.${{ needs.variables.outputs.version_suffix }} + run: dotnet build $env:solution_path --no-restore -c Release - name: Upload build artifacts uses: actions/upload-artifact@v4 with: diff --git a/.gitignore b/.gitignore index ef5f9a2..53826d0 100644 --- a/.gitignore +++ b/.gitignore @@ -247,4 +247,18 @@ Dota2GSI/nuget.exe #!**/packages/repositories.config # NuGet v3's project.json files produces more ignoreable files *.nuget.props -*.nuget.targets \ No newline at end of file +*.nuget.targets + +# Cmake files +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps +build/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9e886cd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,38 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.26) + +SET(REPOSITORY_URL "https://github.com/antonpup/Dota2GSI") + +set(CMAKE_SUPPRESS_REGENERATION true) + +PROJECT(Dota2GSI LANGUAGES CSharp CXX) + +# Set global .NET Framework version. +SET(CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION "8.0") + +# Set the C# language version for all projects. +SET(CMAKE_CSharp_FLAGS "/langversion:6") + +# Explicitly set the `PlatformTarget` for C# projects, since AnyCPU can result in +# System.BadImageFormatException throws, when trying to load C++/CLI assemblies. +IF(CMAKE_GENERATOR_PLATFORM STREQUAL "x64") + SET(CMAKE_CSharp_FLAGS "/platform:x64") +ELSEIF(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32") + SET(CMAKE_CSharp_FLAGS "/platform:x86") +ELSE() + MESSAGE(WARNING "Generator platform is set to '${CMAKE_GENERATOR_PLATFORM}', which is not supported by managed projects. Defaulting to 'AnyCPU'...") + SET(CMAKE_CSharp_FLAGS "/platform:AnyCPU") +ENDIF() + +# Define runtime intermediate build directory, so that debugging the Visual Studio solution works as expected. +SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/binaries/") + +# Set export directory for CMake config. +SET(CMAKE_INSTALL_BINARY_DIR "bin/") +SET(CMAKE_INSTALL_LIBRARY_DIR "bin/") +SET(CMAKE_INSTALL_INCLUDE_DIR "include/") +SET(CMAKE_INSTALL_EXPORT_DIR "cmake/") + +# Include sub-projects. +ADD_SUBDIRECTORY(Dota2GSI) + +set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Dota2GSI) \ No newline at end of file diff --git a/Dota2GSI/CMakeLists.txt b/Dota2GSI/CMakeLists.txt new file mode 100644 index 0000000..1f6c3b5 --- /dev/null +++ b/Dota2GSI/CMakeLists.txt @@ -0,0 +1,122 @@ +# Setup project. +SET(PRODUCT Dota2GSI) +SET(PRODUCT_NAME "${PRODUCT}") +SET(PRODUCT_VERSION 2.0.0) +SET(PRODUCT_DESCRIPTION "A C# library to interface the Game State Integration found in Dota 2.") +SET(PRODUCT_AUTHORS "Anton Pupkov") +SET(PRODUCT_COPYRIGHT "Copyright© 2024") + +if(DEFINED BUILD_NUMBER) + SET(PRODUCT_VERSION "${PRODUCT_VERSION}.${BUILD_NUMBER}") +endif() + +PROJECT(${PRODUCT} VERSION ${PRODUCT_VERSION} LANGUAGES CSharp) + +# Setup project to use C# utilities. +INCLUDE(CSharpUtilities) + +SET(SOURCES + GameState.cs + GameStateListener.cs + Nodes/Roshan.cs + Nodes/HeroProvider/HeroDetails.cs + Nodes/CouriersProvider/Courier.cs + Nodes/MinimapProvider/MinimapElement.cs + Nodes/Helpers/Vector2D.cs + Nodes/Helpers/FullTeamDetails.cs + Nodes/Helpers/FullPlayerDetails.cs + Nodes/RoshanProvider/ItemsDrop.cs + Nodes/League.cs + Nodes/LeagueProvider/Stream.cs + Nodes/Wearables.cs + Nodes/WearablesProvider/WearableItem.cs + Nodes/WearablesProvider/PlayerWearables.cs + Nodes/NeutralItemsProvider/NeutralTierInfo.cs + Nodes/NeutralItems.cs + Nodes/NeutralItemsProvider/TeamNeutralItems.cs + Nodes/NeutralItemsProvider/NeutralItem.cs + Nodes/Minimap.cs + Nodes/Hero.cs + Nodes/LeagueProvider/SelectionPriority.cs + Nodes/LeagueProvider/LeagueTeam.cs + Nodes/Items.cs + Nodes/ItemsProvider/Item.cs + Nodes/ItemsProvider/ItemDetails.cs + Nodes/Events.cs + Nodes/EventsProvider/Event.cs + Nodes/Draft.cs + Nodes/DraftProvider/DraftDetails.cs + Nodes/Couriers.cs + Nodes/CouriersProvider/CourierItem.cs + Nodes/Buildings.cs + Nodes/BuildingsProvider/BuildingLayout.cs + Nodes/BuildingsProvider/Building.cs + Nodes/Abilities.cs + Nodes/AbilitiesProvider/Ability.cs + Nodes/AbilitiesProvider/AbilityDetails.cs + Nodes/Player.cs + Nodes/PlayerProvider/PlayerDetails.cs + Nodes/Node.cs + Nodes/Provider.cs + Nodes/Map.cs + Nodes/Auth.cs +) + +SET(README "${CMAKE_SOURCE_DIR}/README.md") + +# Add shared library project. +ADD_LIBRARY(${PROJECT_NAME} SHARED + ${README} + ${SOURCES} +) + +# Define dependencies. +TARGET_LINK_LIBRARIES(${PROJECT_NAME} + PUBLIC CommonLib +) + +SET(NET_REFERENCES + ) + +SET(NUGET_PACKAGES + "Microsoft.CSharp_4.7.0" + "System.Data.DataSetExtensions_4.5.0" + "Newtonsoft.Json_13.0.3" + ) + +# Set .Net +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES + DOTNET_SDK "Microsoft.NET.Sdk" + DOTNET_TARGET_FRAMEWORK "net8.0" + VS_DOTNET_REFERENCES "${NET_REFERENCES}" + VS_GLOBAL_ROOTNAMESPACE ${PROJECT_NAME} + VS_PACKAGE_REFERENCES "${NUGET_PACKAGES}" +) + +# Set readme file +SET_SOURCE_FILES_PROPERTIES(${README} PROPERTIES + VS_CSHARP_Pack "True" + VS_CSHARP_PackagePath "\\") + +# Set project configuration +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES + VS_GLOBAL_GenerateAssemblyInfo "True" + VS_GLOBAL_GenerateDocumentationFile "True" + VS_GLOBAL_GeneratePackageOnBuild "True" + VS_GLOBAL_TreatWarningsAsErrors "True" + VS_GLOBAL_PackageProjectUrl ${REPOSITORY_URL} + VS_GLOBAL_RepositoryUrl ${REPOSITORY_URL} + VS_GLOBAL_PackageReadmeFile "README.md" +) + +# Set Assembly information +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES + VS_GLOBAL_Authors "${PRODUCT_AUTHORS}" + VS_GLOBAL_Version "${PRODUCT_VERSION}" + VS_GLOBAL_Description "${PRODUCT_DESCRIPTION}" + VS_GLOBAL_Product "${PRODUCT_NAME}" + VS_GLOBAL_Copyright "${PRODUCT_COPYRIGHT}" +) + +# Export config. +EXPORT(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) \ No newline at end of file diff --git a/Dota2GSI/Dota2GSI.sln b/Dota2GSI/Dota2GSI.sln deleted file mode 100644 index 25e6e59..0000000 --- a/Dota2GSI/Dota2GSI.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 2013 for Windows Desktop -VisualStudioVersion = 12.0.31101.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Dota2GSI", "Dota2GSI\Dota2GSI.csproj", "{ED6F76C6-A3FC-40F2-9B9B-3C47093A4B6F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {ED6F76C6-A3FC-40F2-9B9B-3C47093A4B6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED6F76C6-A3FC-40F2-9B9B-3C47093A4B6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED6F76C6-A3FC-40F2-9B9B-3C47093A4B6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED6F76C6-A3FC-40F2-9B9B-3C47093A4B6F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Dota2GSI/Dota2GSI/Dota2GSI.csproj b/Dota2GSI/Dota2GSI/Dota2GSI.csproj deleted file mode 100644 index 24cc364..0000000 --- a/Dota2GSI/Dota2GSI/Dota2GSI.csproj +++ /dev/null @@ -1,40 +0,0 @@ - - - net8.0 - Library - True - Dota2GSI - A C# library to intrerface the Game State Integration found in Dota 2. - Dota2GSI - Copyright © 2024 - True - True - $(AssemblyName) - https://github.com/antonpup/Dota2GSI - README.md - https://github.com/antonpup/Dota2GSI - 2.0.0$(VersionSuffix) - $(Version) - $(Version) - False - Antonpup - - - bin\Release\Dota2GSI.XML - True - - - True - - - - True - \ - - - - - - - - \ No newline at end of file diff --git a/Dota2GSI/Dota2GSI/Properties/AssemblyInfo.cs b/Dota2GSI/Dota2GSI/Properties/AssemblyInfo.cs deleted file mode 100644 index f374258..0000000 --- a/Dota2GSI/Dota2GSI/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("0147492d-b8eb-4d1b-8315-ec52a5866cc4")] diff --git a/Dota2GSI/Dota2GSI/GameState.cs b/Dota2GSI/GameState.cs similarity index 100% rename from Dota2GSI/Dota2GSI/GameState.cs rename to Dota2GSI/GameState.cs diff --git a/Dota2GSI/Dota2GSI/GameStateListener.cs b/Dota2GSI/GameStateListener.cs similarity index 100% rename from Dota2GSI/Dota2GSI/GameStateListener.cs rename to Dota2GSI/GameStateListener.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Abilities.cs b/Dota2GSI/Nodes/Abilities.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Abilities.cs rename to Dota2GSI/Nodes/Abilities.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/AbilitiesProvider/Ability.cs b/Dota2GSI/Nodes/AbilitiesProvider/Ability.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/AbilitiesProvider/Ability.cs rename to Dota2GSI/Nodes/AbilitiesProvider/Ability.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/AbilitiesProvider/AbilityDetails.cs b/Dota2GSI/Nodes/AbilitiesProvider/AbilityDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/AbilitiesProvider/AbilityDetails.cs rename to Dota2GSI/Nodes/AbilitiesProvider/AbilityDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Auth.cs b/Dota2GSI/Nodes/Auth.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Auth.cs rename to Dota2GSI/Nodes/Auth.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Buildings.cs b/Dota2GSI/Nodes/Buildings.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Buildings.cs rename to Dota2GSI/Nodes/Buildings.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/BuildingsProvider/Building.cs b/Dota2GSI/Nodes/BuildingsProvider/Building.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/BuildingsProvider/Building.cs rename to Dota2GSI/Nodes/BuildingsProvider/Building.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/BuildingsProvider/BuildingLayout.cs b/Dota2GSI/Nodes/BuildingsProvider/BuildingLayout.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/BuildingsProvider/BuildingLayout.cs rename to Dota2GSI/Nodes/BuildingsProvider/BuildingLayout.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Couriers.cs b/Dota2GSI/Nodes/Couriers.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Couriers.cs rename to Dota2GSI/Nodes/Couriers.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/CouriersProvider/Courier.cs b/Dota2GSI/Nodes/CouriersProvider/Courier.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/CouriersProvider/Courier.cs rename to Dota2GSI/Nodes/CouriersProvider/Courier.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/CouriersProvider/CourierItem.cs b/Dota2GSI/Nodes/CouriersProvider/CourierItem.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/CouriersProvider/CourierItem.cs rename to Dota2GSI/Nodes/CouriersProvider/CourierItem.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Draft.cs b/Dota2GSI/Nodes/Draft.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Draft.cs rename to Dota2GSI/Nodes/Draft.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/DraftProvider/DraftDetails.cs b/Dota2GSI/Nodes/DraftProvider/DraftDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/DraftProvider/DraftDetails.cs rename to Dota2GSI/Nodes/DraftProvider/DraftDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Events.cs b/Dota2GSI/Nodes/Events.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Events.cs rename to Dota2GSI/Nodes/Events.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/EventsProvider/Event.cs b/Dota2GSI/Nodes/EventsProvider/Event.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/EventsProvider/Event.cs rename to Dota2GSI/Nodes/EventsProvider/Event.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Helpers/FullPlayerDetails.cs b/Dota2GSI/Nodes/Helpers/FullPlayerDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Helpers/FullPlayerDetails.cs rename to Dota2GSI/Nodes/Helpers/FullPlayerDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Helpers/FullTeamDetails.cs b/Dota2GSI/Nodes/Helpers/FullTeamDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Helpers/FullTeamDetails.cs rename to Dota2GSI/Nodes/Helpers/FullTeamDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Helpers/Vector2D.cs b/Dota2GSI/Nodes/Helpers/Vector2D.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Helpers/Vector2D.cs rename to Dota2GSI/Nodes/Helpers/Vector2D.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Hero.cs b/Dota2GSI/Nodes/Hero.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Hero.cs rename to Dota2GSI/Nodes/Hero.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/HeroProvider/HeroDetails.cs b/Dota2GSI/Nodes/HeroProvider/HeroDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/HeroProvider/HeroDetails.cs rename to Dota2GSI/Nodes/HeroProvider/HeroDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Items.cs b/Dota2GSI/Nodes/Items.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Items.cs rename to Dota2GSI/Nodes/Items.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/ItemsProvider/Item.cs b/Dota2GSI/Nodes/ItemsProvider/Item.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/ItemsProvider/Item.cs rename to Dota2GSI/Nodes/ItemsProvider/Item.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/ItemsProvider/ItemDetails.cs b/Dota2GSI/Nodes/ItemsProvider/ItemDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/ItemsProvider/ItemDetails.cs rename to Dota2GSI/Nodes/ItemsProvider/ItemDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/League.cs b/Dota2GSI/Nodes/League.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/League.cs rename to Dota2GSI/Nodes/League.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/LeagueProvider/LeagueTeam.cs b/Dota2GSI/Nodes/LeagueProvider/LeagueTeam.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/LeagueProvider/LeagueTeam.cs rename to Dota2GSI/Nodes/LeagueProvider/LeagueTeam.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/LeagueProvider/SelectionPriority.cs b/Dota2GSI/Nodes/LeagueProvider/SelectionPriority.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/LeagueProvider/SelectionPriority.cs rename to Dota2GSI/Nodes/LeagueProvider/SelectionPriority.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/LeagueProvider/Stream.cs b/Dota2GSI/Nodes/LeagueProvider/Stream.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/LeagueProvider/Stream.cs rename to Dota2GSI/Nodes/LeagueProvider/Stream.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Map.cs b/Dota2GSI/Nodes/Map.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Map.cs rename to Dota2GSI/Nodes/Map.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Minimap.cs b/Dota2GSI/Nodes/Minimap.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Minimap.cs rename to Dota2GSI/Nodes/Minimap.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/MinimapProvider/MinimapElement.cs b/Dota2GSI/Nodes/MinimapProvider/MinimapElement.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/MinimapProvider/MinimapElement.cs rename to Dota2GSI/Nodes/MinimapProvider/MinimapElement.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/NeutralItems.cs b/Dota2GSI/Nodes/NeutralItems.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/NeutralItems.cs rename to Dota2GSI/Nodes/NeutralItems.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/NeutralItem.cs b/Dota2GSI/Nodes/NeutralItemsProvider/NeutralItem.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/NeutralItem.cs rename to Dota2GSI/Nodes/NeutralItemsProvider/NeutralItem.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/NeutralTierInfo.cs b/Dota2GSI/Nodes/NeutralItemsProvider/NeutralTierInfo.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/NeutralTierInfo.cs rename to Dota2GSI/Nodes/NeutralItemsProvider/NeutralTierInfo.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/TeamNeutralItems.cs b/Dota2GSI/Nodes/NeutralItemsProvider/TeamNeutralItems.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/NeutralItemsProvider/TeamNeutralItems.cs rename to Dota2GSI/Nodes/NeutralItemsProvider/TeamNeutralItems.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Node.cs b/Dota2GSI/Nodes/Node.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Node.cs rename to Dota2GSI/Nodes/Node.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Player.cs b/Dota2GSI/Nodes/Player.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Player.cs rename to Dota2GSI/Nodes/Player.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/PlayerProvider/PlayerDetails.cs b/Dota2GSI/Nodes/PlayerProvider/PlayerDetails.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/PlayerProvider/PlayerDetails.cs rename to Dota2GSI/Nodes/PlayerProvider/PlayerDetails.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Provider.cs b/Dota2GSI/Nodes/Provider.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Provider.cs rename to Dota2GSI/Nodes/Provider.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Roshan.cs b/Dota2GSI/Nodes/Roshan.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Roshan.cs rename to Dota2GSI/Nodes/Roshan.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/RoshanProvider/ItemsDrop.cs b/Dota2GSI/Nodes/RoshanProvider/ItemsDrop.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/RoshanProvider/ItemsDrop.cs rename to Dota2GSI/Nodes/RoshanProvider/ItemsDrop.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/Wearables.cs b/Dota2GSI/Nodes/Wearables.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/Wearables.cs rename to Dota2GSI/Nodes/Wearables.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/WearablesProvider/PlayerWearables.cs b/Dota2GSI/Nodes/WearablesProvider/PlayerWearables.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/WearablesProvider/PlayerWearables.cs rename to Dota2GSI/Nodes/WearablesProvider/PlayerWearables.cs diff --git a/Dota2GSI/Dota2GSI/Nodes/WearablesProvider/WearableItem.cs b/Dota2GSI/Nodes/WearablesProvider/WearableItem.cs similarity index 100% rename from Dota2GSI/Dota2GSI/Nodes/WearablesProvider/WearableItem.cs rename to Dota2GSI/Nodes/WearablesProvider/WearableItem.cs