1. Legacy support for SDV version before 1.4.5.137

This commit is contained in:
ZaneYork 2020-09-30 10:27:18 +08:00
parent 304e08965b
commit 82d19fa84a
5 changed files with 21 additions and 2 deletions

View File

@ -1,9 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--set properties -->
<PropertyGroup>
<!-- <BUILD_FOR_MOBILE>Google</BUILD_FOR_MOBILE>-->
<!-- <COMPILE_WITH_PLUGIN>True</COMPILE_WITH_PLUGIN>-->
<BUILD_FOR_MOBILE>Google</BUILD_FOR_MOBILE>
<COMPILE_WITH_PLUGIN>True</COMPILE_WITH_PLUGIN>
<DefineConstants Condition="'$(BUILD_FOR_MOBILE)' == ''">$(DefineConstants);HARMONY_1</DefineConstants>
<DefineConstants Condition="'$(BUILD_FOR_MOBILE)' == 'GOOGLE_LEGACY'">$(DefineConstants);SMAPI_FOR_MOBILE;ANDROID_TARGET_GOOGLE;ANDROID_TARGET_MOBILE_LEGACY;HARMONY_1</DefineConstants>
<DefineConstants Condition="'$(BUILD_FOR_MOBILE)' == 'Google'">$(DefineConstants);SMAPI_FOR_MOBILE;ANDROID_TARGET_GOOGLE;HARMONY_1</DefineConstants>
<DefineConstants Condition="'$(BUILD_FOR_MOBILE)' == 'Amazon'">$(DefineConstants);SMAPI_FOR_MOBILE;ANDROID_TARGET_AMAZON;HARMONY_1</DefineConstants>
<DefineConstants Condition="'$(BUILD_FOR_MOBILE)' == 'Samsung'">$(DefineConstants);SMAPI_FOR_MOBILE;ANDROID_TARGET_SAMSUNG;HARMONY_1</DefineConstants>

View File

@ -73,8 +73,13 @@ namespace StardewModdingAPI
public static ISemanticVersion ApiVersion { get; } = new Toolkit.SemanticVersion("3.7.3");
#endif
#if ANDROID_TARGET_MOBILE_LEGACY
/// <summary>The minimum supported version of Stardew Valley.</summary>
public static ISemanticVersion MinimumGameVersion { get; } = new GameVersion("1.4.4");
#else
/// <summary>The minimum supported version of Stardew Valley.</summary>
public static ISemanticVersion MinimumGameVersion { get; } = new GameVersion("1.4.5");
#endif
/// <summary>The maximum supported version of Stardew Valley.</summary>
public static ISemanticVersion MaximumGameVersion { get; } = new GameVersion("1.4.5");

View File

@ -19,11 +19,13 @@ namespace StardewModdingAPI.Framework.ModLoading.RewriteFacades
set => RainManager.Instance.isRaining = value;
}
#if !ANDROID_TARGET_MOBILE_LEGACY
public static bool IsSnowingProp
{
get => WeatherDebrisManager.Instance.isSnowing;
set => WeatherDebrisManager.Instance.isSnowing = value;
}
#endif
public static bool IsDebrisWeatherProp
{

View File

@ -55,7 +55,9 @@ namespace StardewModdingAPI.Metadata
#if SMAPI_FOR_MOBILE
// Redirect reference
yield return new TypeFieldToAnotherTypePropertyRewriter(typeof(Game1), typeof(Game1Methods), "isRaining", nameof(Game1Methods.IsRainingProp));
#if !ANDROID_TARGET_MOBILE_LEGACY
yield return new TypeFieldToAnotherTypePropertyRewriter(typeof(Game1), typeof(Game1Methods), "isSnowing", nameof(Game1Methods.IsSnowingProp));
#endif
yield return new TypeFieldToAnotherTypePropertyRewriter(typeof(Game1), typeof(Game1Methods), "isDebrisWeather", nameof(Game1Methods.IsDebrisWeatherProp));
yield return new TypeFieldToAnotherTypePropertyRewriter(typeof(Game1), typeof(Game1Methods), "rainDrops", nameof(Game1Methods.RainDropsProp));
yield return new TypeFieldToAnotherTypePropertyRewriter(typeof(Game1), typeof(WeatherDebrisManager), "debrisWeather","weatherDebrisList", "Instance");

View File

@ -153,6 +153,15 @@
</Reference>
</ItemGroup>
<ItemGroup Condition="$(DefineConstants.Contains('ANDROID_TARGET_GOOGLE_LEGACY'))">
<!-- <Reference Include="MonoGame.Framework">-->
<!-- <HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.4.5.145\assemblies\MonoGame.Framework.dll</HintPath>-->
<!-- </Reference>-->
<Reference Include="StardewValley">
<HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\base_1.4.4.128\assemblies\StardewValley.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="$(DefineConstants.Contains('ANDROID_TARGET_SAMSUNG'))">
<!-- <Reference Include="MonoGame.Framework">-->
<!-- <HintPath>..\..\..\Downloads\StardewValleyAndroidStuff\samsung_base_1.4.5.144\assemblies\MonoGame.Framework.dll</HintPath>-->