Version 1.6.0.
This commit is contained in:
parent
803788a1d3
commit
a87ccaec1c
|
@ -23,5 +23,7 @@ namespace UIInfoSuite
|
|||
public const string LevelUp = "LevelUp";
|
||||
public const string Calendar = "Calendar";
|
||||
public const string Billboard = "Billboard";
|
||||
public const string DaysUntilToolIsUpgraded = "DaysUntilToolIsUpgraded";
|
||||
public const string ToolIsFinishedBeingUpgraded = "ToolIsFinishedBeingUpgraded";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,35 +75,49 @@ namespace UIInfoSuite
|
|||
|
||||
private void SaveModData(object sender, EventArgs e)
|
||||
{
|
||||
if (File.Exists(_modDataFileName))
|
||||
File.Delete(_modDataFileName);
|
||||
XmlWriterSettings settings = new XmlWriterSettings();
|
||||
settings.Indent = true;
|
||||
settings.IndentChars = " ";
|
||||
using (XmlWriter writer = XmlWriter.Create(File.Open(_modDataFileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite), settings))
|
||||
if (!String.IsNullOrWhiteSpace(_modDataFileName))
|
||||
{
|
||||
writer.WriteStartElement("options");
|
||||
|
||||
foreach (var option in _options)
|
||||
if (File.Exists(_modDataFileName))
|
||||
File.Delete(_modDataFileName);
|
||||
XmlWriterSettings settings = new XmlWriterSettings();
|
||||
settings.Indent = true;
|
||||
settings.IndentChars = " ";
|
||||
using (XmlWriter writer = XmlWriter.Create(File.Open(_modDataFileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite), settings))
|
||||
{
|
||||
writer.WriteStartElement("option");
|
||||
writer.WriteAttributeString("name", option.Key);
|
||||
writer.WriteValue(option.Value);
|
||||
writer.WriteStartElement("options");
|
||||
|
||||
foreach (var option in _options)
|
||||
{
|
||||
writer.WriteStartElement("option");
|
||||
writer.WriteAttributeString("name", option.Key);
|
||||
writer.WriteValue(option.Value);
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadModData(object sender, EventArgs e)
|
||||
{
|
||||
_modDataFileName = Path.Combine(Helper.DirectoryPath, Game1.player.name + "_modData.xml");
|
||||
if (File.Exists(_modDataFileName))
|
||||
String playerName = Game1.player.Name;
|
||||
try
|
||||
{
|
||||
XmlDocument document = new XmlDocument();
|
||||
|
||||
try
|
||||
{
|
||||
_modDataFileName = Path.Combine(Helper.DirectoryPath, Game1.player.name + "_modData.xml");
|
||||
}
|
||||
catch
|
||||
{
|
||||
Monitor.Log("Error: Player name contains character that cannot be used in file name. Using generic file name." + Environment.NewLine +
|
||||
"Options may not be able to be different between characters.", LogLevel.Warn);
|
||||
_modDataFileName = Path.Combine(Helper.DirectoryPath, "default_modData.xml");
|
||||
}
|
||||
|
||||
if (File.Exists(_modDataFileName))
|
||||
{
|
||||
XmlDocument document = new XmlDocument();
|
||||
|
||||
document.Load(_modDataFileName);
|
||||
XmlNodeList nodes = document.GetElementsByTagName("option");
|
||||
|
||||
|
@ -115,11 +129,12 @@ namespace UIInfoSuite
|
|||
if (key != null)
|
||||
_options[key] = value;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Monitor.Log("Error loading mod config. " + ex.Message + Environment.NewLine + ex.StackTrace, LogLevel.Error);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Monitor.Log("Error loading mod config. " + ex.Message + Environment.NewLine + ex.StackTrace, LogLevel.Error);
|
||||
}
|
||||
|
||||
_modOptionsPageHandler = new ModOptionsPageHandler(Helper, _options);
|
||||
|
|
|
@ -236,7 +236,7 @@ namespace UIInfoSuite.Options
|
|||
else if (_upArrow.containsPoint(x, y) && _currentItemIndex > 0)
|
||||
{
|
||||
UpArrowPressed();
|
||||
Game1.playSound("shwip)");
|
||||
Game1.playSound("shwip");
|
||||
}
|
||||
else if (_scrollBar.containsPoint(x, y))
|
||||
{
|
||||
|
@ -335,26 +335,26 @@ namespace UIInfoSuite.Options
|
|||
if (_hoverText != "")
|
||||
IClickableMenu.drawHoverText(batch, _hoverText, Game1.smallFont);
|
||||
|
||||
if (Game1.options.hardwareCursor)
|
||||
{
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
new Vector2(
|
||||
Game1.getMouseX(),
|
||||
Game1.getMouseY()),
|
||||
new Rectangle?(
|
||||
Game1.getSourceRectForStandardTileSheet(
|
||||
Game1.mouseCursors,
|
||||
Game1.mouseCursor,
|
||||
16,
|
||||
16)),
|
||||
Color.White,
|
||||
0.0f,
|
||||
Vector2.Zero,
|
||||
(float)(Game1.pixelZoom + (Game1.dialogueButtonScale / 150.0)),
|
||||
SpriteEffects.None,
|
||||
1f);
|
||||
}
|
||||
//if (Game1.options.hardwareCursor)
|
||||
//{
|
||||
// Game1.spriteBatch.Draw(
|
||||
// Game1.mouseCursors,
|
||||
// new Vector2(
|
||||
// Game1.getMouseX(),
|
||||
// Game1.getMouseY()),
|
||||
// new Rectangle?(
|
||||
// Game1.getSourceRectForStandardTileSheet(
|
||||
// Game1.mouseCursors,
|
||||
// Game1.mouseCursor,
|
||||
// 16,
|
||||
// 16)),
|
||||
// Color.White,
|
||||
// 0.0f,
|
||||
// Vector2.Zero,
|
||||
// (float)(Game1.pixelZoom + (Game1.dialogueButtonScale / 150.0)),
|
||||
// SpriteEffects.None,
|
||||
// 1f);
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Reflection;
|
||||
using UIInfoSuite.Extensions;
|
||||
|
||||
namespace UIInfoSuite.Options
|
||||
{
|
||||
|
@ -36,6 +37,7 @@ namespace UIInfoSuite.Options
|
|||
private readonly ShowTravelingMerchant _showTravelingMerchant;
|
||||
private readonly ShopHarvestPrices _shopHarvestPrices;
|
||||
private readonly ShowQueenOfSauceIcon _showQueenOfSauceIcon;
|
||||
private readonly ShowToolUpgradeStatus _showToolUpgradeStatus;
|
||||
|
||||
public ModOptionsPageHandler(IModHelper helper, IDictionary<String, String> options)
|
||||
{
|
||||
|
@ -47,13 +49,14 @@ namespace UIInfoSuite.Options
|
|||
_luckOfDay = new LuckOfDay(helper);
|
||||
_locationOfTownsfolk = new LocationOfTownsfolk(_helper, _options);
|
||||
_showWhenAnimalNeedsPet = new ShowWhenAnimalNeedsPet(_helper);
|
||||
_showCalendarAndBillboardOnGameMenuButton = new ShowCalendarAndBillboardOnGameMenuButton(_options, helper);
|
||||
_showCalendarAndBillboardOnGameMenuButton = new ShowCalendarAndBillboardOnGameMenuButton(helper);
|
||||
_showScarecrowAndSprinklerRange = new ShowItemEffectRanges(modConfig);
|
||||
_experienceBar = new ExperienceBar(helper);
|
||||
_shopHarvestPrices = new ShopHarvestPrices(helper);
|
||||
_showQueenOfSauceIcon = new ShowQueenOfSauceIcon(helper);
|
||||
_showTravelingMerchant = new ShowTravelingMerchant(helper);
|
||||
_showCropAndBarrelTime = new ShowCropAndBarrelTime(helper);
|
||||
_showToolUpgradeStatus = new ShowToolUpgradeStatus(helper);
|
||||
|
||||
_elementsToDispose = new List<IDisposable>()
|
||||
{
|
||||
|
@ -68,29 +71,31 @@ namespace UIInfoSuite.Options
|
|||
_showItemHoverInformation,
|
||||
_showTravelingMerchant,
|
||||
_shopHarvestPrices,
|
||||
_showQueenOfSauceIcon
|
||||
_showQueenOfSauceIcon,
|
||||
_showToolUpgradeStatus
|
||||
};
|
||||
|
||||
int whichOption = 1;
|
||||
Version thisVersion = Assembly.GetAssembly(this.GetType()).GetName().Version;
|
||||
_optionsElements.Add(new ModOptionsElement("UI Info Suite v" +
|
||||
thisVersion.Major + "." + thisVersion.Minor + "." + thisVersion.Build));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show luck icon", whichOption++, _luckOfDay.Toggle, _options, OptionKeys.ShowLuckIcon));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show level up animation", whichOption++, _experienceBar.ToggleLevelUpAnimation, _options, OptionKeys.ShowLevelUpAnimation));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show experience bar", whichOption++, _experienceBar.ToggleShowExperienceBar, _options, OptionKeys.ShowExperienceBar));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Allow experience bar to fade out", whichOption++, _experienceBar.ToggleExperienceBarFade, _options, OptionKeys.AllowExperienceBarToFadeOut));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show experience gain", whichOption++, _experienceBar.ToggleShowExperienceGain, _options, OptionKeys.ShowExperienceGain));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show townspeople on map", whichOption++, _locationOfTownsfolk.ToggleShowNPCLocationsOnMap, _options, OptionKeys.ShowLocationOfTownsPeople));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show Birthday icon", whichOption++, _showBirthdayIcon.ToggleOption, _options, OptionKeys.ShowBirthdayIcon));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show heart fills", whichOption++, _showAccurateHearts.ToggleOption, _options, OptionKeys.ShowHeartFills));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show when animals need pets", whichOption++, _showWhenAnimalNeedsPet.ToggleOption, _options, OptionKeys.ShowAnimalsNeedPets));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show calendar/billboard button", whichOption++, _showCalendarAndBillboardOnGameMenuButton.ToggleOption, _options, OptionKeys.DisplayCalendarAndBillboard));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show crop and barrel times", whichOption++, _showCropAndBarrelTime.ToggleOption, _options, OptionKeys.ShowCropAndBarrelTooltip));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show scarecrow and sprinkler range", whichOption++, _showScarecrowAndSprinklerRange.ToggleOption, _options, OptionKeys.ShowItemEffectRanges));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show Item hover information", whichOption++, _showItemHoverInformation.ToggleOption, _options, OptionKeys.ShowExtraItemInformation));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show Traveling Merchant", whichOption++, _showTravelingMerchant.ToggleOption, _options, OptionKeys.ShowTravelingMerchant));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show shop harvest prices", whichOption++, _shopHarvestPrices.ToggleOption, _options, OptionKeys.ShowHarvestPricesInShop));
|
||||
_optionsElements.Add(new ModOptionsCheckbox("Show when new recipes are available", whichOption++, _showQueenOfSauceIcon.ToggleOption, _options, OptionKeys.ShowWhenNewRecipesAreAvailable));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowLuckIcon), whichOption++, _luckOfDay.Toggle, _options, OptionKeys.ShowLuckIcon));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowLevelUpAnimation), whichOption++, _experienceBar.ToggleLevelUpAnimation, _options, OptionKeys.ShowLevelUpAnimation));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowExperienceBar), whichOption++, _experienceBar.ToggleShowExperienceBar, _options, OptionKeys.ShowExperienceBar));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.AllowExperienceBarToFadeOut), whichOption++, _experienceBar.ToggleExperienceBarFade, _options, OptionKeys.AllowExperienceBarToFadeOut));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowExperienceGain), whichOption++, _experienceBar.ToggleShowExperienceGain, _options, OptionKeys.ShowExperienceGain));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowLocationOfTownsPeople), whichOption++, _locationOfTownsfolk.ToggleShowNPCLocationsOnMap, _options, OptionKeys.ShowLocationOfTownsPeople));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowBirthdayIcon), whichOption++, _showBirthdayIcon.ToggleOption, _options, OptionKeys.ShowBirthdayIcon));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowHeartFills), whichOption++, _showAccurateHearts.ToggleOption, _options, OptionKeys.ShowHeartFills));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowAnimalsNeedPets), whichOption++, _showWhenAnimalNeedsPet.ToggleOption, _options, OptionKeys.ShowAnimalsNeedPets));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.DisplayCalendarAndBillboard), whichOption++, _showCalendarAndBillboardOnGameMenuButton.ToggleOption, _options, OptionKeys.DisplayCalendarAndBillboard));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowCropAndBarrelTooltip), whichOption++, _showCropAndBarrelTime.ToggleOption, _options, OptionKeys.ShowCropAndBarrelTooltip));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowItemEffectRanges), whichOption++, _showScarecrowAndSprinklerRange.ToggleOption, _options, OptionKeys.ShowItemEffectRanges));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowExtraItemInformation), whichOption++, _showItemHoverInformation.ToggleOption, _options, OptionKeys.ShowExtraItemInformation));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowTravelingMerchant), whichOption++, _showTravelingMerchant.ToggleOption, _options, OptionKeys.ShowTravelingMerchant));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowHarvestPricesInShop), whichOption++, _shopHarvestPrices.ToggleOption, _options, OptionKeys.ShowHarvestPricesInShop));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowWhenNewRecipesAreAvailable), whichOption++, _showQueenOfSauceIcon.ToggleOption, _options, OptionKeys.ShowWhenNewRecipesAreAvailable));
|
||||
_optionsElements.Add(new ModOptionsCheckbox(_helper.SafeGetString(OptionKeys.ShowToolUpgradeStatus), whichOption++, _showToolUpgradeStatus.ToggleOption, _options, OptionKeys.ShowToolUpgradeStatus));
|
||||
|
||||
}
|
||||
|
||||
|
@ -113,7 +118,7 @@ namespace UIInfoSuite.Options
|
|||
{
|
||||
if (Game1.activeClickableMenu is GameMenu)
|
||||
{
|
||||
GraphicsEvents.OnPostRenderEvent -= DrawButton;
|
||||
GraphicsEvents.OnPostRenderGuiEvent -= DrawButton;
|
||||
_modOptionsPageButton.OnLeftClicked -= OnButtonLeftClicked;
|
||||
List<IClickableMenu> tabPages = _helper.Reflection.GetPrivateField<List<IClickableMenu>>(Game1.activeClickableMenu, "pages").GetValue();
|
||||
tabPages.Remove(_modOptionsPage);
|
||||
|
@ -129,8 +134,8 @@ namespace UIInfoSuite.Options
|
|||
_modOptionsPage = new ModOptionsPage(_optionsElements);
|
||||
_modOptionsPageButton = new ModOptionsPageButton();
|
||||
}
|
||||
GraphicsEvents.OnPostRenderEvent -= DrawButton;
|
||||
GraphicsEvents.OnPostRenderEvent += DrawButton;
|
||||
GraphicsEvents.OnPostRenderGuiEvent -= DrawButton;
|
||||
GraphicsEvents.OnPostRenderGuiEvent += DrawButton;
|
||||
_modOptionsPageButton.OnLeftClicked += OnButtonLeftClicked;
|
||||
List<IClickableMenu> tabPages = _helper.Reflection.GetPrivateField<List<IClickableMenu>>(Game1.activeClickableMenu, "pages").GetValue();
|
||||
|
||||
|
|
|
@ -26,5 +26,6 @@ namespace UIInfoSuite.Options
|
|||
public const string ShowHarvestPricesInShop = "ShowHarvestPricesInShop";
|
||||
public const string DisplayCalendarAndBillboard = "DisplayCalendarAndBillboard";
|
||||
public const string ShowWhenNewRecipesAreAvailable = "ShowWhenNewRecipesAreAvailable";
|
||||
public const string ShowToolUpgradeStatus = "ShowToolUpgradeStatus";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// 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.2.8.0")]
|
||||
[assembly: AssemblyFileVersion("1.2.8.0")]
|
||||
[assembly: AssemblyVersion("1.6.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.6.0.0")]
|
||||
|
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>Anschlagtafel</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Kalender</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>Tage</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>tage zu reifen</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>Du fühlst dich glücklich!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>Erntepreis</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>Stunden</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>Aufleveln</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>Gefühl 'glücklich ... aber nicht allzu glücklich</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>Vielleicht solltest du heute zu Hause bleiben</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>Minuten</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>Du fühlst dich heute gar nicht glücklich</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>Bereit zum Ernten!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>Heutiges Rezept: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>Reisehändler ist in der Stadt!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>Billboard</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Calendar</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>days</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>days to mature</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>You're feelin' lucky!!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>Harvest price</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>hours</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>Level Up</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>Feelin' lucky... but not too lucky</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>Maybe you should stay home today...</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>minutes</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>You're not feeling lucky at all today...</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>Ready To Harvest!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>Today's Recipe: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>Traveling merchant is in town!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>Cartelera</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Calendario</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>días</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>días para madurar</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>¡Tienes suerte!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>Precio de la cosecha</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>horas</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>Elevar a mismo nivel</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>Sintiendo con suerte ... pero no demasiado afortunado</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>Tal vez deberías quedarte en casa hoy</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>minutos</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>No te sientes afortunado en absoluto hoy ...</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>¡Listo para cosechar!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>Receta de hoy: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>¡El comerciante que viaja está en ciudad!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>ビルボード</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>カレンダー</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>日々</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>成熟する日数</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>あなたは幸運を感じている!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>収穫価格</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>時間</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>レベルアップ</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>幸運を感じる...しかしあまりにも幸運ではない</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>多分あなたは今日家にいなければなりません...</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>分</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>あなたは今日も幸運を感じていません...</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>収穫準備!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>今日のレシピ: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>旅行中の商人が町にいる!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>Quadro de avisos</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Calendário</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>dias</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>dias para amadurecer</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>Você está sentindo 'sorte!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>Preço de colheita</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>horas</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>Upar</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>Sentimento de sorte ... mas não muito sorte</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>Talvez você deva ficar em casa hoje ...</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>minutos</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>Você não está se sentindo sortudo de todo hoje ...</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>Apronte para colher!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>Receita de hoje: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>Comerciante ambulante está na cidade!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>рекламный щит</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Календарь</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>дней</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>дней, чтобы созреть</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>Тебе повезло!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>Урожайность</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>часов</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>Уровень повышен</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>Чувство «повезло ... но не слишком повезло»</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>Может, тебе стоит остаться дома сегодня ...</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>минут</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>Сегодня вам совсем не везет ...</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>Готовы к сбору урожая!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>Сегодняшний рецепт: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>Путешественник в городе!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,172 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>บอร์ด</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>ปฏิทิน</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>วัน</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>วันสำหรับผู้ใหญ่</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>คุณรู้สึกโชคดีมาก !!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>ราคาเก็บเกี่ยว</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>ชั่วโมง</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>ยกระดับ</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>รู้สึก 'โชคดี ... แต่ไม่โชคดีเกินไป</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>บางทีคุณควรจะอยู่บ้านวันนี้ ...</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>นาที</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>วันนี้คุณไม่รู้สึกโชคดีเลย</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>พร้อมที่จะเก็บเกี่ยว!</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="strings.en" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>strings.en.resx;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
<data name="strings.en.Designer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>strings.en.designer.cs;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>สูตรวันนี้: </value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>พ่อค้าเดินทางอยู่ในเมือง!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Billboard" xml:space="preserve">
|
||||
<value>广告牌</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>日历</value>
|
||||
</data>
|
||||
<data name="Days" xml:space="preserve">
|
||||
<value>天</value>
|
||||
</data>
|
||||
<data name="DaysToMature" xml:space="preserve">
|
||||
<value>天成熟</value>
|
||||
</data>
|
||||
<data name="FeelingLucky" xml:space="preserve">
|
||||
<value>你感觉很幸运!</value>
|
||||
</data>
|
||||
<data name="HarvestPrice" xml:space="preserve">
|
||||
<value>收获价</value>
|
||||
</data>
|
||||
<data name="Hours" xml:space="preserve">
|
||||
<value>小时</value>
|
||||
</data>
|
||||
<data name="LevelUp" xml:space="preserve">
|
||||
<value>升级</value>
|
||||
</data>
|
||||
<data name="LuckyButNotTooLucky" xml:space="preserve">
|
||||
<value>感觉幸运...但不是太幸运</value>
|
||||
</data>
|
||||
<data name="MaybeStayHome" xml:space="preserve">
|
||||
<value>也许今天应该留在家里</value>
|
||||
</data>
|
||||
<data name="Minutes" xml:space="preserve">
|
||||
<value>分钟</value>
|
||||
</data>
|
||||
<data name="NotFeelingLuckyAtAll" xml:space="preserve">
|
||||
<value>你今天没有感到幸运</value>
|
||||
</data>
|
||||
<data name="ReadyToHarvest" xml:space="preserve">
|
||||
<value>准备收获!</value>
|
||||
</data>
|
||||
<data name="TodaysRecipe" xml:space="preserve">
|
||||
<value>今日食谱:</value>
|
||||
</data>
|
||||
<data name="TravelingMerchantIsInTown" xml:space="preserve">
|
||||
<value>旅行商在城里!</value>
|
||||
</data>
|
||||
</root>
|
|
@ -52,16 +52,16 @@ namespace UIInfoSuite
|
|||
{
|
||||
int truePrice = 0;
|
||||
|
||||
if (item is StardewValley.Object)
|
||||
if (item is StardewValley.Object objectItem)
|
||||
{
|
||||
truePrice = (item as StardewValley.Object).sellToStorePrice() * 2;
|
||||
truePrice = objectItem.sellToStorePrice() * 2;
|
||||
}
|
||||
else
|
||||
else if (item is StardewValley.Item thing)
|
||||
{
|
||||
int parentSheetIndex = item.parentSheetIndex;
|
||||
//needs more
|
||||
truePrice = thing.salePrice();
|
||||
}
|
||||
|
||||
|
||||
return truePrice;
|
||||
}
|
||||
|
||||
|
|
|
@ -59,39 +59,6 @@
|
|||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.ja.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.ja.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.de.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.de.resx</DependentUpon>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.en.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.en.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.es.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.es.resx</DependentUpon>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.ru.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.ru.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resource\strings.zh.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>strings.zh.resx</DependentUpon>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Compile>
|
||||
<Compile Include="Tools.cs" />
|
||||
<Compile Include="Extensions\StringExtensions.cs" />
|
||||
<Compile Include="ModEntry.cs" />
|
||||
|
@ -112,6 +79,7 @@
|
|||
<Compile Include="UIElements\ShowItemHoverInformation.cs" />
|
||||
<Compile Include="UIElements\ShowItemEffectRanges.cs" />
|
||||
<Compile Include="UIElements\ShowQueenOfSauceIcon.cs" />
|
||||
<Compile Include="UIElements\ShowToolUpgradeStatus.cs" />
|
||||
<Compile Include="UIElements\ShowTravelingMerchant.cs" />
|
||||
<Compile Include="UIElements\ShowWhenAnimalNeedsPet.cs" />
|
||||
<Compile Include="UIElements\SkipIntro.cs" />
|
||||
|
@ -159,35 +127,6 @@
|
|||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.ja.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.ja.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.de.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.de.Designer.cs</LastGenOutput>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.en.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.en.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.es.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.es.Designer.cs</LastGenOutput>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.pt.resx" />
|
||||
<EmbeddedResource Include="Resource\strings.ru.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.ru.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource\strings.th.resx" />
|
||||
<EmbeddedResource Include="Resource\strings.zh.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>strings.zh.Designer.cs</LastGenOutput>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
@ -200,11 +139,11 @@
|
|||
<Copy SourceFiles="$(TargetDir)\$(TargetName).dll.mdb" DestinationFolder="$(ModPath)" Condition="Exists('$(TargetDir)\$(TargetName).dll.mdb')" />
|
||||
<Copy SourceFiles="$(ProjectDir)manifest.json" DestinationFolder="$(ModPath)" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Pathoschild.Stardew.ModBuildConfig.1.6.2\build\Pathoschild.Stardew.ModBuildConfig.targets" Condition="Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.1.6.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" />
|
||||
<Import Project="..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.0\build\Pathoschild.Stardew.ModBuildConfig.targets" Condition="Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.0\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.1.6.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Pathoschild.Stardew.ModBuildConfig.1.6.2\build\Pathoschild.Stardew.ModBuildConfig.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.0\build\Pathoschild.Stardew.ModBuildConfig.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.0\build\Pathoschild.Stardew.ModBuildConfig.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -23,7 +23,6 @@ namespace UIInfoSuite.UIElements
|
|||
{
|
||||
private const int MaxBarWidth = 175;
|
||||
private int _currentLevelIndex = 4;
|
||||
private int _levelOfCurrentlyDisplayedExperience = 0;
|
||||
private float _currentExperience = 0;
|
||||
private readonly List<ExperiencePointDisplay> _experiencePointDisplays = new List<ExperiencePointDisplay>();
|
||||
private GameLocation _currentLocation = new GameLocation();
|
||||
|
@ -31,7 +30,7 @@ namespace UIInfoSuite.UIElements
|
|||
private Color _iconColor = Color.White;
|
||||
private Color _experienceFillColor = Color.Blue;
|
||||
private Item _previousItem = null;
|
||||
private bool _showExperienceBar = false;
|
||||
private bool _experienceBarShouldBeVisible = false;
|
||||
private bool _shouldDrawLevelUp = false;
|
||||
private System.Timers.Timer _timeToDisappear = new System.Timers.Timer();
|
||||
private readonly TimeSpan _timeBeforeExperienceBarFades = TimeSpan.FromSeconds(8);
|
||||
|
@ -40,6 +39,7 @@ namespace UIInfoSuite.UIElements
|
|||
private bool _allowExperienceBarToFadeOut = true;
|
||||
private bool _showExperienceGain = true;
|
||||
private bool _showLevelUpAnimation = true;
|
||||
private bool _showExperienceBar = true;
|
||||
private readonly IModHelper _helper;
|
||||
private SoundPlayer _player;
|
||||
|
||||
|
@ -61,6 +61,8 @@ namespace UIInfoSuite.UIElements
|
|||
ModEntry.MonitorObject.Log("Error loading sound file from " + path + ": " + ex.Message + Environment.NewLine + ex.StackTrace, LogLevel.Error);
|
||||
}
|
||||
_timeToDisappear.Elapsed += StopTimerAndFadeBarOut;
|
||||
GraphicsEvents.OnPreRenderHudEvent += OnPreRenderHudEvent;
|
||||
LocationEvents.CurrentLocationChanged += RemoveAllExperiencePointDisplays;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
@ -95,14 +97,14 @@ namespace UIInfoSuite.UIElements
|
|||
|
||||
public void ToggleShowExperienceBar(bool showExperienceBar)
|
||||
{
|
||||
GraphicsEvents.OnPreRenderHudEvent -= OnPreRenderHudEvent;
|
||||
LocationEvents.CurrentLocationChanged -= RemoveAllExperiencePointDisplays;
|
||||
|
||||
if (showExperienceBar)
|
||||
{
|
||||
GraphicsEvents.OnPreRenderHudEvent += OnPreRenderHudEvent;
|
||||
LocationEvents.CurrentLocationChanged += RemoveAllExperiencePointDisplays;
|
||||
}
|
||||
//GraphicsEvents.OnPreRenderHudEvent -= OnPreRenderHudEvent;
|
||||
//LocationEvents.CurrentLocationChanged -= RemoveAllExperiencePointDisplays;
|
||||
_showExperienceBar = showExperienceBar;
|
||||
//if (showExperienceBar)
|
||||
//{
|
||||
// GraphicsEvents.OnPreRenderHudEvent += OnPreRenderHudEvent;
|
||||
// LocationEvents.CurrentLocationChanged += RemoveAllExperiencePointDisplays;
|
||||
//}
|
||||
}
|
||||
|
||||
private void OnLevelUp(object sender, EventArgsLevelUp e)
|
||||
|
@ -120,7 +122,7 @@ namespace UIInfoSuite.UIElements
|
|||
_shouldDrawLevelUp = true;
|
||||
_timeToDisappear.Interval = _timeBeforeExperienceBarFades.TotalMilliseconds;
|
||||
_timeToDisappear.Start();
|
||||
_showExperienceBar = true;
|
||||
_experienceBarShouldBeVisible = true;
|
||||
|
||||
float previousAmbientVolume = Game1.options.ambientVolumeLevel;
|
||||
float previousMusicVolume = Game1.options.musicVolumeLevel;
|
||||
|
@ -156,7 +158,7 @@ namespace UIInfoSuite.UIElements
|
|||
private void StopTimerAndFadeBarOut(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
_timeToDisappear.Stop();
|
||||
_showExperienceBar = false;
|
||||
_experienceBarShouldBeVisible = false;
|
||||
}
|
||||
|
||||
private void RemoveAllExperiencePointDisplays(object sender, EventArgsCurrentLocationChanged e)
|
||||
|
@ -236,8 +238,46 @@ namespace UIInfoSuite.UIElements
|
|||
_previousItem = currentItem;
|
||||
_currentExperience = experienceEarnedThisLevel;
|
||||
|
||||
if (_showExperienceBar &&
|
||||
_levelOfCurrentlyDisplayedExperience != 10)
|
||||
if (_shouldDrawLevelUp)
|
||||
{
|
||||
Vector2 playerLocalPosition = Game1.player.getLocalPosition(Game1.viewport);
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
new Vector2(
|
||||
playerLocalPosition.X - 74,
|
||||
playerLocalPosition.Y - 130),
|
||||
_levelUpIconRectangle,
|
||||
_iconColor,
|
||||
0,
|
||||
Vector2.Zero,
|
||||
Game1.pixelZoom,
|
||||
SpriteEffects.None,
|
||||
0.85f);
|
||||
|
||||
Game1.drawWithBorder(
|
||||
_helper.SafeGetString(
|
||||
LanguageKeys.LevelUp),
|
||||
Color.DarkSlateGray,
|
||||
Color.PaleTurquoise,
|
||||
new Vector2(
|
||||
playerLocalPosition.X - 28,
|
||||
playerLocalPosition.Y - 130));
|
||||
}
|
||||
|
||||
for (int i = _experiencePointDisplays.Count - 1; i >= 0; --i)
|
||||
{
|
||||
if (_experiencePointDisplays[i].IsInvisible)
|
||||
{
|
||||
_experiencePointDisplays.RemoveAt(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
_experiencePointDisplays[i].Draw();
|
||||
}
|
||||
}
|
||||
|
||||
if (_experienceBarShouldBeVisible &&
|
||||
_showExperienceBar)
|
||||
{
|
||||
int barWidth = (int)(_currentExperience / (experienceRequiredToLevel - experienceFromPreviousLevels) * MaxBarWidth);
|
||||
float leftSide = Game1.graphics.GraphicsDevice.Viewport.TitleSafeArea.Left;
|
||||
|
@ -340,43 +380,7 @@ namespace UIInfoSuite.UIElements
|
|||
Game1.graphics.GraphicsDevice.Viewport.TitleSafeArea.Bottom - 70));
|
||||
}
|
||||
|
||||
if (_shouldDrawLevelUp)
|
||||
{
|
||||
Vector2 playerLocalPosition = Game1.player.getLocalPosition(Game1.viewport);
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
new Vector2(
|
||||
playerLocalPosition.X - 74,
|
||||
playerLocalPosition.Y - 130),
|
||||
_levelUpIconRectangle,
|
||||
_iconColor,
|
||||
0,
|
||||
Vector2.Zero,
|
||||
Game1.pixelZoom,
|
||||
SpriteEffects.None,
|
||||
0.85f);
|
||||
|
||||
Game1.drawWithBorder(
|
||||
_helper.SafeGetString(
|
||||
LanguageKeys.LevelUp),
|
||||
Color.DarkSlateGray,
|
||||
Color.PaleTurquoise,
|
||||
new Vector2(
|
||||
playerLocalPosition.X - 28,
|
||||
playerLocalPosition.Y - 130));
|
||||
}
|
||||
|
||||
for (int i = _experiencePointDisplays.Count - 1; i >= 0; --i)
|
||||
{
|
||||
if (_experiencePointDisplays[i].IsInvisible)
|
||||
{
|
||||
_experiencePointDisplays.RemoveAt(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
_experiencePointDisplays[i].Draw();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,7 +418,7 @@ namespace UIInfoSuite.UIElements
|
|||
_timeToDisappear.Stop();
|
||||
}
|
||||
|
||||
_showExperienceBar = true;
|
||||
_experienceBarShouldBeVisible = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ namespace UIInfoSuite.UIElements
|
|||
{ "HaleyHouse", new KeyValuePair<int, int>(652, 408) },
|
||||
{ "Hospital", new KeyValuePair<int, int>(677, 304) },
|
||||
{ "FarmHouse", new KeyValuePair<int, int>(470, 260) },
|
||||
{ "Farm", new KeyValuePair<int, int>(470, 260) },
|
||||
{ "ScienceHouse", new KeyValuePair<int, int>(732, 148) },
|
||||
{ "ManorHouse", new KeyValuePair<int, int>(768, 395) },
|
||||
{ "AdventureGuild", new KeyValuePair<int, int>(0, 0) },
|
||||
|
@ -153,12 +154,28 @@ namespace UIInfoSuite.UIElements
|
|||
int hashCode = friendName.name.GetHashCode();
|
||||
OptionsCheckbox checkbox = new OptionsCheckbox("", hashCode);
|
||||
_checkboxes.Add(checkbox);
|
||||
|
||||
//default to on
|
||||
bool optionForThisFriend = true;
|
||||
if (!Game1.player.friendships.ContainsKey(friendName.name))
|
||||
{
|
||||
checkbox.greyedOut = true;
|
||||
checkbox.isChecked = false;
|
||||
optionForThisFriend = false;
|
||||
}
|
||||
checkbox.isChecked = _options.SafeGet(hashCode.ToString()).SafeParseBool();
|
||||
else
|
||||
{
|
||||
String optionValue = _options.SafeGet(hashCode.ToString());
|
||||
|
||||
if (String.IsNullOrEmpty(optionValue))
|
||||
{
|
||||
_options[hashCode.ToString()] = optionForThisFriend.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
optionForThisFriend = optionValue.SafeParseBool();
|
||||
}
|
||||
}
|
||||
checkbox.isChecked = optionForThisFriend;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -202,40 +219,94 @@ namespace UIInfoSuite.UIElements
|
|||
GameMenu gameMenu = Game1.activeClickableMenu as GameMenu;
|
||||
if (gameMenu.currentTab == 3)
|
||||
{
|
||||
List<String> namesToShow = new List<string>();
|
||||
foreach (var character in _townsfolk)
|
||||
{
|
||||
try
|
||||
{
|
||||
int hashCode = character.name.GetHashCode();
|
||||
|
||||
bool drawCharacter = _options.SafeGet(hashCode.ToString()).SafeParseBool();
|
||||
|
||||
if (drawCharacter)
|
||||
{
|
||||
KeyValuePair<int, int> location;
|
||||
location = new KeyValuePair<int, int>((int)character.Position.X, (int)character.position.Y);
|
||||
String locationName = character.currentLocation?.name ?? character.DefaultMap;
|
||||
|
||||
if (character.currentLocation.Name == "Town")
|
||||
switch (locationName)
|
||||
{
|
||||
String locationName = character.currentLocation.Name;
|
||||
xTile.Map map = character.currentLocation.Map;
|
||||
int xStart = 595;
|
||||
int yStart = 163;
|
||||
int townWidth = 345;
|
||||
int townHeight = 330;
|
||||
case "Town":
|
||||
case "Forest":
|
||||
{
|
||||
int xStart = 0;
|
||||
int yStart = 0;
|
||||
int areaWidth = 0;
|
||||
int areaHeight = 0;
|
||||
|
||||
float xScale = (float)townWidth / (float)map.DisplayWidth;
|
||||
float yScale = (float)townHeight / (float)map.DisplayHeight;
|
||||
switch (locationName)
|
||||
{
|
||||
case "Town":
|
||||
{
|
||||
xStart = 595;
|
||||
yStart = 163;
|
||||
areaWidth = 345;
|
||||
areaHeight = 330;
|
||||
break;
|
||||
}
|
||||
|
||||
float scaledX = character.position.X * xScale;
|
||||
float scaledY = character.position.Y * yScale;
|
||||
int xPos = (int)scaledX + xStart;
|
||||
int yPos = (int)scaledY + yStart;
|
||||
location = new KeyValuePair<int, int>(xPos, yPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
_mapLocations.TryGetValue(character.currentLocation.name, out location);
|
||||
case "Forest":
|
||||
{
|
||||
xStart = 183;
|
||||
yStart = 378;
|
||||
areaWidth = 319;
|
||||
areaHeight = 261;
|
||||
break;
|
||||
}
|
||||
}
|
||||
xTile.Map map = character.currentLocation.Map;
|
||||
|
||||
float xScale = (float)areaWidth / (float)map.DisplayWidth;
|
||||
float yScale = (float)areaHeight / (float)map.DisplayHeight;
|
||||
|
||||
float scaledX = character.position.X * xScale;
|
||||
float scaledY = character.position.Y * yScale;
|
||||
int xPos = (int)scaledX + xStart;
|
||||
int yPos = (int)scaledY + yStart;
|
||||
location = new KeyValuePair<int, int>(xPos, yPos);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
_mapLocations.TryGetValue(locationName, out location);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//if (character.currentLocation.Name == "Town")
|
||||
//{
|
||||
// String locationName = character.currentLocation.Name;
|
||||
// xTile.Map map = character.currentLocation.Map;
|
||||
// int xStart = 595;
|
||||
// int yStart = 163;
|
||||
// int townWidth = 345;
|
||||
// int townHeight = 330;
|
||||
|
||||
// float xScale = (float)townWidth / (float)map.DisplayWidth;
|
||||
// float yScale = (float)townHeight / (float)map.DisplayHeight;
|
||||
|
||||
// float scaledX = character.position.X * xScale;
|
||||
// float scaledY = character.position.Y * yScale;
|
||||
// int xPos = (int)scaledX + xStart;
|
||||
// int yPos = (int)scaledY + yStart;
|
||||
// location = new KeyValuePair<int, int>(xPos, yPos);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// _mapLocations.TryGetValue(character.currentLocation.name, out location);
|
||||
//}
|
||||
Rectangle headShot = character.GetHeadShot();
|
||||
int xBase = Game1.activeClickableMenu.xPositionOnScreen - 158;
|
||||
int yBase = Game1.activeClickableMenu.yPositionOnScreen - 40;
|
||||
|
@ -254,6 +325,8 @@ namespace UIInfoSuite.UIElements
|
|||
character.sprite.Texture,
|
||||
headShot,
|
||||
2.3f);
|
||||
|
||||
float headShotScale = 2f;
|
||||
Game1.spriteBatch.Draw(
|
||||
character.sprite.Texture,
|
||||
new Vector2(x, y),
|
||||
|
@ -261,10 +334,19 @@ namespace UIInfoSuite.UIElements
|
|||
color,
|
||||
0.0f,
|
||||
Vector2.Zero,
|
||||
2f,
|
||||
headShotScale,
|
||||
SpriteEffects.None,
|
||||
1f);
|
||||
|
||||
int mouseX = Game1.getMouseX();
|
||||
int mouseY = Game1.getMouseY();
|
||||
|
||||
if (mouseX >= x && mouseX <= x + headShot.Width * headShotScale &&
|
||||
mouseY >= y && mouseY <= y + headShot.Height * headShotScale)
|
||||
{
|
||||
namesToShow.Add(character.displayName);
|
||||
}
|
||||
|
||||
foreach (var quest in Game1.player.questLog)
|
||||
{
|
||||
if (quest.accepted && quest.dailyQuest && !quest.completed)
|
||||
|
@ -299,6 +381,40 @@ namespace UIInfoSuite.UIElements
|
|||
}
|
||||
}
|
||||
|
||||
if (namesToShow.Count > 0)
|
||||
{
|
||||
StringBuilder text = new StringBuilder();
|
||||
int longestLength = 0;
|
||||
foreach (String name in namesToShow)
|
||||
{
|
||||
text.AppendLine(name);
|
||||
longestLength = Math.Max(longestLength, (int)Math.Ceiling(Game1.smallFont.MeasureString(name).Length()));
|
||||
}
|
||||
|
||||
int windowHeight = Game1.smallFont.LineSpacing * namesToShow.Count + 25;
|
||||
Vector2 windowPos = new Vector2(Game1.getMouseX() + 40, Game1.getMouseY() - windowHeight);
|
||||
IClickableMenu.drawTextureBox(
|
||||
Game1.spriteBatch,
|
||||
(int)windowPos.X,
|
||||
(int)windowPos.Y,
|
||||
longestLength + 30,
|
||||
Game1.smallFont.LineSpacing * namesToShow.Count + 25,
|
||||
Color.White);
|
||||
|
||||
Game1.spriteBatch.DrawString(
|
||||
Game1.smallFont,
|
||||
text,
|
||||
new Vector2(windowPos.X + 17, windowPos.Y + 17),
|
||||
Game1.textShadowColor);
|
||||
|
||||
Game1.spriteBatch.DrawString(
|
||||
Game1.smallFont,
|
||||
text,
|
||||
new Vector2(windowPos.X + 15, windowPos.Y + 15),
|
||||
Game1.textColor);
|
||||
}
|
||||
|
||||
//The cursor needs to show up in front of the character faces
|
||||
if (!Game1.options.hardwareCursor)
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
|
@ -387,22 +503,22 @@ namespace UIInfoSuite.UIElements
|
|||
4),
|
||||
Color.BurlyWood);
|
||||
}
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
new Vector2(
|
||||
Game1.getMouseX(),
|
||||
Game1.getMouseY()),
|
||||
Game1.getSourceRectForStandardTileSheet(
|
||||
Game1.mouseCursors,
|
||||
Game1.mouseCursor,
|
||||
16,
|
||||
16),
|
||||
Color.White,
|
||||
0.0f,
|
||||
Vector2.Zero,
|
||||
Game1.pixelZoom + (Game1.dialogueButtonScale / 150.0f),
|
||||
SpriteEffects.None,
|
||||
1f);
|
||||
//Game1.spriteBatch.Draw(
|
||||
// Game1.mouseCursors,
|
||||
// new Vector2(
|
||||
// Game1.getMouseX(),
|
||||
// Game1.getMouseY()),
|
||||
// Game1.getSourceRectForStandardTileSheet(
|
||||
// Game1.mouseCursors,
|
||||
// Game1.mouseCursor,
|
||||
// 16,
|
||||
// 16),
|
||||
// Color.White,
|
||||
// 0.0f,
|
||||
// Vector2.Zero,
|
||||
// Game1.pixelZoom + (Game1.dialogueButtonScale / 150.0f),
|
||||
// SpriteEffects.None,
|
||||
// 1f);
|
||||
|
||||
if (checkbox.bounds.Contains(Game1.getMouseX(), Game1.getMouseY()))
|
||||
IClickableMenu.drawHoverText(
|
||||
|
|
|
@ -76,20 +76,20 @@ namespace UIInfoSuite.UIElements
|
|||
friendshipRawValue < 2500)
|
||||
{
|
||||
DrawEachIndividualSquare(numHearts, pointsToNextHeart, yPosition);
|
||||
if (!Game1.options.hardwareCursor)
|
||||
Game1.spriteBatch.Draw(
|
||||
Game1.mouseCursors,
|
||||
new Vector2(Game1.getMouseX(), Game1.getMouseY()),
|
||||
Game1.getSourceRectForStandardTileSheet(
|
||||
Game1.mouseCursors, Game1.mouseCursor,
|
||||
16,
|
||||
16),
|
||||
Color.White,
|
||||
0.0f,
|
||||
Vector2.Zero,
|
||||
Game1.pixelZoom + (float)(Game1.dialogueButtonScale / 150.0),
|
||||
SpriteEffects.None,
|
||||
1f);
|
||||
//if (!Game1.options.hardwareCursor)
|
||||
// Game1.spriteBatch.Draw(
|
||||
// Game1.mouseCursors,
|
||||
// new Vector2(Game1.getMouseX(), Game1.getMouseY()),
|
||||
// Game1.getSourceRectForStandardTileSheet(
|
||||
// Game1.mouseCursors, Game1.mouseCursor,
|
||||
// 16,
|
||||
// 16),
|
||||
// Color.White,
|
||||
// 0.0f,
|
||||
// Vector2.Zero,
|
||||
// Game1.pixelZoom + (float)(Game1.dialogueButtonScale / 150.0),
|
||||
// SpriteEffects.None,
|
||||
// 1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,23 +25,19 @@ namespace UIInfoSuite.UIElements
|
|||
Game1.content.Load<Texture2D>(Path.Combine("Maps", "summer_town")),
|
||||
new Rectangle(122, 291, 35, 20),
|
||||
3f);
|
||||
private String _hoverText;
|
||||
private readonly IDictionary<String, String> _options;
|
||||
|
||||
private readonly IModHelper _helper;
|
||||
|
||||
private Item _hoverItem = null;
|
||||
|
||||
public ShowCalendarAndBillboardOnGameMenuButton(IDictionary<String, String> options,
|
||||
IModHelper helper)
|
||||
public ShowCalendarAndBillboardOnGameMenuButton(IModHelper helper)
|
||||
{
|
||||
_options = options;
|
||||
_helper = helper;
|
||||
}
|
||||
|
||||
public void ToggleOption(bool showCalendarAndBillboard)
|
||||
{
|
||||
GraphicsEvents.OnPostRenderGuiEvent -= RenderButtons;
|
||||
GraphicsEvents.OnPreRenderGuiEvent -= RemoveDefaultTooltips;
|
||||
ControlEvents.MouseChanged -= OnBillboardIconClick;
|
||||
ControlEvents.ControllerButtonPressed -= OnBillboardIconPressed;
|
||||
GraphicsEvents.OnPreRenderEvent -= GetHoverItem;
|
||||
|
@ -49,7 +45,6 @@ namespace UIInfoSuite.UIElements
|
|||
if (showCalendarAndBillboard)
|
||||
{
|
||||
GraphicsEvents.OnPostRenderGuiEvent += RenderButtons;
|
||||
GraphicsEvents.OnPreRenderGuiEvent += RemoveDefaultTooltips;
|
||||
ControlEvents.MouseChanged += OnBillboardIconClick;
|
||||
ControlEvents.ControllerButtonPressed += OnBillboardIconPressed;
|
||||
GraphicsEvents.OnPreRenderEvent += GetHoverItem;
|
||||
|
@ -86,23 +81,16 @@ namespace UIInfoSuite.UIElements
|
|||
(Game1.activeClickableMenu as GameMenu).currentTab == 0 &&
|
||||
_showBillboardButton.containsPoint(Game1.getMouseX(), Game1.getMouseY()))
|
||||
{
|
||||
if (Game1.questOfTheDay != null &&
|
||||
String.IsNullOrEmpty(Game1.questOfTheDay.currentObjective))
|
||||
Game1.questOfTheDay.currentObjective = "wat?";
|
||||
|
||||
Game1.activeClickableMenu =
|
||||
new Billboard(!(Game1.getMouseX() <
|
||||
_showBillboardButton.bounds.X + _showBillboardButton.bounds.Width / 2));
|
||||
}
|
||||
}
|
||||
|
||||
private void RemoveDefaultTooltips(object sender, EventArgs e)
|
||||
{
|
||||
if (Game1.activeClickableMenu is GameMenu &&
|
||||
!_options.SafeGet(OptionKeys.ShowExtraItemInformation).SafeParseBool())
|
||||
{
|
||||
InventoryPage inventoryPage = (typeof(GameMenu).GetField("pages", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(Game1.activeClickableMenu) as List<IClickableMenu>)[0] as InventoryPage;
|
||||
_hoverText = typeof(InventoryPage).GetField("hoverText", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(inventoryPage) as String;
|
||||
typeof(InventoryPage).GetField("hoverText", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(inventoryPage, "");
|
||||
}
|
||||
}
|
||||
|
||||
private void RenderButtons(object sender, EventArgs e)
|
||||
{
|
||||
if (_hoverItem == null &&
|
||||
|
@ -123,20 +111,6 @@ namespace UIInfoSuite.UIElements
|
|||
_helper.SafeGetString(hoverText),
|
||||
Game1.dialogueFont);
|
||||
}
|
||||
|
||||
if (!_options.SafeGet(OptionKeys.ShowExtraItemInformation).SafeParseBool())
|
||||
{
|
||||
InventoryPage inventoryPage = (typeof(GameMenu).GetField("pages", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(Game1.activeClickableMenu) as List<IClickableMenu>)[0] as InventoryPage;
|
||||
String hoverTitle = typeof(InventoryPage).GetField("hoverTitle", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(inventoryPage) as String;
|
||||
Item hoveredItem = typeof(InventoryPage).GetField("hoveredItem", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(inventoryPage) as Item;
|
||||
Item heldItem = typeof(InventoryPage).GetField("heldItem", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(inventoryPage) as Item;
|
||||
IClickableMenu.drawToolTip(
|
||||
Game1.spriteBatch,
|
||||
_hoverText,
|
||||
hoverTitle,
|
||||
hoveredItem,
|
||||
heldItem != null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ using System.Reflection;
|
|||
using System.Globalization;
|
||||
using StardewValley.Objects;
|
||||
using StardewModdingAPI;
|
||||
using StardewValley.Locations;
|
||||
using StardewValley.Buildings;
|
||||
|
||||
namespace UIInfoSuite.UIElements
|
||||
{
|
||||
|
@ -22,6 +24,7 @@ namespace UIInfoSuite.UIElements
|
|||
private Dictionary<int, String> _indexOfCropNames = new Dictionary<int, string>();
|
||||
private StardewValley.Object _currentTile;
|
||||
private TerrainFeature _terrain;
|
||||
private Building _currentTileBuilding = null;
|
||||
private readonly IModHelper _helper;
|
||||
|
||||
public ShowCropAndBarrelTime(IModHelper helper)
|
||||
|
@ -43,6 +46,15 @@ namespace UIInfoSuite.UIElements
|
|||
|
||||
private void GetTileUnderCursor(object sender, EventArgs e)
|
||||
{
|
||||
if (Game1.currentLocation is BuildableGameLocation buildableLocation)
|
||||
{
|
||||
_currentTileBuilding = buildableLocation.getBuildingAt(Game1.currentCursorTile);
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentTileBuilding = null;
|
||||
}
|
||||
|
||||
_currentTile = Game1.currentLocation.Objects.SafeGet(Game1.currentCursorTile);
|
||||
_terrain = Game1.currentLocation.terrainFeatures.SafeGet(Game1.currentCursorTile);
|
||||
}
|
||||
|
@ -57,8 +69,47 @@ namespace UIInfoSuite.UIElements
|
|||
|
||||
//StardewValley.Object tile = Game1.currentLocation.Objects.SafeGet(Game1.currentCursorTile);
|
||||
//TerrainFeature feature = null;
|
||||
if (_currentTileBuilding != null)
|
||||
{
|
||||
if (_currentTileBuilding is Mill millBuilding)
|
||||
{
|
||||
if (!millBuilding.input.isEmpty())
|
||||
{
|
||||
int wheatCount = 0;
|
||||
int beetCount = 0;
|
||||
|
||||
if (_currentTile != null &&
|
||||
foreach (var item in millBuilding.input.items)
|
||||
{
|
||||
switch (item.Name)
|
||||
{
|
||||
case "Wheat": wheatCount = item.Stack; break;
|
||||
case "Beet": beetCount = item.Stack; break;
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
if (wheatCount > 0)
|
||||
builder.Append(wheatCount + " wheat");
|
||||
|
||||
if (beetCount > 0)
|
||||
{
|
||||
if (wheatCount > 0)
|
||||
builder.Append(Environment.NewLine);
|
||||
builder.Append(beetCount + " beets");
|
||||
}
|
||||
|
||||
if (builder.Length > 0)
|
||||
{
|
||||
IClickableMenu.drawHoverText(
|
||||
Game1.spriteBatch,
|
||||
builder.ToString(),
|
||||
Game1.smallFont);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_currentTile != null &&
|
||||
(!_currentTile.bigCraftable ||
|
||||
_currentTile.minutesUntilReady > 0))
|
||||
{
|
||||
|
@ -75,6 +126,10 @@ namespace UIInfoSuite.UIElements
|
|||
hoverText.Append((int)(currentCask.daysToMature / currentCask.agingRate))
|
||||
.Append(" " + _helper.SafeGetString(
|
||||
LanguageKeys.DaysToMature));
|
||||
}
|
||||
else if (_currentTile is StardewValley.Buildings.Mill)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
using Microsoft.Xna.Framework.Graphics;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewValley;
|
||||
using StardewValley.Buildings;
|
||||
using StardewValley.Locations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -15,6 +17,27 @@ namespace UIInfoSuite.UIElements
|
|||
private readonly List<Point> _effectiveArea = new List<Point>();
|
||||
private readonly ModConfig _modConfig;
|
||||
|
||||
private static readonly int[][] _junimoHutArray = new int[17][]
|
||||
{
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
|
||||
new int[17] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
|
||||
};
|
||||
|
||||
public ShowItemEffectRanges(ModConfig modConfig)
|
||||
{
|
||||
_modConfig = modConfig;
|
||||
|
@ -41,86 +64,102 @@ namespace UIInfoSuite.UIElements
|
|||
{
|
||||
_effectiveArea.Clear();
|
||||
|
||||
if (Game1.player.CurrentItem != null &&
|
||||
Game1.activeClickableMenu == null &&
|
||||
if (Game1.activeClickableMenu == null &&
|
||||
!Game1.eventUp)
|
||||
{
|
||||
String name = Game1.player.CurrentItem.Name.ToLower();
|
||||
Item currentItem = Game1.player.CurrentItem;
|
||||
List<StardewValley.Object> objects = null;
|
||||
|
||||
int[][] arrayToUse = null;
|
||||
|
||||
if (name.Contains("arecrow"))
|
||||
if (Game1.currentLocation is BuildableGameLocation buildableLocation)
|
||||
{
|
||||
arrayToUse = new int[17][];
|
||||
for (int i = 0; i < 17; ++i)
|
||||
{
|
||||
arrayToUse[i] = new int[17];
|
||||
for (int j = 0; j < 17; ++j)
|
||||
{
|
||||
arrayToUse[i][j] = (Math.Abs(i - 8) + Math.Abs(j - 8) <= 12) ? 1 : 0;
|
||||
}
|
||||
}
|
||||
ParseConfigToHighlightedArea(arrayToUse, TileUnderMouseX, TileUnderMouseY);
|
||||
objects = GetObjectsInLocationOfSimilarName("arecrow");
|
||||
if (objects != null)
|
||||
{
|
||||
foreach (StardewValley.Object next in objects)
|
||||
{
|
||||
ParseConfigToHighlightedArea(arrayToUse, (int)next.TileLocation.X, (int)next.TileLocation.Y);
|
||||
}
|
||||
}
|
||||
Building building = buildableLocation.getBuildingAt(Game1.currentCursorTile);
|
||||
|
||||
if (building is JunimoHut)
|
||||
{
|
||||
foreach (var nextBuilding in buildableLocation.buildings)
|
||||
{
|
||||
if (nextBuilding is JunimoHut nextHut)
|
||||
ParseConfigToHighlightedArea(_junimoHutArray, nextHut.tileX + 1, nextHut.tileY + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (name.Contains("sprinkler"))
|
||||
{
|
||||
if (name.Contains("iridium"))
|
||||
{
|
||||
arrayToUse = _modConfig.IridiumSprinkler;
|
||||
}
|
||||
else if (name.Contains("quality"))
|
||||
{
|
||||
arrayToUse = _modConfig.QualitySprinkler;
|
||||
}
|
||||
else
|
||||
{
|
||||
arrayToUse = _modConfig.Sprinkler;
|
||||
}
|
||||
|
||||
if (arrayToUse != null)
|
||||
if (Game1.player.CurrentItem != null)
|
||||
{
|
||||
String name = Game1.player.CurrentItem.Name.ToLower();
|
||||
Item currentItem = Game1.player.CurrentItem;
|
||||
List<StardewValley.Object> objects = null;
|
||||
|
||||
int[][] arrayToUse = null;
|
||||
|
||||
if (name.Contains("arecrow"))
|
||||
{
|
||||
arrayToUse = new int[17][];
|
||||
for (int i = 0; i < 17; ++i)
|
||||
{
|
||||
arrayToUse[i] = new int[17];
|
||||
for (int j = 0; j < 17; ++j)
|
||||
{
|
||||
arrayToUse[i][j] = (Math.Abs(i - 8) + Math.Abs(j - 8) <= 12) ? 1 : 0;
|
||||
}
|
||||
}
|
||||
ParseConfigToHighlightedArea(arrayToUse, TileUnderMouseX, TileUnderMouseY);
|
||||
|
||||
objects = GetObjectsInLocationOfSimilarName("sprinkler");
|
||||
|
||||
if (objects != null)
|
||||
{
|
||||
foreach (StardewValley.Object next in objects)
|
||||
objects = GetObjectsInLocationOfSimilarName("arecrow");
|
||||
if (objects != null)
|
||||
{
|
||||
string objectName = next.name.ToLower();
|
||||
if (objectName.Contains("iridium"))
|
||||
foreach (StardewValley.Object next in objects)
|
||||
{
|
||||
arrayToUse = _modConfig.IridiumSprinkler;
|
||||
}
|
||||
else if (objectName.Contains("quality"))
|
||||
{
|
||||
arrayToUse = _modConfig.QualitySprinkler;
|
||||
}
|
||||
else
|
||||
{
|
||||
arrayToUse = _modConfig.Sprinkler;
|
||||
}
|
||||
|
||||
if (arrayToUse != null)
|
||||
ParseConfigToHighlightedArea(arrayToUse, (int)next.TileLocation.X, (int)next.TileLocation.Y);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (name.Contains("sprinkler"))
|
||||
{
|
||||
if (name.Contains("iridium"))
|
||||
{
|
||||
arrayToUse = _modConfig.IridiumSprinkler;
|
||||
}
|
||||
else if (name.Contains("quality"))
|
||||
{
|
||||
arrayToUse = _modConfig.QualitySprinkler;
|
||||
}
|
||||
else
|
||||
{
|
||||
arrayToUse = _modConfig.Sprinkler;
|
||||
}
|
||||
|
||||
if (arrayToUse != null)
|
||||
ParseConfigToHighlightedArea(arrayToUse, TileUnderMouseX, TileUnderMouseY);
|
||||
|
||||
objects = GetObjectsInLocationOfSimilarName("sprinkler");
|
||||
|
||||
if (objects != null)
|
||||
{
|
||||
foreach (StardewValley.Object next in objects)
|
||||
{
|
||||
string objectName = next.name.ToLower();
|
||||
if (objectName.Contains("iridium"))
|
||||
{
|
||||
arrayToUse = _modConfig.IridiumSprinkler;
|
||||
}
|
||||
else if (objectName.Contains("quality"))
|
||||
{
|
||||
arrayToUse = _modConfig.QualitySprinkler;
|
||||
}
|
||||
else
|
||||
{
|
||||
arrayToUse = _modConfig.Sprinkler;
|
||||
}
|
||||
|
||||
if (arrayToUse != null)
|
||||
ParseConfigToHighlightedArea(arrayToUse, (int)next.TileLocation.X, (int)next.TileLocation.Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (name.Contains("bee house"))
|
||||
{
|
||||
ParseConfigToHighlightedArea(_modConfig.Beehouse, TileUnderMouseX, TileUnderMouseY);
|
||||
}
|
||||
else if (name.Contains("bee house"))
|
||||
{
|
||||
ParseConfigToHighlightedArea(_modConfig.Beehouse, TileUnderMouseX, TileUnderMouseY);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -124,7 +124,9 @@ namespace UIInfoSuite.UIElements
|
|||
|
||||
private void DrawAdvancedTooltip(object sender, EventArgs e)
|
||||
{
|
||||
if (_hoverItem != null)
|
||||
if (_hoverItem != null &&
|
||||
_hoverItem.Name != "Scythe" &&
|
||||
!(_hoverItem is StardewValley.Tools.FishingRod))
|
||||
{
|
||||
//String text = string.Empty;
|
||||
//String extra = string.Empty;
|
||||
|
@ -132,8 +134,7 @@ namespace UIInfoSuite.UIElements
|
|||
int itemPrice = 0;
|
||||
int stackPrice = 0;
|
||||
|
||||
if (truePrice > 0 &&
|
||||
_hoverItem.Name != "Scythe")
|
||||
if (truePrice > 0)
|
||||
{
|
||||
itemPrice = truePrice / 2;
|
||||
//int width = (int)Game1.smallFont.MeasureString(" ").Length();
|
||||
|
@ -244,7 +245,7 @@ namespace UIInfoSuite.UIElements
|
|||
Game1.spriteBatch.DrawString(
|
||||
Game1.smallFont,
|
||||
itemPrice.ToString(),
|
||||
new Vector2(currentDrawPos.X + 20, currentDrawPos.Y - 10 + 2),
|
||||
new Vector2(currentDrawPos.X + 22, currentDrawPos.Y - 8),
|
||||
Game1.textShadowColor);
|
||||
|
||||
Game1.spriteBatch.DrawString(
|
||||
|
@ -282,7 +283,7 @@ namespace UIInfoSuite.UIElements
|
|||
Game1.spriteBatch.DrawString(
|
||||
Game1.smallFont,
|
||||
stackPrice.ToString(),
|
||||
new Vector2(currentDrawPos.X + 20, currentDrawPos.Y - 10 + 2),
|
||||
new Vector2(currentDrawPos.X + 22, currentDrawPos.Y - 8),
|
||||
Game1.textShadowColor);
|
||||
|
||||
Game1.spriteBatch.DrawString(
|
||||
|
@ -331,7 +332,7 @@ namespace UIInfoSuite.UIElements
|
|||
Game1.spriteBatch.DrawString(
|
||||
Game1.smallFont,
|
||||
cropPrice.ToString(),
|
||||
new Vector2(currentDrawPos.X + 20, currentDrawPos.Y - 10 + 2),
|
||||
new Vector2(currentDrawPos.X + 22, currentDrawPos.Y - 8),
|
||||
Game1.textShadowColor);
|
||||
|
||||
Game1.spriteBatch.DrawString(
|
||||
|
|
|
@ -29,6 +29,7 @@ namespace UIInfoSuite.UIElements
|
|||
{
|
||||
GraphicsEvents.OnPreRenderHudEvent -= DrawIcon;
|
||||
TimeEvents.AfterDayStarted -= CheckForNewRecipe;
|
||||
GameEvents.OneSecondTick -= CheckIfLearnedRecipe;
|
||||
|
||||
if (showQueenOfSauceIcon)
|
||||
{
|
||||
|
@ -36,9 +37,17 @@ namespace UIInfoSuite.UIElements
|
|||
CheckForNewRecipe(null, null);
|
||||
TimeEvents.AfterDayStarted += CheckForNewRecipe;
|
||||
GraphicsEvents.OnPreRenderHudEvent += DrawIcon;
|
||||
GameEvents.OneSecondTick += CheckIfLearnedRecipe;
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckIfLearnedRecipe(object sender, EventArgs e)
|
||||
{
|
||||
if (_drawQueenOfSauceIcon &&
|
||||
Game1.player.knowsRecipe(_todaysRecipe))
|
||||
_drawQueenOfSauceIcon = false;
|
||||
}
|
||||
|
||||
public ShowQueenOfSauceIcon(IModHelper helper)
|
||||
{
|
||||
_helper = helper;
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using StardewModdingAPI;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewValley;
|
||||
using StardewValley.Menus;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UIInfoSuite.Extensions;
|
||||
|
||||
namespace UIInfoSuite.UIElements
|
||||
{
|
||||
class ShowToolUpgradeStatus : IDisposable
|
||||
{
|
||||
private readonly IModHelper _helper;
|
||||
private Rectangle _toolTexturePosition;
|
||||
private String _hoverText;
|
||||
private Tool _toolBeingUpgraded;
|
||||
|
||||
public ShowToolUpgradeStatus(IModHelper helper)
|
||||
{
|
||||
_helper = helper;
|
||||
}
|
||||
|
||||
public void ToggleOption(bool showToolUpgradeStatus)
|
||||
{
|
||||
GraphicsEvents.OnPreRenderHudEvent -= DrawToolUpgradeStatus;
|
||||
TimeEvents.AfterDayStarted -= DayChanged;
|
||||
GameEvents.OneSecondTick -= CheckForMidDayChanges;
|
||||
|
||||
if (showToolUpgradeStatus)
|
||||
{
|
||||
DayChanged(null, new EventArgsIntChanged(0, Game1.dayOfMonth));
|
||||
GraphicsEvents.OnPreRenderHudEvent += DrawToolUpgradeStatus;
|
||||
TimeEvents.AfterDayStarted += DayChanged;
|
||||
GameEvents.OneSecondTick += CheckForMidDayChanges;
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckForMidDayChanges(object sender, EventArgs e)
|
||||
{
|
||||
if (_toolBeingUpgraded != Game1.player.toolBeingUpgraded)
|
||||
DayChanged(null, null);
|
||||
}
|
||||
|
||||
private void DayChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (Game1.player.toolBeingUpgraded != null)
|
||||
{
|
||||
_toolBeingUpgraded = Game1.player.toolBeingUpgraded;
|
||||
_toolTexturePosition = new Rectangle();
|
||||
|
||||
if (_toolBeingUpgraded is StardewValley.Tools.WateringCan)
|
||||
{
|
||||
_toolTexturePosition.X = 32;
|
||||
_toolTexturePosition.Y = 228;
|
||||
_toolTexturePosition.Width = 16;
|
||||
_toolTexturePosition.Height = 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
_toolTexturePosition.Width = 16;
|
||||
_toolTexturePosition.Height = 16;
|
||||
_toolTexturePosition.X = 81;
|
||||
_toolTexturePosition.Y = 31;
|
||||
|
||||
if (!(_toolBeingUpgraded is StardewValley.Tools.Hoe))
|
||||
{
|
||||
_toolTexturePosition.Y += 64;
|
||||
|
||||
if (!(_toolBeingUpgraded is StardewValley.Tools.Pickaxe))
|
||||
{
|
||||
_toolTexturePosition.Y += 64;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_toolTexturePosition.X += (111 * _toolBeingUpgraded.UpgradeLevel);
|
||||
|
||||
if (_toolTexturePosition.X > Game1.toolSpriteSheet.Width)
|
||||
{
|
||||
_toolTexturePosition.Y += 32;
|
||||
_toolTexturePosition.X -= 333;
|
||||
}
|
||||
|
||||
if (Game1.player.daysLeftForToolUpgrade > 0)
|
||||
{
|
||||
_hoverText = String.Format(_helper.SafeGetString(LanguageKeys.DaysUntilToolIsUpgraded),
|
||||
Game1.player.daysLeftForToolUpgrade, _toolBeingUpgraded.DisplayName);
|
||||
}
|
||||
else
|
||||
{
|
||||
_hoverText = String.Format(_helper.SafeGetString(LanguageKeys.ToolIsFinishedBeingUpgraded),
|
||||
_toolBeingUpgraded.DisplayName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_toolBeingUpgraded = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void DrawToolUpgradeStatus(object sender, EventArgs e)
|
||||
{
|
||||
if (!Game1.eventUp &&
|
||||
_toolBeingUpgraded != null)
|
||||
{
|
||||
Point iconPosition = IconHandler.Handler.GetNewIconPosition();
|
||||
ClickableTextureComponent textureComponent =
|
||||
new ClickableTextureComponent(
|
||||
new Rectangle(iconPosition.X, iconPosition.Y, 40, 40),
|
||||
Game1.toolSpriteSheet,
|
||||
_toolTexturePosition,
|
||||
2.5f);
|
||||
textureComponent.draw(Game1.spriteBatch);
|
||||
|
||||
if (textureComponent.containsPoint(Game1.getMouseX(), Game1.getMouseY()))
|
||||
{
|
||||
IClickableMenu.drawHoverText(
|
||||
Game1.spriteBatch,
|
||||
_hoverText, Game1.dialogueFont);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
ToggleOption(false);
|
||||
_toolBeingUpgraded = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -59,7 +59,7 @@ namespace UIInfoSuite.UIElements
|
|||
ClickableTextureComponent textureComponent =
|
||||
new ClickableTextureComponent(
|
||||
new Rectangle(iconPosition.X, iconPosition.Y, 40, 40),
|
||||
Game1.content.Load<Texture2D>("LooseSprites\\Cursors"),
|
||||
Game1.mouseCursors,
|
||||
new Rectangle(192, 1411, 20, 20),
|
||||
2f);
|
||||
textureComponent.draw(Game1.spriteBatch);
|
||||
|
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "Du fühlst dich heute gar nicht glücklich",
|
||||
"ReadyToHarvest" : "Bereit zum Ernten!",
|
||||
"TodaysRecipe" : "Heutiges Rezept: ",
|
||||
"TravelingMerchantIsInTown" : "Reisehändler ist in der Stadt!"
|
||||
"TravelingMerchantIsInTown" : "Reisehändler ist in der Stadt!",
|
||||
"DaysUntilToolIsUpgraded" : "{0} dagen totdat {2} klaar is met upgraden",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0} is klaar!",
|
||||
"ShowLuckIcon" : "Symbol \"Glück zeigen\"",
|
||||
"ShowLevelUpAnimation" : "Zeige Level-up-Animation",
|
||||
"ShowExperienceBar" : "Erfahrungsleiste anzeigen",
|
||||
"AllowExperienceBarToFadeOut" : "Erlauben, dass die Erlebnisleiste ausgeblendet wird",
|
||||
"ShowExperienceGain" : "Zeige Erfahrungsgewinn",
|
||||
"ShowLocationOfTownsPeople" : "Stadtbewohner auf der Karte anzeigen",
|
||||
"ShowBirthdayIcon" : "Symbol \"Geburtstag anzeigen\"",
|
||||
"ShowHeartFills" : "Zeige Herzfüllungen",
|
||||
"ShowAnimalsNeedPets" : "Zeigen Sie, wenn Tiere Haustiere brauchen",
|
||||
"DisplayCalendarAndBillboard" : "Kalender / Billboard-Button anzeigen",
|
||||
"ShowCropAndBarrelTooltip" : "Ernte- und Fasszeiten anzeigen",
|
||||
"ShowItemEffectRanges" : "Show Vogelscheuche und Sprinkler-Bereich",
|
||||
"ShowExtraItemInformation" : "Element-Hover-Informationen anzeigen",
|
||||
"ShowTravelingMerchant" : "Zeige reisenden Händler",
|
||||
"ShowHarvestPricesInShop" : "Show-Ernte-Preise",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Zeige, wenn neue Rezepte verfügbar sind",
|
||||
"ShowToolUpgradeStatus" : "Toolstatus van upgrade tonen"
|
||||
}
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "You're not feeling lucky at all today...",
|
||||
"ReadyToHarvest" : "Ready To Harvest!",
|
||||
"TodaysRecipe" : "Today's Recipe: ",
|
||||
"TravelingMerchantIsInTown" : "Traveling merchant is in town!"
|
||||
"TravelingMerchantIsInTown" : "Traveling merchant is in town!",
|
||||
"DaysUntilToolIsUpgraded" : "{0} days until {1} is finished being upgraded",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0} is finished!",
|
||||
"ShowLuckIcon" : "Show luck icon",
|
||||
"ShowLevelUpAnimation" : "Show level up animation",
|
||||
"ShowExperienceBar" : "Show experience bar",
|
||||
"AllowExperienceBarToFadeOut" : "Allow experience bar to fade out",
|
||||
"ShowExperienceGain" : "Show experience gain",
|
||||
"ShowLocationOfTownsPeople" : "Show townspeople on map",
|
||||
"ShowBirthdayIcon" : "Show Birthday icon",
|
||||
"ShowHeartFills" : "Show heart fills",
|
||||
"ShowAnimalsNeedPets" : "Show when animals need pets",
|
||||
"DisplayCalendarAndBillboard" : "Show calendar/billboard button",
|
||||
"ShowCropAndBarrelTooltip" : "Show crop and barrel times",
|
||||
"ShowItemEffectRanges" : "Show scarecrow and sprinkler range",
|
||||
"ShowExtraItemInformation" : "Show item hover information",
|
||||
"ShowTravelingMerchant" : "Show Traveling Merchant",
|
||||
"ShowHarvestPricesInShop" : "Show shop harvest prices",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Show when new recipes are available",
|
||||
"ShowToolUpgradeStatus" : "Show tool upgrade status"
|
||||
}
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "No te sientes afortunado en absoluto hoy ...",
|
||||
"ReadyToHarvest" : "¡Listo para cosechar!",
|
||||
"TodaysRecipe" : "Receta de hoy: ",
|
||||
"TravelingMerchantIsInTown" : "¡El comerciante que viaja está en ciudad!"
|
||||
"TravelingMerchantIsInTown" : "¡El comerciante que viaja está en ciudad!",
|
||||
"DaysUntilToolIsUpgraded" : "{0} días hasta que {1} termine de actualizarse",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0} está terminada!",
|
||||
"ShowLuckIcon" : "Mostrar ícono de suerte",
|
||||
"ShowLevelUpAnimation" : "Mostrar animación de nivel superior",
|
||||
"ShowExperienceBar" : "Mostrar barra de experiencia",
|
||||
"AllowExperienceBarToFadeOut" : "Permitir que la barra de experiencia se desvanezca",
|
||||
"ShowExperienceGain" : "Mostrar ganancia de experiencia",
|
||||
"ShowLocationOfTownsPeople" : "Mostrar a la gente del pueblo en el mapa",
|
||||
"ShowBirthdayIcon" : "Mostrar icono de cumpleaños",
|
||||
"ShowHeartFills" : "Mostrar rellenos de corazón",
|
||||
"ShowAnimalsNeedPets" : "Muestra cuando los animales necesitan mascotas",
|
||||
"DisplayCalendarAndBillboard" : "Mostrar el botón de calendario / cartelera",
|
||||
"ShowCropAndBarrelTooltip" : "Mostrar los tiempos de cosecha y barril",
|
||||
"ShowItemEffectRanges" : "Mostrar rango de espantapájaros y de riego",
|
||||
"ShowExtraItemInformation" : "Mostrar información de elemento emergente",
|
||||
"ShowTravelingMerchant" : "Mostrar comerciante itinerante",
|
||||
"ShowHarvestPricesInShop" : "Mostrar los precios de cosecha de la tienda",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Mostrar cuando hay nuevas recetas disponibles",
|
||||
"ShowToolUpgradeStatus" : "Mostrar el estado de actualización de la herramienta"
|
||||
}
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "あなたは今日も幸運を感じていません...",
|
||||
"ReadyToHarvest" : "収穫準備!",
|
||||
"TodaysRecipe" : "今日のレシピ: ",
|
||||
"TravelingMerchantIsInTown" : "旅行中の商人が町にいる!"
|
||||
"TravelingMerchantIsInTown" : "旅行中の商人が町にいる!",
|
||||
"DaysUntilToolIsUpgraded" : "{1}日が終わるまで{0}日間",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0}が終わった!",
|
||||
"ShowLuckIcon" : "幸運アイコンを表示する",
|
||||
"ShowLevelUpAnimation" : "レベルアップアニメーションを表示する",
|
||||
"ShowExperienceBar" : "エクスペリエンスバーを表示",
|
||||
"AllowExperienceBarToFadeOut" : "エクスペリエンスバーをフェードアウトさせる",
|
||||
"ShowExperienceGain" : "経験値を表示",
|
||||
"ShowLocationOfTownsPeople" : "町の人々を地図に表示する",
|
||||
"ShowBirthdayIcon" : "誕生日を表示アイコン",
|
||||
"ShowHeartFills" : "ハートフィルを表示する",
|
||||
"ShowAnimalsNeedPets" : "動物がペットを必要とするときを表示する",
|
||||
"DisplayCalendarAndBillboard" : "カレンダー/掲示板ボタンを表示する",
|
||||
"ShowCropAndBarrelTooltip" : "作物と樽の時間を表示する",
|
||||
"ShowItemEffectRanges" : "かかしとスプリンクラーの範囲を表示する",
|
||||
"ShowExtraItemInformation" : "アイテムのホバー情報を表示する",
|
||||
"ShowTravelingMerchant" : "旅行中の商人を表示する",
|
||||
"ShowHarvestPricesInShop" : "店舗収穫価格を表示する",
|
||||
"ShowWhenNewRecipesAreAvailable" : "新しいレシピが利用可能になったら表示する",
|
||||
"ShowToolUpgradeStatus" : "ツールのアップグレードステータスを表示する"
|
||||
}
|
|
@ -3,15 +3,34 @@
|
|||
"Calendar" : "Calendário",
|
||||
"Days" : "dias",
|
||||
"DaysToMature" : "dias para amadurecer",
|
||||
"FeelingLucky" : "Você está sentindo 'sorte!",
|
||||
"FeelingLucky" : "Você está sentindo com muita sorte!",
|
||||
"HarvestPrice" : "Preço de colheita",
|
||||
"Hours" : "horas",
|
||||
"LevelUp" : "Upar",
|
||||
"LuckyButNotTooLucky" : "Sentimento de sorte ... mas não muito sorte",
|
||||
"LevelUp" : "Upou",
|
||||
"LuckyButNotTooLucky" : "Sentindo-se com sorte ... mas não muita",
|
||||
"MaybeStayHome" : "Talvez você deva ficar em casa hoje ...",
|
||||
"Minutes" : "minutos",
|
||||
"NotFeelingLuckyAtAll" : "Você não está se sentindo sortudo de todo hoje ...",
|
||||
"ReadyToHarvest" : "Apronte para colher!",
|
||||
"NotFeelingLuckyAtAll" : "Você não está se sentindo sortudo hoje ...",
|
||||
"ReadyToHarvest" : "pronto para colher!",
|
||||
"TodaysRecipe" : "Receita de hoje: ",
|
||||
"TravelingMerchantIsInTown" : "Comerciante ambulante está na cidade!"
|
||||
"TravelingMerchantIsInTown" : "O camelô está na cidade!",
|
||||
"DaysUntilToolIsUpgraded" : "{0} dias até {1} terminarem sendo atualizados",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0} está terminado!",
|
||||
"ShowLuckIcon" : "Mostrar ícone de sorte",
|
||||
"ShowLevelUpAnimation" : "Mostrar animação de nível superior",
|
||||
"ShowExperienceBar" : "Mostrar barra de experiência",
|
||||
"AllowExperienceBarToFadeOut" : "Permitir barra de experiência desaparecer",
|
||||
"ShowExperienceGain" : "Mostrar o ganho de experiência",
|
||||
"ShowLocationOfTownsPeople" : "Mostrar pessoas da cidade no mapa",
|
||||
"ShowBirthdayIcon" : "Exibir ícone de aniversário",
|
||||
"ShowHeartFills" : "Mostrar preenchimentos cardíacos",
|
||||
"ShowAnimalsNeedPets" : "Mostre quando os animais precisam de animais de estimação",
|
||||
"DisplayCalendarAndBillboard" : "Mostrar o calendário / botão do quadro de avisos",
|
||||
"ShowCropAndBarrelTooltip" : "Mostrar tempos de colheita e barril",
|
||||
"ShowItemEffectRanges" : "Mostrar espantalho e intervalo de sprinklers",
|
||||
"ShowExtraItemInformation" : "Mostrar informações do hover do item",
|
||||
"ShowTravelingMerchant" : "Show Travelling Merchant",
|
||||
"ShowHarvestPricesInShop" : "Mostrar preços de colheita da loja",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Mostrar quando novas receitas estão disponíveis",
|
||||
"ShowToolUpgradeStatus" : "Mostrar status da atualização da ferramenta"
|
||||
}
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "Сегодня вам совсем не везет ...",
|
||||
"ReadyToHarvest" : "Готовы к сбору урожая!",
|
||||
"TodaysRecipe" : "Сегодняшний рецепт: ",
|
||||
"TravelingMerchantIsInTown" : "Путешественник в городе!"
|
||||
"TravelingMerchantIsInTown" : "Путешественник в городе!",
|
||||
"DaysUntilToolIsUpgraded" : "{0} дня, пока {1} не будет обновлено",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0} завершено!",
|
||||
"ShowLuckIcon" : "Показать значок удачи",
|
||||
"ShowLevelUpAnimation" : "Показывать анимацию уровня",
|
||||
"ShowExperienceBar" : "Показать панель опыта",
|
||||
"AllowExperienceBarToFadeOut" : "Позвонить в панель эффектов",
|
||||
"ShowExperienceGain" : "Показать опыт",
|
||||
"ShowLocationOfTownsPeople" : "Показать горожан на карте",
|
||||
"ShowBirthdayIcon" : "Показать значок дня рождения",
|
||||
"ShowHeartFills" : "Показать сердце заполняет",
|
||||
"ShowAnimalsNeedPets" : "Показать, когда животные нуждаются в домашних животных",
|
||||
"DisplayCalendarAndBillboard" : "Показать кнопку календаря / рекламного щита",
|
||||
"ShowCropAndBarrelTooltip" : "Показывать время урожая и ствола",
|
||||
"ShowItemEffectRanges" : "Показать пугало и спринклеры",
|
||||
"ShowExtraItemInformation" : "Показывать информацию о паре",
|
||||
"ShowTravelingMerchant" : "Показать Путешествующий Торговец",
|
||||
"ShowHarvestPricesInShop" : "Показывать цены на урожай",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Показывать, когда доступны новые рецепты",
|
||||
"ShowToolUpgradeStatus" : "Показать статус обновления инструмента"
|
||||
}
|
|
@ -13,5 +13,21 @@
|
|||
"NotFeelingLuckyAtAll" : "วันนี้คุณไม่รู้สึกโชคดีเลย",
|
||||
"ReadyToHarvest" : "พร้อมที่จะเก็บเกี่ยว!",
|
||||
"TodaysRecipe" : "สูตรวันนี้: ",
|
||||
"TravelingMerchantIsInTown" : "พ่อค้าเดินทางอยู่ในเมือง!"
|
||||
"TravelingMerchantIsInTown" : "พ่อค้าเดินทางอยู่ในเมือง!",
|
||||
"ShowLuckIcon" : "Show luck icon",
|
||||
"ShowLevelUpAnimation" : "Show level up animation",
|
||||
"ShowExperienceBar" : "Show experience bar",
|
||||
"AllowExperienceBarToFadeOut" : "Allow experience bar to fade out",
|
||||
"ShowExperienceGain" : "Show experience gain",
|
||||
"ShowLocationOfTownsPeople" : "Show townspeople on map",
|
||||
"ShowBirthdayIcon" : "Show Birthday icon",
|
||||
"ShowHeartFills" : "Show heart fills",
|
||||
"ShowAnimalsNeedPets" : "Show when animals need pets",
|
||||
"DisplayCalendarAndBillboard" : "Show calendar/billboard button",
|
||||
"ShowCropAndBarrelTooltip" : "Show crop and barrel times",
|
||||
"ShowItemEffectRanges" : "Show scarecrow and sprinkler range",
|
||||
"ShowExtraItemInformation" : "Show item hover information",
|
||||
"ShowTravelingMerchant" : "Show Traveling Merchant",
|
||||
"ShowHarvestPricesInShop" : "Show shop harvest prices",
|
||||
"ShowWhenNewRecipesAreAvailable" : "Show when new recipes are available"
|
||||
}
|
|
@ -13,5 +13,24 @@
|
|||
"NotFeelingLuckyAtAll" : "你一点都不觉得今天幸运",
|
||||
"ReadyToHarvest" : "可以收获!",
|
||||
"TodaysRecipe" : "今日食谱:",
|
||||
"TravelingMerchantIsInTown" : "旅行商人在镇上!"
|
||||
"TravelingMerchantIsInTown" : "旅行商人在镇上!",
|
||||
"DaysUntilToolIsUpgraded" : "{0}天,直到{1}完成升级",
|
||||
"ToolIsFinishedBeingUpgraded" : "{0}完成!",
|
||||
"ShowLuckIcon" : "顯示運氣圖標",
|
||||
"ShowLevelUpAnimation" : "顯示關卡動畫",
|
||||
"ShowExperienceBar" : "顯示體驗吧",
|
||||
"AllowExperienceBarToFadeOut" : "允許經驗欄淡出",
|
||||
"ShowExperienceGain" : "顯示經驗收益",
|
||||
"ShowLocationOfTownsPeople" : "在地圖上顯示鄉民",
|
||||
"ShowBirthdayIcon" : "顯示生日圖標",
|
||||
"ShowHeartFills" : "顯示心臟填充",
|
||||
"ShowAnimalsNeedPets" : "當動物需要寵物時顯示",
|
||||
"DisplayCalendarAndBillboard" : "顯示日曆/廣告牌按鈕",
|
||||
"ShowCropAndBarrelTooltip" : "顯示作物和桶的時間",
|
||||
"ShowItemEffectRanges" : "顯示稻草人和噴水滅火器的範圍",
|
||||
"ShowExtraItemInformation" : "顯示項目懸停信息",
|
||||
"ShowTravelingMerchant" : "顯示旅行商人",
|
||||
"ShowHarvestPricesInShop" : "顯示店鋪收穫價格",
|
||||
"ShowWhenNewRecipesAreAvailable" : "顯示新的食譜可用",
|
||||
"ShowToolUpgradeStatus" : "显示工具升级状态"
|
||||
}
|
|
@ -3,11 +3,13 @@
|
|||
"Author": "Cdaragorn",
|
||||
"Version": {
|
||||
"MajorVersion": 1,
|
||||
"MinorVersion": 2,
|
||||
"PatchVersion": 8,
|
||||
"MinorVersion": 6,
|
||||
"PatchVersion": 0,
|
||||
"Build": null
|
||||
},
|
||||
"Description": "Adds a lot of useful information to the user interface. This is based on Demiacle's excellent UIModSuite.",
|
||||
"UniqueID": "Cdaragorn.UiInfoSuite",
|
||||
"EntryDll": "UIInfoSuite.dll"
|
||||
"EntryDll": "UIInfoSuite.dll",
|
||||
"MinimumApiVersion" : "2.1",
|
||||
"UpdateKeys": [ "Nexus:1150" ]
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Pathoschild.Stardew.ModBuildConfig" version="1.6.2" targetFramework="net452" />
|
||||
<package id="Pathoschild.Stardew.ModBuildConfig" version="2.0.0" targetFramework="net452" />
|
||||
</packages>
|
Loading…
Reference in New Issue