Deleted some junk. Symphony Menu now works as intended, added save, add button, hover text, better music deciding, and wav volume support.
This commit is contained in:
parent
2252aa952a
commit
bff69c2a96
|
@ -1,25 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.489
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MappingExample", "MappingExample\MappingExample.csproj", "{9A1AE9A3-D593-443A-985F-5BB43590CD63}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9A1AE9A3-D593-443A-985F-5BB43590CD63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9A1AE9A3-D593-443A-985F-5BB43590CD63}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9A1AE9A3-D593-443A-985F-5BB43590CD63}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9A1AE9A3-D593-443A-985F-5BB43590CD63}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {F8F5CF98-7807-4798-954F-B4A281A1ABE4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,8 +0,0 @@
|
|||
using System;
|
||||
|
||||
namespace MappingExample
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.489
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MappingExampleTry2", "MappingExampleTry2\MappingExampleTry2.csproj", "{762317CC-06EF-4EF3-952E-6066F02505F6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{762317CC-06EF-4EF3-952E-6066F02505F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{762317CC-06EF-4EF3-952E-6066F02505F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{762317CC-06EF-4EF3-952E-6066F02505F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{762317CC-06EF-4EF3-952E-6066F02505F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {6DC711D7-66B3-4C29-A02C-36A2B3BE71C5}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,12 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MappingExampleTry2
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>762317cc-06ef-4ef3-952e-6066f02505f6</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>MappingExampleTry2</RootNamespace>
|
||||
<AssemblyName>MappingExampleTry2</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System"/>
|
||||
|
||||
<Reference Include="System.Core"/>
|
||||
<Reference Include="System.Xml.Linq"/>
|
||||
<Reference Include="System.Data.DataSetExtensions"/>
|
||||
|
||||
|
||||
<Reference Include="Microsoft.CSharp"/>
|
||||
|
||||
<Reference Include="System.Data"/>
|
||||
|
||||
<Reference Include="System.Net.Http"/>
|
||||
|
||||
<Reference Include="System.Xml"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -1,36 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MappingExampleTry2")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MappingExampleTry2")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[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("762317cc-06ef-4ef3-952e-6066f02505f6")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,3 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using StardewModdingAPI;
|
||||
|
||||
namespace StardewSymphonyRemastered
|
||||
|
@ -17,10 +18,14 @@ namespace StardewSymphonyRemastered
|
|||
/// <summary>The key binding to open the menu music.</summary>
|
||||
public SButton KeyBinding { get; set; } = SButton.L;
|
||||
|
||||
/// <summary>Whether to write a JSON file for every possible option for a music pack. Use at your own risk!</summary>
|
||||
public bool WriteAllConfigMusicOptions { get; set; } = false;
|
||||
|
||||
/// <summary>Whether to completely disable the Stardew Valley OST.</summary>
|
||||
public bool DisableStardewMusic { get; set; } = false;
|
||||
|
||||
public List<string> LocationsToIgnoreWarpMusicChange { get; set; } = new List<string>();
|
||||
|
||||
public Config()
|
||||
{
|
||||
this.LocationsToIgnoreWarpMusicChange = new List<string>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,6 +69,7 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
public Button playButton;
|
||||
public Button stopButton;
|
||||
public Button backButton;
|
||||
public Button saveButton;
|
||||
|
||||
private Vector2 seasonButtonPosition;
|
||||
private Vector2 timeButtonPosition;
|
||||
|
@ -189,6 +190,8 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
Vector2 backPos = new Vector2(this.width * .1f + 64, this.height * .05f); //Put it to the right of the music disk
|
||||
this.backButton = new Button("BackButton", new Rectangle((int)backPos.X, (int)backPos.Y, 64, 64), StardewSymphony.textureManager.getTexture("BackButton"), "", new Rectangle(0, 0, 16, 16), 4f, new Animation(new Rectangle(0, 0, 16, 16)), Color.White, Color.White, new ButtonFunctionality(null, null, null));
|
||||
|
||||
Vector2 savePos = new Vector2(this.width * .1f + 256 + 32, this.height * .05f + 64); //Put it to the right of the music disk
|
||||
this.saveButton = new Button("SaveIcon", new Rectangle((int)savePos.X, (int)savePos.Y, 64, 64), StardewSymphony.textureManager.getTexture("SaveIcon"), "", new Rectangle(0, 0, 32, 32), 2f, new Animation(new Rectangle(0, 0, 32, 32)), Color.White, Color.White, new ButtonFunctionality(null, null, null));
|
||||
|
||||
this.seasonButtonPosition = new Vector2(this.width * .1f + 64, this.height * .05f + (64 * 5));
|
||||
this.weatherButtonPosition = new Vector2(this.width * .1f + (64*2), this.height * .05f + (64*5));
|
||||
|
@ -238,6 +241,13 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
return;
|
||||
}
|
||||
|
||||
if(this.drawMode== DrawMode.DifferentSelectionTypesModePage && this.saveButton.containsPoint(x, y))
|
||||
{
|
||||
this.CurrentMusicPack.SaveSettings();
|
||||
Game1.playSound("coin");
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.backButton.containsPoint(x, y))
|
||||
{
|
||||
Game1.playSound("coin");
|
||||
|
@ -608,7 +618,7 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
if (button.name == "DayIcon" || button.name == "NightIcon" || musicPack.SongInformation.TimesOfDay.Contains(button.name))
|
||||
{
|
||||
this.currentlySelectedTime = button.clone(position,false);
|
||||
this.drawMode = DrawMode.LocationSelection;
|
||||
this.drawMode = DrawMode.DifferentSelectionTypesModePage;
|
||||
buttonSelected = true;
|
||||
}
|
||||
|
||||
|
@ -763,7 +773,19 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
hoverTextOver = true;
|
||||
}
|
||||
}
|
||||
if(hoverTextOver==false)
|
||||
|
||||
if (this.addButton.containsPoint(x, y) && this.drawMode== DrawMode.DifferentSelectionTypesModePage)
|
||||
{
|
||||
this.hoverText = "Add conditionals to song."+Environment.NewLine+Environment.NewLine+"This button adds a new set of conditionals"+Environment.NewLine+"for when this song should play."+Environment.NewLine+ "Every time a conditional is added it is" + Environment.NewLine + "then checked every time this mod tries to select music." + Environment.NewLine+"Multiple conditionals can exist for the same song.";
|
||||
hoverTextOver = true;
|
||||
}
|
||||
if (this.saveButton.containsPoint(x, y) && this.drawMode == DrawMode.DifferentSelectionTypesModePage)
|
||||
{
|
||||
this.hoverText = "Save all changes for current music pack."+Environment.NewLine+Environment.NewLine+"Saves all song conditionals to the music pack's .json files"+Environment.NewLine+ "so that way information isn't lost in " + Environment.NewLine + "case the game crashes before sleeping." + Environment.NewLine+ "All music pack settings will be saved automatically" + Environment.NewLine + "when the day ends.";
|
||||
hoverTextOver = true;
|
||||
}
|
||||
|
||||
if (hoverTextOver==false)
|
||||
{
|
||||
this.hoverText = "";
|
||||
}
|
||||
|
@ -1595,12 +1617,92 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
|
||||
private void addSong()
|
||||
{
|
||||
//Depreceiated
|
||||
//Used to actually save the song.
|
||||
this.CurrentMusicPack.SongInformation.songs[this.currentSelectedSong.name].AddSongConditional(this.generateSongTriggerKeyFromSelection());
|
||||
}
|
||||
|
||||
/// <summary>Generate the trigger key based on used selection.</summary>
|
||||
public string generateSongTriggerKeyFromSelection()
|
||||
{
|
||||
string key = "";
|
||||
string seperator = "_";
|
||||
//Seasonal selection region
|
||||
|
||||
|
||||
#region
|
||||
if (this.currentlySelectedSeason != null)
|
||||
{
|
||||
if (this.currentlySelectedSeason.name == "SpringButton" || this.currentlySelectedSeason.name == "SummerButton" || this.currentlySelectedSeason.name == "FallButton" || this.currentlySelectedSeason.name == "WinterButton")
|
||||
{
|
||||
if (this.currentlySelectedSeason.name == "SpringButton") key += "spring";
|
||||
else if (this.currentlySelectedSeason.name == "SummerButton") key += "summer";
|
||||
else if (this.currentlySelectedSeason.name == "FallButton") key += "fall";
|
||||
else if (this.currentlySelectedSeason.name == "WinterButton") key += "winter";
|
||||
}
|
||||
}
|
||||
if (this.currentlySelectedWeather != null)
|
||||
{
|
||||
if (this.currentlySelectedWeather.name == "SunnyIcon") key += seperator + "sunny";
|
||||
if (this.currentlySelectedWeather.name == "RainyIcon") key += seperator + "rain";
|
||||
if (this.currentlySelectedWeather.name == "WeatherDebrisIcon") key += seperator + "debris";
|
||||
if (this.currentlySelectedWeather.name == "WeatherFestivalIcon") key += seperator + "festival";
|
||||
if (this.currentlySelectedWeather.name == "SnowIcon") key += seperator + "snow";
|
||||
if (this.currentlySelectedWeather.name == "StormIcon") key += seperator + "lightning";
|
||||
if (this.currentlySelectedWeather.name == "WeddingIcon") key += seperator + "wedding";
|
||||
}
|
||||
if (this.currentlySelectedTime != null)
|
||||
{
|
||||
if (this.currentlySelectedTime.name == "DayIcon") key += seperator + "day";
|
||||
if (this.currentlySelectedTime.name == "NightIcon") key += seperator + "night";
|
||||
for (int i = 1; i <= 12; i++)
|
||||
{
|
||||
if (this.currentlySelectedTime.name == i.ToString() + "A.M.") key += seperator + i.ToString() + "A.M.";
|
||||
if (this.currentlySelectedTime.name == i.ToString() + "P.M.") key += seperator + i.ToString() + "P.M.";
|
||||
}
|
||||
}
|
||||
if (this.currentlySelectedLocation != null)
|
||||
{
|
||||
if (this.currentlySelectedLocation.label.Contains("Cabin"))
|
||||
{
|
||||
key += seperator + this.currentlySelectedLocation.name;
|
||||
}
|
||||
else
|
||||
{
|
||||
key += seperator + this.currentlySelectedLocation.label;
|
||||
}
|
||||
}
|
||||
if (this.currentlySelectedDay != null)
|
||||
{
|
||||
if (this.currentlySelectedDay.name == "SundayIcon") key += seperator + "sunday";
|
||||
if (this.currentlySelectedDay.name == "MondayIcon") key += seperator + "monday";
|
||||
if (this.currentlySelectedDay.name == "TuesdayIcon") key += seperator + "tuesday";
|
||||
if (this.currentlySelectedDay.name == "WednesdayIcon") key += seperator + "wednesday";
|
||||
if (this.currentlySelectedDay.name == "ThursdayIcon") key += seperator + "thursday";
|
||||
if (this.currentlySelectedDay.name == "FridayIcon") key += seperator + "friday";
|
||||
if (this.currentlySelectedDay.name == "SaturdayIcon") key += seperator + "saturday";
|
||||
}
|
||||
|
||||
if (this.currentlySelectedMenu != null) key += seperator + this.currentlySelectedMenu.label;
|
||||
if (this.currentlySelectedFestival != null) key += seperator + this.currentlySelectedFestival.label;
|
||||
if (this.currentlySelectedEvent != null) key += seperator + this.currentlySelectedEvent.label;
|
||||
#endregion
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
private void deleteSong()
|
||||
{
|
||||
//Check selections for draw mode and then remove if necessary
|
||||
if (this.currentlySelectedSeason != null) this.currentlySelectedSeason = null;
|
||||
if (this.currentlySelectedWeather != null) this.currentlySelectedWeather = null;
|
||||
if (this.currentlySelectedTime != null) this.currentlySelectedTime = null;
|
||||
if (this.currentlySelectedDay != null) this.currentlySelectedDay = null;
|
||||
if (this.currentlySelectedLocation != null) this.currentlySelectedLocation = null;
|
||||
if (this.currentlySelectedEvent != null) this.currentlySelectedEvent = null;
|
||||
if (this.currentlySelectedFestival != null) this.currentlySelectedFestival = null;
|
||||
if (this.currentlySelectedMenu != null) this.currentlySelectedMenu = null;
|
||||
|
||||
this.goBack();
|
||||
}
|
||||
/// <summary>
|
||||
/// Returns to a previous menu screen.
|
||||
|
@ -1620,6 +1722,7 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
else if (this.drawMode == DrawMode.SongSelectionMode)
|
||||
{
|
||||
this.drawMode = DrawMode.AlbumFancySelection;
|
||||
this.currentSelectedSong = null;
|
||||
this.updateFancyButtons();
|
||||
}
|
||||
}
|
||||
|
@ -1936,6 +2039,12 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
|||
{
|
||||
this.deleteButton.draw(b);
|
||||
}
|
||||
|
||||
if(this.drawMode== DrawMode.DifferentSelectionTypesModePage)
|
||||
{
|
||||
this.addButton.draw(b);
|
||||
this.saveButton.draw(b);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -20,9 +20,6 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
/// <summary>The delay timer between songs.</summary>
|
||||
private readonly Timer Timer = new Timer();
|
||||
|
||||
private bool lastSongWasLocationSpecific;
|
||||
|
||||
|
||||
/*********
|
||||
** Accessors
|
||||
*********/
|
||||
|
@ -152,49 +149,29 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
/// Get a list of applicable songs to play in the given menu and find one to play.
|
||||
/// </summary>
|
||||
/// <param name="songListKey"></param>
|
||||
public void SelectMenuMusic(string songListKey)
|
||||
public bool SelectMenuMusic(string songListKey)
|
||||
{
|
||||
// stop timer when new music is selected
|
||||
this.Timer.Enabled = false;
|
||||
|
||||
// get applicable music packs
|
||||
var listOfValidMusicPacks = this.GetApplicableMusicPacks(songListKey);
|
||||
if (listOfValidMusicPacks.Count == 0)
|
||||
return;
|
||||
|
||||
// swap to new music pack
|
||||
var pair = listOfValidMusicPacks.ElementAt(this.Random.Next(0, listOfValidMusicPacks.Count - 1));
|
||||
this.SwapMusicPacks(pair.Key.Name);
|
||||
string songName = pair.Value.ElementAt(this.Random.Next(0, pair.Value.Count));
|
||||
this.CurrentMusicPack.PlaySong(songName);
|
||||
|
||||
StardewSymphony.menuChangedMusic = true;
|
||||
if (this.selectMusic(songListKey, false))
|
||||
{
|
||||
StardewSymphony.menuChangedMusic = true;
|
||||
return true;
|
||||
}
|
||||
StardewSymphony.menuChangedMusic = false;
|
||||
return false;
|
||||
|
||||
}
|
||||
/// <summary>Select the actual song to be played right now based on the selector key. The selector key should be called when the player's location changes.</summary>
|
||||
public void selectMusic(string songListKey, bool warpCheck = false)
|
||||
public bool selectMusic(string songListKey, bool warpCheck = false)
|
||||
{
|
||||
|
||||
if (warpCheck == true && StardewSymphony.Config.LocationsToIgnoreWarpMusicChange.Contains(Game1.player.currentLocation.Name))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
//Prevent generic song changes when running about.
|
||||
|
||||
if (SongSpecificsV2.IsKeyGeneric(songListKey))
|
||||
{
|
||||
if (this.CurrentMusicPack != null)
|
||||
{
|
||||
if (this.CurrentMusicPack.IsPlaying()) return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//If I have warped and the key only is to be played when time changes prevent a new song from playing.
|
||||
//If the key is more specific (I.E has a location associated with it) then music will change.
|
||||
if (warpCheck == true && SongSpecificsV2.IsKeyTimeSpecific(songListKey))
|
||||
{
|
||||
if (this.CurrentMusicPack != null)
|
||||
{
|
||||
if (this.CurrentMusicPack.IsPlaying()) return;
|
||||
}
|
||||
}
|
||||
SongConditionals conditional = new SongConditionals(songListKey);
|
||||
|
||||
// stop timer timer when music is selected
|
||||
this.Timer.Enabled = false;
|
||||
|
@ -205,44 +182,124 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
//If the list of valid packs are 0, check if I'm currently at an event or festival or get some location specific music and try to play a generalized song from there.
|
||||
if (listOfValidMusicPacks.Count == 0)
|
||||
{
|
||||
|
||||
//No valid songs to play at this time.
|
||||
if (StardewSymphony.Config.EnableDebugLog)
|
||||
StardewSymphony.ModMonitor.Log("Error: There are no songs to play across any music pack for the song key: " + songListKey + ".7 Are you sure you did this properly?");
|
||||
StardewSymphony.menuChangedMusic = false;
|
||||
return;
|
||||
return false;
|
||||
|
||||
|
||||
}
|
||||
//All music packs that have songs have been taken into acount.
|
||||
//Check all songs in all music packs to see if it can be played here.
|
||||
|
||||
SongConditionals conditional = new SongConditionals(songListKey);
|
||||
|
||||
if (this.CurrentMusicPack != null)
|
||||
List<KeyValuePair<MusicPackV2, string>> packSongNames = new List<KeyValuePair<MusicPackV2, string>>();
|
||||
List<KeyValuePair<MusicPackV2, string>> locpackSongNames = new List<KeyValuePair<MusicPackV2, string>>();
|
||||
foreach (var ok in listOfValidMusicPacks)
|
||||
{
|
||||
|
||||
//If I am trying to play a generic song and a generic song is playing don't change the music.
|
||||
//If I am trying to play a generic song and a non-generic song is playing, then play my generic song since I don't want to play the specific music anymore.
|
||||
if ((conditional.isLocationSpecific()==false&&conditional.isTimeSpecific()==false) && (this.CurrentMusicPack.IsPlaying() && !this.lastSongWasLocationSpecific))
|
||||
foreach (SongInformation song in ok.Key.SongInformation.songs.Values)
|
||||
{
|
||||
if (StardewSymphony.Config.EnableDebugLog)
|
||||
StardewSymphony.ModMonitor.Log("Non specific music change detected. Not going to change the music this time");
|
||||
return;
|
||||
if (song.canBePlayed(songListKey))
|
||||
{
|
||||
foreach(SongConditionals con in song.songConditionals.Values)
|
||||
{
|
||||
if (con.isLocationSpecific() == false)
|
||||
{
|
||||
//If the key is generic skip over it.
|
||||
if (con.isKeyGeneric())
|
||||
{
|
||||
if (this.CurrentMusicPack != null)
|
||||
{
|
||||
if (this.CurrentMusicPack.IsPlaying()) continue;
|
||||
}
|
||||
}
|
||||
//If I have warped and the key only is to be played when time changes prevent a new song from playing.
|
||||
//If the key is more specific (I.E has a location associated with it) then music will change.
|
||||
if (warpCheck == true && con.isTimeSpecific())
|
||||
{
|
||||
if (this.CurrentMusicPack != null)
|
||||
{
|
||||
if (this.CurrentMusicPack.IsPlaying()) continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
locpackSongNames.Add(new KeyValuePair<MusicPackV2, string>(ok.Key, song.name));
|
||||
}
|
||||
}
|
||||
packSongNames.Add(new KeyValuePair<MusicPackV2, string>(ok.Key, song.name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.lastSongWasLocationSpecific = conditional.isLocationSpecific();
|
||||
|
||||
//If there is a valid key for the place/time/event/festival I am at, play it!
|
||||
|
||||
int randInt = this.Random.Next(0, listOfValidMusicPacks.Count - 1);
|
||||
int randInt = this.Random.Next(0, packSongNames.Count - 1);
|
||||
|
||||
var musicPackPair = listOfValidMusicPacks.ElementAt(randInt);
|
||||
var musicPackPair = packSongNames.ElementAt(randInt);
|
||||
|
||||
/*
|
||||
//Check to see if the only location song was the one I was just playing. If so ignore it and chose more generic music.
|
||||
if (locpackSongNames.Count == 1)
|
||||
{
|
||||
if (musicPackPair.Key == locpackSongNames[0].Key)
|
||||
{
|
||||
if (musicPackPair.Value == locpackSongNames[0].Value)
|
||||
{
|
||||
//Don't care
|
||||
}
|
||||
}
|
||||
}
|
||||
//If not the try to chose another location specific song.
|
||||
else
|
||||
{
|
||||
packSongNames = locpackSongNames;
|
||||
randInt = this.Random.Next(0, packSongNames.Count - 1);
|
||||
musicPackPair = packSongNames.ElementAt(randInt);
|
||||
}*/
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (this.CurrentMusicPack != null)
|
||||
{
|
||||
if (packSongNames.Count == 0) return false;
|
||||
if (musicPackPair.Key.Name == this.CurrentMusicPack.Name)
|
||||
{
|
||||
if (musicPackPair.Value == this.CurrentMusicPack.CurrentSongName)
|
||||
{
|
||||
if (packSongNames.Count == 1) return false;
|
||||
else
|
||||
{
|
||||
//Used to eliminate chosing the same song from the same pack.
|
||||
packSongNames.Remove(musicPackPair);
|
||||
randInt = this.Random.Next(0, packSongNames.Count - 1);
|
||||
musicPackPair = packSongNames.ElementAt(randInt);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Different song from same pack
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Different pack so probably different song.
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//used to swap the music packs and stop the last playing song.
|
||||
this.SwapMusicPacks(musicPackPair.Key.Name);
|
||||
string songName = musicPackPair.Value.ElementAt(this.Random.Next(0, musicPackPair.Value.Count));
|
||||
string songName = musicPackPair.Value;
|
||||
this.CurrentMusicPack.PlaySong(songName);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
this.StopSong();
|
||||
this.CurrentSongName = name;
|
||||
this.CurrentSound = sound;
|
||||
this.CurrentSound.Volume = Game1.options.musicVolumeLevel;
|
||||
this.CurrentSound.Play();
|
||||
}
|
||||
|
||||
|
@ -124,11 +125,14 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
foreach (FileInfo file in dataFolder.GetFiles())
|
||||
{
|
||||
SongInformation node = this.ContentPack.ReadJsonFile<SongInformation>($"{this.DataFolderName}/{file.Name}");
|
||||
try
|
||||
if (this.SongInformation.songs.ContainsKey(Path.GetFileNameWithoutExtension(file.Name)))
|
||||
{
|
||||
this.SongInformation.songs.Add(file.Name, node);
|
||||
this.SongInformation.songs[Path.GetFileNameWithoutExtension(file.Name)].songConditionals = node.songConditionals;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.SongInformation.songs.Add(Path.GetFileNameWithoutExtension(file.Name), node);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,15 +9,14 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
{
|
||||
public class SongConditionals
|
||||
{
|
||||
string season;
|
||||
string weather;
|
||||
string time;
|
||||
string location;
|
||||
string dayOfWeek;
|
||||
|
||||
string eventKey;
|
||||
string festival;
|
||||
string menu;
|
||||
public string season;
|
||||
public string weather;
|
||||
public string time;
|
||||
public string location;
|
||||
public string dayOfWeek;
|
||||
public string eventKey;
|
||||
public string festival;
|
||||
public string menu;
|
||||
|
||||
private readonly string[] seasons;
|
||||
private readonly string[] weathers;
|
||||
|
@ -141,62 +140,13 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public bool canBePlayed(string key)
|
||||
public bool canBePlayed(SongConditionals other)
|
||||
{
|
||||
|
||||
string tempSeason = "";
|
||||
string tempWeather = "";
|
||||
string tempTime = "";
|
||||
string tempLocation = "";
|
||||
string tempDayOfWeek = "";
|
||||
string tempMenu = "";
|
||||
string tempFestival = "";
|
||||
string tempEvent = "";
|
||||
|
||||
string[] splits = key.Split(seperator);
|
||||
foreach (string split in splits)
|
||||
{
|
||||
//Parse key into conditionals.
|
||||
if (this.seasons.Contains(split))
|
||||
{
|
||||
tempSeason = split;
|
||||
}
|
||||
else if (this.weathers.Contains(split))
|
||||
{
|
||||
tempWeather = split;
|
||||
}
|
||||
else if (this.daysOfWeek.Contains(split))
|
||||
{
|
||||
tempDayOfWeek = split;
|
||||
}
|
||||
else if (this.timesOfDay.Contains(split))
|
||||
{
|
||||
tempTime = split;
|
||||
}
|
||||
else if (SongSpecificsV2.menus.Contains(split))
|
||||
{
|
||||
tempMenu = split;
|
||||
}
|
||||
else if (SongSpecificsV2.locations.Contains(split))
|
||||
{
|
||||
tempLocation = split;
|
||||
}
|
||||
else if (SongSpecificsV2.events.Contains(split))
|
||||
{
|
||||
tempEvent = split;
|
||||
}
|
||||
else if (SongSpecificsV2.festivals.Contains(split))
|
||||
{
|
||||
tempFestival = split;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (this.isLocationSpecific())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempLocation))
|
||||
if (!string.IsNullOrEmpty(other.location))
|
||||
{
|
||||
if (this.dayOfWeek != tempDayOfWeek) return false; //If there is a check but not the right location return false
|
||||
if (this.location.Equals(other.location)==false) return false; //If there is a check but not the right location return false
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -205,9 +155,9 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
}
|
||||
if (this.isTimeSpecific())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempTime))
|
||||
if (!string.IsNullOrEmpty(other.time))
|
||||
{
|
||||
if (this.time != tempTime) return false; //If the two times don't match return false
|
||||
if (this.time.Equals(other.time)==false) return false; //If the two times don't match return false
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -219,9 +169,9 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
if (this.isDaySpecific())
|
||||
{
|
||||
//condition specific check
|
||||
if (!string.IsNullOrEmpty(tempDayOfWeek))
|
||||
if (!string.IsNullOrEmpty(other.dayOfWeek))
|
||||
{
|
||||
if (this.dayOfWeek != tempDayOfWeek) return false;
|
||||
if (this.dayOfWeek.Equals(other.dayOfWeek)==false) return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -232,9 +182,9 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
//Check for season.
|
||||
if (this.isSeasonSpecific())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempSeason))
|
||||
if (!string.IsNullOrEmpty(other.season))
|
||||
{
|
||||
if (this.season != tempSeason) return false;
|
||||
if (this.season.Equals(other.season)==false) return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -245,9 +195,9 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
//Check for weather.
|
||||
if (this.isWeatherSpecific())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempWeather))
|
||||
if (!string.IsNullOrEmpty(other.weather))
|
||||
{
|
||||
if (this.weather != tempWeather) return false;
|
||||
if (this.weather.Equals(other.weather)==false) return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -258,31 +208,30 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
|
||||
if (!string.IsNullOrEmpty(this.menu))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempMenu))
|
||||
if (!string.IsNullOrEmpty(other.menu))
|
||||
{
|
||||
if (this.menu != tempMenu) return false;
|
||||
if (this.menu.Equals(other.menu)==false) return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(this.festival))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempFestival))
|
||||
if (!string.IsNullOrEmpty(other.festival))
|
||||
{
|
||||
if (this.festival != tempFestival) return false;
|
||||
if (this.festival.Equals(other.festival)==false) return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(this.eventKey))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tempEvent))
|
||||
if (!string.IsNullOrEmpty(other.eventKey))
|
||||
{
|
||||
if (this.eventKey != tempEvent) return false;
|
||||
if (this.eventKey.Equals(other.eventKey)==false) return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public bool isLocationSpecific()
|
||||
{
|
||||
return !string.IsNullOrEmpty(this.location);
|
||||
|
@ -306,6 +255,16 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
return !string.IsNullOrEmpty(this.dayOfWeek);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the given conditonal is generic or not.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool isKeyGeneric()
|
||||
{
|
||||
if (this.isTimeSpecific() == false && this.isLocationSpecific() == false) return true;
|
||||
else return false;
|
||||
}
|
||||
/*
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj.GetType() != typeof(SongConditionals)) return false;
|
||||
|
@ -321,5 +280,20 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
b.Append("Season: " + this.season+Environment.NewLine);
|
||||
b.Append("Weather: " + this.weather + Environment.NewLine);
|
||||
b.Append("Time: " + this.time + Environment.NewLine);
|
||||
b.Append("Location: " + this.location + Environment.NewLine);
|
||||
b.Append("Day: " + this.dayOfWeek + Environment.NewLine);
|
||||
b.Append("Festival: " + this.festival + Environment.NewLine);
|
||||
b.Append("Event: " + this.eventKey + Environment.NewLine);
|
||||
b.Append("Menu: " + this.menu + Environment.NewLine);
|
||||
return b.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,8 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
{
|
||||
foreach(KeyValuePair<string,SongConditionals> pair in this.songConditionals)
|
||||
{
|
||||
if (pair.Value.canBePlayed(key) == true) return true;
|
||||
SongConditionals temp = new SongConditionals(key);
|
||||
if (pair.Value.canBePlayed(temp) == true) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -487,9 +487,12 @@ namespace StardewSymphonyRemastered.Framework.V2
|
|||
public List<string> getSongList(string key)
|
||||
{
|
||||
List<string> songs = new List<string>();
|
||||
foreach(var v in this.songs)
|
||||
foreach (var v in this.songs)
|
||||
{
|
||||
if (v.Value.canBePlayed(key)) songs.Add(v.Key);
|
||||
if (v.Value.canBePlayed(key))
|
||||
{
|
||||
songs.Add(v.Key);
|
||||
}
|
||||
}
|
||||
return songs;
|
||||
}
|
||||
|
|
|
@ -10,16 +10,10 @@ using StardustCore.UIUtilities;
|
|||
namespace StardewSymphonyRemastered
|
||||
{
|
||||
// TODO:
|
||||
//
|
||||
// Fixed Farm building glitch,
|
||||
// Added underground mine support
|
||||
// Added seasonal selection support
|
||||
// added just location support
|
||||
// added in write all config option
|
||||
//
|
||||
// Add mod config to have silent rain option.
|
||||
// Add in shuffle song button that just selects music but probably plays a different song. same as musicManager.selectmusic(getConditionalString);
|
||||
// Add in a save button to save settings in the menu.
|
||||
// Added in option to tie in wav sound volume to game sound options.
|
||||
//Add in way to see all selected options for a song in the menu?
|
||||
//
|
||||
// Notes:
|
||||
// All mods must add events/locations/festivals/menu information to this mod during the Entry function of their mod because once the player is loaded that's when all of the packs are initialized with all of their music.
|
||||
|
@ -36,6 +30,7 @@ namespace StardewSymphonyRemastered
|
|||
public static TextureManager textureManager;
|
||||
|
||||
|
||||
private float oldVolume=-5f;
|
||||
/*********
|
||||
** Public methods
|
||||
*********/
|
||||
|
@ -202,6 +197,23 @@ namespace StardewSymphonyRemastered
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Update volume.
|
||||
if (this.oldVolume < 0f)
|
||||
{
|
||||
this.oldVolume = Game1.options.musicVolumeLevel;
|
||||
}
|
||||
if (this.oldVolume != Game1.options.musicVolumeLevel)
|
||||
{
|
||||
this.oldVolume = Game1.options.musicVolumeLevel;
|
||||
if (musicManager.CurrentMusicPack != null)
|
||||
{
|
||||
if (musicManager.CurrentMusicPack.CurrentSound != null)
|
||||
{
|
||||
musicManager.CurrentMusicPack.CurrentSound.Volume = this.oldVolume;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Load the textures needed by the mod.</summary>
|
||||
|
@ -212,6 +224,8 @@ namespace StardewSymphonyRemastered
|
|||
return new Texture2DExtended(this.Helper.Content.Load<Texture2D>($"assets/{name}"));
|
||||
}
|
||||
|
||||
textureManager.addTexture("SaveIcon", LoadTexture("SaveIcon.png"));
|
||||
|
||||
//Generic Icons
|
||||
textureManager.addTexture("MusicNote", LoadTexture("MusicNote.png"));
|
||||
textureManager.addTexture("MusicDisk", LoadTexture("MusicDisk.png"));
|
||||
|
|
|
@ -242,6 +242,9 @@
|
|||
<Content Include="assets\RedBallon.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="assets\SaveIcon.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="assets\SeasonIcon_Fall.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 316 B |
Binary file not shown.
|
@ -1,22 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Express 14 for Windows Desktop
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UIUtilities", "UIUtilities\UIUtilities.csproj", "{ABA29468-BAC9-47E9-983A-393FC5489124}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{ABA29468-BAC9-47E9-983A-393FC5489124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ABA29468-BAC9-47E9-983A-393FC5489124}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ABA29468-BAC9-47E9-983A-393FC5489124}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABA29468-BAC9-47E9-983A-393FC5489124}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,12 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UIUtilities
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UIUtilities.MenuComponents
|
||||
{
|
||||
class Button : StardewValley.Menus.ClickableComponent
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("UIUtilities")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("UIUtilities")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[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("aba29468-bac9-47e9-983a-393fc5489124")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{ABA29468-BAC9-47E9-983A-393FC5489124}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>UIUtilities</RootNamespace>
|
||||
<AssemblyName>UIUtilities</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<Compile Include="MenuComponents\Button.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets" Condition="Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Pathoschild.Stardew.ModBuildConfig" version="2.0.2" targetFramework="net45" />
|
||||
</packages>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue