From 929dccb75a1405737975d76648e015a3e7c00177 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 7 Oct 2017 23:07:10 -0400 Subject: reorganise repo structure --- src/StardewModdingAPI/App.config | 9 - src/StardewModdingAPI/Constants.cs | 169 -- src/StardewModdingAPI/ContentSource.cs | 12 - src/StardewModdingAPI/Context.cs | 37 - src/StardewModdingAPI/Events/ChangeType.cs | 15 - src/StardewModdingAPI/Events/ContentEvents.cs | 29 - src/StardewModdingAPI/Events/ControlEvents.cs | 112 -- .../Events/EventArgsClickableMenuChanged.cs | 31 - .../Events/EventArgsClickableMenuClosed.cs | 26 - .../Events/EventArgsControllerButtonPressed.cs | 32 - .../Events/EventArgsControllerButtonReleased.cs | 32 - .../Events/EventArgsControllerTriggerPressed.cs | 37 - .../Events/EventArgsControllerTriggerReleased.cs | 37 - .../Events/EventArgsCurrentLocationChanged.cs | 31 - .../Events/EventArgsGameLocationsChanged.cs | 27 - src/StardewModdingAPI/Events/EventArgsInput.cs | 124 -- .../Events/EventArgsIntChanged.cs | 29 - .../Events/EventArgsInventoryChanged.cs | 41 - .../Events/EventArgsKeyPressed.cs | 26 - .../Events/EventArgsKeyboardStateChanged.cs | 31 - src/StardewModdingAPI/Events/EventArgsLevelUp.cs | 52 - .../Events/EventArgsLocationObjectsChanged.cs | 28 - .../Events/EventArgsMineLevelChanged.cs | 30 - .../Events/EventArgsMouseStateChanged.cs | 42 - .../Events/EventArgsValueChanged.cs | 31 - src/StardewModdingAPI/Events/GameEvents.cs | 96 - src/StardewModdingAPI/Events/GraphicsEvents.cs | 116 -- src/StardewModdingAPI/Events/InputEvents.cs | 43 - src/StardewModdingAPI/Events/ItemStackChange.cs | 20 - src/StardewModdingAPI/Events/LocationEvents.cs | 54 - src/StardewModdingAPI/Events/MenuEvents.cs | 40 - src/StardewModdingAPI/Events/MineEvents.cs | 28 - src/StardewModdingAPI/Events/PlayerEvents.cs | 43 - src/StardewModdingAPI/Events/SaveEvents.cs | 56 - src/StardewModdingAPI/Events/TimeEvents.cs | 37 - src/StardewModdingAPI/Framework/Command.cs | 40 - src/StardewModdingAPI/Framework/CommandManager.cs | 116 -- .../Framework/Content/AssetData.cs | 44 - .../Framework/Content/AssetDataForDictionary.cs | 45 - .../Framework/Content/AssetDataForImage.cs | 70 - .../Framework/Content/AssetDataForObject.cs | 54 - .../Framework/Content/AssetInfo.cs | 82 - .../Framework/ContentManagerShim.cs | 50 - src/StardewModdingAPI/Framework/CursorPosition.cs | 35 - .../Framework/DeprecationLevel.cs | 15 - .../Framework/DeprecationManager.cs | 105 - .../Exceptions/SAssemblyLoadFailedException.cs | 16 - .../Framework/Exceptions/SContentLoadException.cs | 18 - .../Framework/Exceptions/SParseException.cs | 17 - src/StardewModdingAPI/Framework/GameVersion.cs | 68 - src/StardewModdingAPI/Framework/IModMetadata.cs | 47 - .../Framework/InternalExtensions.cs | 131 -- .../Logging/ConsoleInterceptionManager.cs | 86 - .../Framework/Logging/InterceptingTextWriter.cs | 63 - .../Framework/Logging/LogFileManager.cs | 57 - .../Framework/ModHelpers/BaseHelper.cs | 23 - .../Framework/ModHelpers/CommandHelper.cs | 54 - .../Framework/ModHelpers/ContentHelper.cs | 476 ----- .../Framework/ModHelpers/ModHelper.cs | 129 -- .../Framework/ModHelpers/ModRegistryHelper.cs | 48 - .../Framework/ModHelpers/ReflectionHelper.cs | 200 -- .../Framework/ModHelpers/TranslationHelper.cs | 140 -- .../ModLoading/AssemblyDefinitionResolver.cs | 61 - .../Framework/ModLoading/AssemblyLoadStatus.cs | 15 - .../Framework/ModLoading/AssemblyLoader.cs | 333 ---- .../Framework/ModLoading/AssemblyParseResult.cs | 36 - .../Framework/ModLoading/Finders/EventFinder.cs | 82 - .../Framework/ModLoading/Finders/FieldFinder.cs | 82 - .../Framework/ModLoading/Finders/MethodFinder.cs | 82 - .../Framework/ModLoading/Finders/PropertyFinder.cs | 82 - .../Framework/ModLoading/Finders/TypeFinder.cs | 133 -- .../Framework/ModLoading/IInstructionHandler.cs | 34 - .../ModLoading/IncompatibleInstructionException.cs | 35 - .../ModLoading/InstructionHandleResult.cs | 24 - .../ModLoading/InvalidModStateException.cs | 14 - .../Framework/ModLoading/ModDependencyStatus.cs | 18 - .../Framework/ModLoading/ModMetadata.cs | 68 - .../Framework/ModLoading/ModMetadataStatus.cs | 12 - .../Framework/ModLoading/ModResolver.cs | 366 ---- .../Framework/ModLoading/Platform.cs | 12 - .../Framework/ModLoading/PlatformAssemblyMap.cs | 55 - .../Framework/ModLoading/RewriteHelper.cs | 94 - .../ModLoading/Rewriters/FieldReplaceRewriter.cs | 50 - .../Rewriters/FieldToPropertyRewriter.cs | 51 - .../ModLoading/Rewriters/MethodParentRewriter.cs | 88 - .../ModLoading/Rewriters/TypeReferenceRewriter.cs | 154 -- .../Rewriters/VirtualEntryCallRemover.cs | 90 - src/StardewModdingAPI/Framework/ModRegistry.cs | 113 -- src/StardewModdingAPI/Framework/Models/Manifest.cs | 47 - .../Framework/Models/ManifestDependency.cs | 34 - .../Framework/Models/ModCompatibility.cs | 55 - .../Framework/Models/ModDataID.cs | 85 - .../Framework/Models/ModDataRecord.cs | 63 - .../Framework/Models/ModStatus.cs | 18 - src/StardewModdingAPI/Framework/Models/SConfig.cs | 27 - src/StardewModdingAPI/Framework/Monitor.cs | 194 -- .../Framework/Reflection/CacheEntry.cs | 30 - .../Framework/Reflection/PrivateField.cs | 93 - .../Framework/Reflection/PrivateMethod.cs | 99 - .../Framework/Reflection/PrivateProperty.cs | 93 - .../Framework/Reflection/Reflector.cs | 276 --- .../Framework/RequestExitDelegate.cs | 7 - src/StardewModdingAPI/Framework/SContentManager.cs | 531 ----- src/StardewModdingAPI/Framework/SGame.cs | 1403 ------------- .../Framework/Serialisation/JsonHelper.cs | 96 - .../Framework/Serialisation/SFieldConverter.cs | 121 -- .../Serialisation/SelectiveStringEnumConverter.cs | 37 - .../Framework/Utilities/ContextHash.cs | 61 - .../Framework/Utilities/Countdown.cs | 44 - src/StardewModdingAPI/Framework/WebApiClient.cs | 73 - src/StardewModdingAPI/IAssetData.cs | 47 - src/StardewModdingAPI/IAssetDataForDictionary.cs | 26 - src/StardewModdingAPI/IAssetDataForImage.cs | 23 - src/StardewModdingAPI/IAssetEditor.cs | 17 - src/StardewModdingAPI/IAssetInfo.cs | 28 - src/StardewModdingAPI/IAssetLoader.cs | 17 - src/StardewModdingAPI/ICommandHelper.cs | 26 - src/StardewModdingAPI/IContentHelper.cs | 56 - src/StardewModdingAPI/ICursorPosition.cs | 17 - src/StardewModdingAPI/IManifest.cs | 41 - src/StardewModdingAPI/IManifestDependency.cs | 18 - src/StardewModdingAPI/IMod.cs | 26 - src/StardewModdingAPI/IModHelper.cs | 58 - src/StardewModdingAPI/IModLinked.cs | 12 - src/StardewModdingAPI/IModRegistry.cs | 20 - src/StardewModdingAPI/IMonitor.cs | 25 - src/StardewModdingAPI/IPrivateField.cs | 26 - src/StardewModdingAPI/IPrivateMethod.cs | 27 - src/StardewModdingAPI/IPrivateProperty.cs | 26 - src/StardewModdingAPI/IReflectionHelper.cs | 67 - src/StardewModdingAPI/ISemanticVersion.cs | 59 - src/StardewModdingAPI/ITranslationHelper.cs | 34 - src/StardewModdingAPI/LogLevel.cs | 24 - src/StardewModdingAPI/Metadata/CoreAssets.cs | 166 -- .../Metadata/InstructionMetadata.cs | 101 - src/StardewModdingAPI/Mod.cs | 50 - src/StardewModdingAPI/PatchMode.cs | 12 - src/StardewModdingAPI/Program.cs | 966 --------- src/StardewModdingAPI/Properties/AssemblyInfo.cs | 9 - src/StardewModdingAPI/SemanticVersion.cs | 237 --- .../StardewModdingAPI.config.json | 2063 -------------------- src/StardewModdingAPI/StardewModdingAPI.csproj | 277 --- src/StardewModdingAPI/Translation.cs | 154 -- src/StardewModdingAPI/Utilities/SButton.cs | 675 ------- src/StardewModdingAPI/Utilities/SDate.cs | 232 --- src/StardewModdingAPI/icon.ico | Bin 15086 -> 0 bytes src/StardewModdingAPI/packages.config | 5 - src/StardewModdingAPI/steam_appid.txt | 1 - src/StardewModdingAPI/unix-launcher.sh | 88 - 149 files changed, 15259 deletions(-) delete mode 100644 src/StardewModdingAPI/App.config delete mode 100644 src/StardewModdingAPI/Constants.cs delete mode 100644 src/StardewModdingAPI/ContentSource.cs delete mode 100644 src/StardewModdingAPI/Context.cs delete mode 100644 src/StardewModdingAPI/Events/ChangeType.cs delete mode 100644 src/StardewModdingAPI/Events/ContentEvents.cs delete mode 100644 src/StardewModdingAPI/Events/ControlEvents.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsInput.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsIntChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsKeyPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsLevelUp.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsValueChanged.cs delete mode 100644 src/StardewModdingAPI/Events/GameEvents.cs delete mode 100644 src/StardewModdingAPI/Events/GraphicsEvents.cs delete mode 100644 src/StardewModdingAPI/Events/InputEvents.cs delete mode 100644 src/StardewModdingAPI/Events/ItemStackChange.cs delete mode 100644 src/StardewModdingAPI/Events/LocationEvents.cs delete mode 100644 src/StardewModdingAPI/Events/MenuEvents.cs delete mode 100644 src/StardewModdingAPI/Events/MineEvents.cs delete mode 100644 src/StardewModdingAPI/Events/PlayerEvents.cs delete mode 100644 src/StardewModdingAPI/Events/SaveEvents.cs delete mode 100644 src/StardewModdingAPI/Events/TimeEvents.cs delete mode 100644 src/StardewModdingAPI/Framework/Command.cs delete mode 100644 src/StardewModdingAPI/Framework/CommandManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetData.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForDictionary.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForImage.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForObject.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetInfo.cs delete mode 100644 src/StardewModdingAPI/Framework/ContentManagerShim.cs delete mode 100644 src/StardewModdingAPI/Framework/CursorPosition.cs delete mode 100644 src/StardewModdingAPI/Framework/DeprecationLevel.cs delete mode 100644 src/StardewModdingAPI/Framework/DeprecationManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SAssemblyLoadFailedException.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SContentLoadException.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SParseException.cs delete mode 100644 src/StardewModdingAPI/Framework/GameVersion.cs delete mode 100644 src/StardewModdingAPI/Framework/IModMetadata.cs delete mode 100644 src/StardewModdingAPI/Framework/InternalExtensions.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/ConsoleInterceptionManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/InterceptingTextWriter.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/LogFileManager.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/BaseHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/CommandHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ContentHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ModHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ModRegistryHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ReflectionHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/TranslationHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyDefinitionResolver.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyLoadStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyLoader.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyParseResult.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/EventFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/FieldFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/MethodFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/PropertyFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/TypeFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/IInstructionHandler.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/IncompatibleInstructionException.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/InstructionHandleResult.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/InvalidModStateException.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModMetadata.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModMetadataStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Platform.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/PlatformAssemblyMap.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/RewriteHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldReplaceRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldToPropertyRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/MethodParentRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/TypeReferenceRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/VirtualEntryCallRemover.cs delete mode 100644 src/StardewModdingAPI/Framework/ModRegistry.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/Manifest.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ManifestDependency.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModCompatibility.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModDataID.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModDataRecord.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/SConfig.cs delete mode 100644 src/StardewModdingAPI/Framework/Monitor.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/CacheEntry.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateField.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateMethod.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateProperty.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/Reflector.cs delete mode 100644 src/StardewModdingAPI/Framework/RequestExitDelegate.cs delete mode 100644 src/StardewModdingAPI/Framework/SContentManager.cs delete mode 100644 src/StardewModdingAPI/Framework/SGame.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/JsonHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/SFieldConverter.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/SelectiveStringEnumConverter.cs delete mode 100644 src/StardewModdingAPI/Framework/Utilities/ContextHash.cs delete mode 100644 src/StardewModdingAPI/Framework/Utilities/Countdown.cs delete mode 100644 src/StardewModdingAPI/Framework/WebApiClient.cs delete mode 100644 src/StardewModdingAPI/IAssetData.cs delete mode 100644 src/StardewModdingAPI/IAssetDataForDictionary.cs delete mode 100644 src/StardewModdingAPI/IAssetDataForImage.cs delete mode 100644 src/StardewModdingAPI/IAssetEditor.cs delete mode 100644 src/StardewModdingAPI/IAssetInfo.cs delete mode 100644 src/StardewModdingAPI/IAssetLoader.cs delete mode 100644 src/StardewModdingAPI/ICommandHelper.cs delete mode 100644 src/StardewModdingAPI/IContentHelper.cs delete mode 100644 src/StardewModdingAPI/ICursorPosition.cs delete mode 100644 src/StardewModdingAPI/IManifest.cs delete mode 100644 src/StardewModdingAPI/IManifestDependency.cs delete mode 100644 src/StardewModdingAPI/IMod.cs delete mode 100644 src/StardewModdingAPI/IModHelper.cs delete mode 100644 src/StardewModdingAPI/IModLinked.cs delete mode 100644 src/StardewModdingAPI/IModRegistry.cs delete mode 100644 src/StardewModdingAPI/IMonitor.cs delete mode 100644 src/StardewModdingAPI/IPrivateField.cs delete mode 100644 src/StardewModdingAPI/IPrivateMethod.cs delete mode 100644 src/StardewModdingAPI/IPrivateProperty.cs delete mode 100644 src/StardewModdingAPI/IReflectionHelper.cs delete mode 100644 src/StardewModdingAPI/ISemanticVersion.cs delete mode 100644 src/StardewModdingAPI/ITranslationHelper.cs delete mode 100644 src/StardewModdingAPI/LogLevel.cs delete mode 100644 src/StardewModdingAPI/Metadata/CoreAssets.cs delete mode 100644 src/StardewModdingAPI/Metadata/InstructionMetadata.cs delete mode 100644 src/StardewModdingAPI/Mod.cs delete mode 100644 src/StardewModdingAPI/PatchMode.cs delete mode 100644 src/StardewModdingAPI/Program.cs delete mode 100644 src/StardewModdingAPI/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI/SemanticVersion.cs delete mode 100644 src/StardewModdingAPI/StardewModdingAPI.config.json delete mode 100644 src/StardewModdingAPI/StardewModdingAPI.csproj delete mode 100644 src/StardewModdingAPI/Translation.cs delete mode 100644 src/StardewModdingAPI/Utilities/SButton.cs delete mode 100644 src/StardewModdingAPI/Utilities/SDate.cs delete mode 100644 src/StardewModdingAPI/icon.ico delete mode 100644 src/StardewModdingAPI/packages.config delete mode 100644 src/StardewModdingAPI/steam_appid.txt delete mode 100644 src/StardewModdingAPI/unix-launcher.sh (limited to 'src/StardewModdingAPI') diff --git a/src/StardewModdingAPI/App.config b/src/StardewModdingAPI/App.config deleted file mode 100644 index 27cdf0f7..00000000 --- a/src/StardewModdingAPI/App.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/StardewModdingAPI/Constants.cs b/src/StardewModdingAPI/Constants.cs deleted file mode 100644 index 4d0a9ca9..00000000 --- a/src/StardewModdingAPI/Constants.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using StardewModdingAPI.Framework; -using StardewModdingAPI.Framework.ModLoading; -using StardewValley; - -namespace StardewModdingAPI -{ - /// Contains SMAPI's constants and assumptions. - public static class Constants - { - /********* - ** Properties - *********/ - /// The directory path containing the current save's data (if a save is loaded). - private static string RawSavePath => Context.IsSaveLoaded ? Path.Combine(Constants.SavesPath, Constants.GetSaveFolderName()) : null; - - /// Whether the directory containing the current save's data exists on disk. - private static bool SavePathReady => Context.IsSaveLoaded && Directory.Exists(Constants.RawSavePath); - - - /********* - ** Accessors - *********/ - /**** - ** Public - ****/ - /// SMAPI's current semantic version. - public static ISemanticVersion ApiVersion { get; } = new SemanticVersion(2, 0, 0, "beta.1"); - - /// The minimum supported version of Stardew Valley. - public static ISemanticVersion MinimumGameVersion { get; } = new SemanticVersion("1.2.30"); - - /// The maximum supported version of Stardew Valley. - public static ISemanticVersion MaximumGameVersion { get; } = null; - - /// The path to the game folder. - public static string ExecutionPath { get; } = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - - /// The directory path containing Stardew Valley's app data. - public static string DataPath { get; } = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley"); - - /// The directory path in which error logs should be stored. - public static string LogDir { get; } = Path.Combine(Constants.DataPath, "ErrorLogs"); - - /// The directory path where all saves are stored. - public static string SavesPath { get; } = Path.Combine(Constants.DataPath, "Saves"); - - /// The directory name containing the current save's data (if a save is loaded and the directory exists). - public static string SaveFolderName => Context.IsSaveLoaded ? Constants.GetSaveFolderName() : ""; - - /// The directory path containing the current save's data (if a save is loaded and the directory exists). - public static string CurrentSavePath => Constants.SavePathReady ? Path.Combine(Constants.SavesPath, Constants.GetSaveFolderName()) : ""; - - /**** - ** Internal - ****/ - /// The GitHub repository to check for updates. - internal const string GitHubRepository = "Pathoschild/SMAPI"; - - /// The file path for the SMAPI configuration file. - internal static string ApiConfigPath => Path.Combine(Constants.ExecutionPath, $"{typeof(Program).Assembly.GetName().Name}.config.json"); - - /// The file path to the log where the latest output should be saved. - internal static string DefaultLogPath => Path.Combine(Constants.LogDir, "SMAPI-latest.txt"); - - /// A copy of the log leading up to the previous fatal crash, if any. - internal static string FatalCrashLog => Path.Combine(Constants.LogDir, "SMAPI-crash.txt"); - - /// The file path which stores a fatal crash message for the next run. - internal static string FatalCrashMarker => Path.Combine(Constants.ExecutionPath, "StardewModdingAPI.crash.marker"); - - /// The full path to the folder containing mods. - internal static string ModPath { get; } = Path.Combine(Constants.ExecutionPath, "Mods"); - - /// The game's current semantic version. - internal static ISemanticVersion GameVersion { get; } = new GameVersion(Constants.GetGameVersion()); - - /// The target game platform. - internal static Platform TargetPlatform { get; } = -#if SMAPI_FOR_WINDOWS - Platform.Windows; -#else - Platform.Mono; -#endif - - /// Maps vendor keys (like Nexus) to their mod URL template (where {0} is the mod ID) during mod compatibility checks. This doesn't affect update checks, which defer to the remote web API. - internal static readonly IDictionary VendorModUrls = new Dictionary(StringComparer.InvariantCultureIgnoreCase) - { - ["Chucklefish"] = "https://community.playstarbound.com/resources/{0}", - ["Nexus"] = "http://nexusmods.com/stardewvalley/mods/{0}", - ["GitHub"] = "https://github.com/{0}/releases" - }; - - - /********* - ** Internal methods - *********/ - /// Get metadata for mapping assemblies to the current platform. - /// The target game platform. - internal static PlatformAssemblyMap GetAssemblyMap(Platform targetPlatform) - { - // get assembly changes needed for platform - string[] removeAssemblyReferences; - Assembly[] targetAssemblies; - switch (targetPlatform) - { - case Platform.Mono: - removeAssemblyReferences = new[] - { - "Stardew Valley", - "Microsoft.Xna.Framework", - "Microsoft.Xna.Framework.Game", - "Microsoft.Xna.Framework.Graphics" - }; - targetAssemblies = new[] - { - typeof(StardewValley.Game1).Assembly, - typeof(Microsoft.Xna.Framework.Vector2).Assembly - }; - break; - - case Platform.Windows: - removeAssemblyReferences = new[] - { - "StardewValley", - "MonoGame.Framework" - }; - targetAssemblies = new[] - { - typeof(StardewValley.Game1).Assembly, - typeof(Microsoft.Xna.Framework.Vector2).Assembly, - typeof(Microsoft.Xna.Framework.Game).Assembly, - typeof(Microsoft.Xna.Framework.Graphics.SpriteBatch).Assembly - }; - break; - - default: - throw new InvalidOperationException($"Unknown target platform '{targetPlatform}'."); - } - - return new PlatformAssemblyMap(targetPlatform, removeAssemblyReferences, targetAssemblies); - } - - - /********* - ** Private methods - *********/ - /// Get the name of a save directory for the current player. - private static string GetSaveFolderName() - { - string prefix = new string(Game1.player.name.Where(char.IsLetterOrDigit).ToArray()); - return $"{prefix}_{Game1.uniqueIDForThisGame}"; - } - - /// Get the game's current version string. - private static string GetGameVersion() - { - // we need reflection because it's a constant, so SMAPI's references to it are inlined at compile-time - FieldInfo field = typeof(Game1).GetField(nameof(Game1.version), BindingFlags.Public | BindingFlags.Static); - if (field == null) - throw new InvalidOperationException($"The {nameof(Game1)}.{nameof(Game1.version)} field could not be found."); - return (string)field.GetValue(null); - } - } -} diff --git a/src/StardewModdingAPI/ContentSource.cs b/src/StardewModdingAPI/ContentSource.cs deleted file mode 100644 index 35c8bc21..00000000 --- a/src/StardewModdingAPI/ContentSource.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace StardewModdingAPI -{ - /// Specifies a source containing content that can be loaded. - public enum ContentSource - { - /// Assets in the game's content manager (i.e. XNBs in the game's content folder). - GameContent, - - /// XNB files in the current mod's folder. - ModFolder - } -} diff --git a/src/StardewModdingAPI/Context.cs b/src/StardewModdingAPI/Context.cs deleted file mode 100644 index 119e14c8..00000000 --- a/src/StardewModdingAPI/Context.cs +++ /dev/null @@ -1,37 +0,0 @@ -using StardewModdingAPI.Events; -using StardewValley; -using StardewValley.Menus; - -namespace StardewModdingAPI -{ - /// Provides information about the current game state. - public static class Context - { - /********* - ** Accessors - *********/ - /**** - ** Public - ****/ - /// Whether the player has loaded a save and the world has finished initialising. - public static bool IsWorldReady { get; internal set; } - - /// Whether is true and the player is free to act in the world (no menu is displayed, no cutscene is in progress, etc). - public static bool IsPlayerFree => Context.IsWorldReady && Game1.activeClickableMenu == null && !Game1.dialogueUp && !Game1.eventUp; - - /// Whether is true and the player is free to move (e.g. not using a tool). - public static bool CanPlayerMove => Context.IsPlayerFree && Game1.player.CanMove; - - /// Whether the game is currently running the draw loop. This isn't relevant to most mods, since you should use to draw to the screen. - public static bool IsInDrawLoop { get; internal set; } - - /**** - ** Internal - ****/ - /// Whether a player save has been loaded. - internal static bool IsSaveLoaded => Game1.hasLoadedGame && !string.IsNullOrEmpty(Game1.player.name); - - /// Whether the game is currently writing to the save file. - internal static bool IsSaving => Game1.activeClickableMenu is SaveGameMenu || Game1.activeClickableMenu is ShippingMenu; // saving is performed by SaveGameMenu, but it's wrapped by ShippingMenu on days when the player shipping something - } -} diff --git a/src/StardewModdingAPI/Events/ChangeType.cs b/src/StardewModdingAPI/Events/ChangeType.cs deleted file mode 100644 index 4b207f08..00000000 --- a/src/StardewModdingAPI/Events/ChangeType.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace StardewModdingAPI.Events -{ - /// Indicates how an inventory item changed. - public enum ChangeType - { - /// The entire stack was removed. - Removed, - - /// The entire stack was added. - Added, - - /// The stack size changed. - StackChange - } -} \ No newline at end of file diff --git a/src/StardewModdingAPI/Events/ContentEvents.cs b/src/StardewModdingAPI/Events/ContentEvents.cs deleted file mode 100644 index 4b4e2ad0..00000000 --- a/src/StardewModdingAPI/Events/ContentEvents.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using StardewModdingAPI.Framework; - -namespace StardewModdingAPI.Events -{ - /// Events raised when the game loads content. - public static class ContentEvents - { - - /********* - ** Events - *********/ - /// Raised after the content language changes. - public static event EventHandler> AfterLocaleChanged; - - - /********* - ** Internal methods - *********/ - /// Raise an event. - /// Encapsulates monitoring and logging. - /// The previous locale. - /// The current locale. - internal static void InvokeAfterLocaleChanged(IMonitor monitor, string oldLocale, string newLocale) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ContentEvents)}.{nameof(ContentEvents.AfterLocaleChanged)}", ContentEvents.AfterLocaleChanged?.GetInvocationList(), null, new EventArgsValueChanged(oldLocale, newLocale)); - } - } -} diff --git a/src/StardewModdingAPI/Events/ControlEvents.cs b/src/StardewModdingAPI/Events/ControlEvents.cs deleted file mode 100644 index 80d0f547..00000000 --- a/src/StardewModdingAPI/Events/ControlEvents.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; -using StardewModdingAPI.Framework; - -namespace StardewModdingAPI.Events -{ - /// Events raised when the player uses a controller, keyboard, or mouse. - public static class ControlEvents - { - /********* - ** Events - *********/ - /// Raised when the changes. That happens when the player presses or releases a key. - public static event EventHandler KeyboardChanged; - - /// Raised when the player presses a keyboard key. - public static event EventHandler KeyPressed; - - /// Raised when the player releases a keyboard key. - public static event EventHandler KeyReleased; - - /// Raised when the changes. That happens when the player moves the mouse, scrolls the mouse wheel, or presses/releases a button. - public static event EventHandler MouseChanged; - - /// The player pressed a controller button. This event isn't raised for trigger buttons. - public static event EventHandler ControllerButtonPressed; - - /// The player released a controller button. This event isn't raised for trigger buttons. - public static event EventHandler ControllerButtonReleased; - - /// The player pressed a controller trigger button. - public static event EventHandler ControllerTriggerPressed; - - /// The player released a controller trigger button. - public static event EventHandler ControllerTriggerReleased; - - - /********* - ** Internal methods - *********/ - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The previous keyboard state. - /// The current keyboard state. - internal static void InvokeKeyboardChanged(IMonitor monitor, KeyboardState priorState, KeyboardState newState) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.KeyboardChanged)}", ControlEvents.KeyboardChanged?.GetInvocationList(), null, new EventArgsKeyboardStateChanged(priorState, newState)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The previous mouse state. - /// The current mouse state. - /// The previous mouse position on the screen adjusted for the zoom level. - /// The current mouse position on the screen adjusted for the zoom level. - internal static void InvokeMouseChanged(IMonitor monitor, MouseState priorState, MouseState newState, Point priorPosition, Point newPosition) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.MouseChanged)}", ControlEvents.MouseChanged?.GetInvocationList(), null, new EventArgsMouseStateChanged(priorState, newState, priorPosition, newPosition)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The keyboard button that was pressed. - internal static void InvokeKeyPressed(IMonitor monitor, Keys key) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.KeyPressed)}", ControlEvents.KeyPressed?.GetInvocationList(), null, new EventArgsKeyPressed(key)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The keyboard button that was released. - internal static void InvokeKeyReleased(IMonitor monitor, Keys key) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.KeyReleased)}", ControlEvents.KeyReleased?.GetInvocationList(), null, new EventArgsKeyPressed(key)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The controller button that was pressed. - internal static void InvokeButtonPressed(IMonitor monitor, Buttons button) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.ControllerButtonPressed)}", ControlEvents.ControllerButtonPressed?.GetInvocationList(), null, new EventArgsControllerButtonPressed(PlayerIndex.One, button)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The controller button that was released. - internal static void InvokeButtonReleased(IMonitor monitor, Buttons button) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.ControllerButtonReleased)}", ControlEvents.ControllerButtonReleased?.GetInvocationList(), null, new EventArgsControllerButtonReleased(PlayerIndex.One, button)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The trigger button that was pressed. - /// The current trigger value. - internal static void InvokeTriggerPressed(IMonitor monitor, Buttons button, float value) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.ControllerTriggerPressed)}", ControlEvents.ControllerTriggerPressed?.GetInvocationList(), null, new EventArgsControllerTriggerPressed(PlayerIndex.One, button, value)); - } - - /// Raise a event. - /// Encapsulates monitoring and logging. - /// The trigger button that was pressed. - /// The current trigger value. - internal static void InvokeTriggerReleased(IMonitor monitor, Buttons button, float value) - { - monitor.SafelyRaiseGenericEvent($"{nameof(ControlEvents)}.{nameof(ControlEvents.ControllerTriggerReleased)}", ControlEvents.ControllerTriggerReleased?.GetInvocationList(), null, new EventArgsControllerTriggerReleased(PlayerIndex.One, button, value)); - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs deleted file mode 100644 index 2a2aa163..00000000 --- a/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using StardewValley.Menus; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsClickableMenuChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The previous menu. - public IClickableMenu NewMenu { get; } - - /// The current menu. - public IClickableMenu PriorMenu { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The previous menu. - /// The current menu. - public EventArgsClickableMenuChanged(IClickableMenu priorMenu, IClickableMenu newMenu) - { - this.NewMenu = newMenu; - this.PriorMenu = priorMenu; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs deleted file mode 100644 index 5e6585f0..00000000 --- a/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using StardewValley.Menus; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsClickableMenuClosed : EventArgs - { - /********* - ** Accessors - *********/ - /// The menu that was closed. - public IClickableMenu PriorMenu { get; } - - - /********* - ** Accessors - *********/ - /// Construct an instance. - /// The menu that was closed. - public EventArgsClickableMenuClosed(IClickableMenu priorMenu) - { - this.PriorMenu = priorMenu; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs deleted file mode 100644 index 3243b80b..00000000 --- a/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsControllerButtonPressed : EventArgs - { - /********* - ** Accessors - *********/ - /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; } - - /// The controller button that was pressed. - public Buttons ButtonPressed { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player who pressed the button. - /// The controller button that was pressed. - public EventArgsControllerButtonPressed(PlayerIndex playerIndex, Buttons button) - { - this.PlayerIndex = playerIndex; - this.ButtonPressed = button; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs deleted file mode 100644 index e05a080b..00000000 --- a/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsControllerButtonReleased : EventArgs - { - /********* - ** Accessors - *********/ - /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; } - - /// The controller button that was pressed. - public Buttons ButtonReleased { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player who pressed the button. - /// The controller button that was released. - public EventArgsControllerButtonReleased(PlayerIndex playerIndex, Buttons button) - { - this.PlayerIndex = playerIndex; - this.ButtonReleased = button; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs deleted file mode 100644 index a2087733..00000000 --- a/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsControllerTriggerPressed : EventArgs - { - /********* - ** Accessors - *********/ - /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; } - - /// The controller button that was pressed. - public Buttons ButtonPressed { get; } - - /// The current trigger value. - public float Value { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player who pressed the trigger button. - /// The trigger button that was pressed. - /// The current trigger value. - public EventArgsControllerTriggerPressed(PlayerIndex playerIndex, Buttons button, float value) - { - this.PlayerIndex = playerIndex; - this.ButtonPressed = button; - this.Value = value; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs deleted file mode 100644 index d2eecbec..00000000 --- a/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsControllerTriggerReleased : EventArgs - { - /********* - ** Accessors - *********/ - /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; } - - /// The controller button that was released. - public Buttons ButtonReleased { get; } - - /// The current trigger value. - public float Value { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player who pressed the trigger button. - /// The trigger button that was released. - /// The current trigger value. - public EventArgsControllerTriggerReleased(PlayerIndex playerIndex, Buttons button, float value) - { - this.PlayerIndex = playerIndex; - this.ButtonReleased = button; - this.Value = value; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs b/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs deleted file mode 100644 index 25d3ebf3..00000000 --- a/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using StardewValley; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsCurrentLocationChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The player's current location. - public GameLocation NewLocation { get; } - - /// The player's previous location. - public GameLocation PriorLocation { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player's previous location. - /// The player's current location. - public EventArgsCurrentLocationChanged(GameLocation priorLocation, GameLocation newLocation) - { - this.NewLocation = newLocation; - this.PriorLocation = priorLocation; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs b/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs deleted file mode 100644 index fb8c821e..00000000 --- a/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using StardewValley; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsGameLocationsChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The current list of game locations. - public List NewLocations { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The current list of game locations. - public EventArgsGameLocationsChanged(List newLocations) - { - this.NewLocations = newLocations; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsInput.cs b/src/StardewModdingAPI/Events/EventArgsInput.cs deleted file mode 100644 index 66cb19f2..00000000 --- a/src/StardewModdingAPI/Events/EventArgsInput.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System; -using System.Linq; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Input; -using StardewModdingAPI.Utilities; -using StardewValley; - -namespace StardewModdingAPI.Events -{ - /// Event arguments when a button is pressed or released. - public class EventArgsInput : EventArgs - { - /********* - ** Accessors - *********/ - /// The button on the controller, keyboard, or mouse. - public SButton Button { get; } - - /// The current cursor position. - public ICursorPosition Cursor { get; set; } - - /// Whether the input is considered a 'click' by the game for enabling action. - public bool IsClick { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The button on the controller, keyboard, or mouse. - /// The cursor position. - /// Whether the input is considered a 'click' by the game for enabling action. - public EventArgsInput(SButton button, ICursorPosition cursor, bool isClick) - { - this.Button = button; - this.Cursor = cursor; - this.IsClick = isClick; - } - - /// Prevent the game from handling the vurrent button press. This doesn't prevent other mods from receiving the event. - public void SuppressButton() - { - this.SuppressButton(this.Button); - } - - /// Prevent the game from handling a button press. This doesn't prevent other mods from receiving the event. - /// The button to suppress. - public void SuppressButton(SButton button) - { - // keyboard - if (this.Button.TryGetKeyboard(out Keys key)) - Game1.oldKBState = new KeyboardState(Game1.oldKBState.GetPressedKeys().Except(new[] { key }).ToArray()); - - // controller - else if (this.Button.TryGetController(out Buttons controllerButton)) - { - var newState = GamePad.GetState(PlayerIndex.One); - var thumbsticks = Game1.oldPadState.ThumbSticks; - var triggers = Game1.oldPadState.Triggers; - var buttons = Game1.oldPadState.Buttons; - var dpad = Game1.oldPadState.DPad; - - switch (controllerButton) - { - // d-pad - case Buttons.DPadDown: - dpad = new GamePadDPad(dpad.Up, newState.DPad.Down, dpad.Left, dpad.Right); - break; - case Buttons.DPadLeft: - dpad = new GamePadDPad(dpad.Up, dpad.Down, newState.DPad.Left, dpad.Right); - break; - case Buttons.DPadRight: - dpad = new GamePadDPad(dpad.Up, dpad.Down, dpad.Left, newState.DPad.Right); - break; - case Buttons.DPadUp: - dpad = new GamePadDPad(newState.DPad.Up, dpad.Down, dpad.Left, dpad.Right); - break; - - // trigger - case Buttons.LeftTrigger: - triggers = new GamePadTriggers(newState.Triggers.Left, triggers.Right); - break; - case Buttons.RightTrigger: - triggers = new GamePadTriggers(triggers.Left, newState.Triggers.Right); - break; - - // thumbstick - case Buttons.LeftThumbstickDown: - case Buttons.LeftThumbstickLeft: - case Buttons.LeftThumbstickRight: - case Buttons.LeftThumbstickUp: - thumbsticks = new GamePadThumbSticks(newState.ThumbSticks.Left, thumbsticks.Right); - break; - case Buttons.RightThumbstickDown: - case Buttons.RightThumbstickLeft: - case Buttons.RightThumbstickRight: - case Buttons.RightThumbstickUp: - thumbsticks = new GamePadThumbSticks(newState.ThumbSticks.Right, thumbsticks.Left); - break; - - // buttons - default: - var mask = - (buttons.A == ButtonState.Pressed ? Buttons.A : 0) - | (buttons.B == ButtonState.Pressed ? Buttons.B : 0) - | (buttons.Back == ButtonState.Pressed ? Buttons.Back : 0) - | (buttons.BigButton == ButtonState.Pressed ? Buttons.BigButton : 0) - | (buttons.LeftShoulder == ButtonState.Pressed ? Buttons.LeftShoulder : 0) - | (buttons.LeftStick == ButtonState.Pressed ? Buttons.LeftStick : 0) - | (buttons.RightShoulder == ButtonState.Pressed ? Buttons.RightShoulder : 0) - | (buttons.RightStick == ButtonState.Pressed ? Buttons.RightStick : 0) - | (buttons.Start == ButtonState.Pressed ? Buttons.Start : 0) - | (buttons.X == ButtonState.Pressed ? Buttons.X : 0) - | (buttons.Y == ButtonState.Pressed ? Buttons.Y : 0); - mask = mask ^ controllerButton; - buttons = new GamePadButtons(mask); - break; - } - - Game1.oldPadState = new GamePadState(thumbsticks, triggers, buttons, dpad); - } - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsIntChanged.cs b/src/StardewModdingAPI/Events/EventArgsIntChanged.cs deleted file mode 100644 index 0c742d12..00000000 --- a/src/StardewModdingAPI/Events/EventArgsIntChanged.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for an integer field that changed value. - public class EventArgsIntChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The previous value. - public int PriorInt { get; } - - /// The current value. - public int NewInt { get; } - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The previous value. - /// The current value. - public EventArgsIntChanged(int priorInt, int newInt) - { - this.PriorInt = priorInt; - this.NewInt = newInt; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs b/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs deleted file mode 100644 index 1ee02842..00000000 --- a/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using StardewValley; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsInventoryChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The player's inventory. - public List Inventory { get; } - - /// The added items. - public List Added { get; } - - /// The removed items. - public List Removed { get; } - - /// The items whose stack sizes changed. - public List QuantityChanged { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The player's inventory. - /// The inventory changes. - public EventArgsInventoryChanged(List inventory, List changedItems) - { - this.Inventory = inventory; - this.Added = changedItems.Where(n => n.ChangeType == ChangeType.Added).ToList(); - this.Removed = changedItems.Where(n => n.ChangeType == ChangeType.Removed).ToList(); - this.QuantityChanged = changedItems.Where(n => n.ChangeType == ChangeType.StackChange).ToList(); - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs b/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs deleted file mode 100644 index d9d81e10..00000000 --- a/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsKeyPressed : EventArgs - { - /********* - ** Accessors - *********/ - /// The keyboard button that was pressed. - public Keys KeyPressed { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The keyboard button that was pressed. - public EventArgsKeyPressed(Keys key) - { - this.KeyPressed = key; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs b/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs deleted file mode 100644 index 14e397ce..00000000 --- a/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using Microsoft.Xna.Framework.Input; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsKeyboardStateChanged : EventArgs - { - /********* - ** Accessors - *********/ - /// The previous keyboard state. - public KeyboardState NewState { get; } - - /// The current keyboard state. - public KeyboardState PriorState { get; } - - - /********* - ** Public methods - *********/ - /// Construct an instance. - /// The previous keyboard state. - /// The current keyboard state. - public EventArgsKeyboardStateChanged(KeyboardState priorState, KeyboardState newState) - { - this.PriorState = priorState; - this.NewState = newState; - } - } -} diff --git a/src/StardewModdingAPI/Events/EventArgsLevelUp.cs b/src/StardewModdingAPI/Events/EventArgsLevelUp.cs deleted file mode 100644 index fe6696d4..00000000 --- a/src/StardewModdingAPI/Events/EventArgsLevelUp.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; - -namespace StardewModdingAPI.Events -{ - /// Event arguments for a event. - public class EventArgsLevelUp : EventArgs - { - /********* - ** Accessors - *********/ - /// The player skill that leveled up. - public LevelType Type { get; } - - /// The new skill level. - public int NewLevel { get; } - - /// The player skill types. - public enum LevelType - { - /// The combat skill. - Combat, - - /// The farming skill. - Farming, - - /// The fishing skill. - Fishing, - - /// The foraging skill. - Foraging, - - /// The mining skill. - Mining, - - /// The luck skill. - Luck - } - - - /********* - ** Public methods - *********/ - /// C