Updated BuyBackCollectables to 1.1 and fixed some glitches with it! =D

This commit is contained in:
Joshua Navarro 2016-10-12 23:28:13 -07:00
parent 3e4e68f40c
commit e8147a7b5b
27 changed files with 14685 additions and 13933 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

212
.gitignore vendored Normal file
View File

@ -0,0 +1,212 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# Visual Studio 2015 cache/options directory
.vs/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
## TODO: Comment the next line if you want to checkin your
## web deploy settings but do note that will include unencrypted
## passwords
#*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

View File

@ -1,70 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A19025C4-E194-4CAD-B156-4AC00BDD2AA3}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BuyBackCollectables</RootNamespace>
<AssemblyName>BuyBackCollectables</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll</HintPath>
</Reference>
<Reference Include="Stardew Valley">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
</Reference>
<Reference Include="StardewModdingAPI">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="xTile">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\xTile.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Collections_Buy_Back.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A19025C4-E194-4CAD-B156-4AC00BDD2AA3}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BuyBackCollectables</RootNamespace>
<AssemblyName>BuyBackCollectables</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll</HintPath>
</Reference>
<Reference Include="Stardew Valley">
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
</Reference>
<Reference Include="StardewModdingAPI, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="xTile">
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\xTile.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Collections_Buy_Back.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UpdatedCollections.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -1,100 +1,100 @@
using System;
using StardewValley;
using StardewModdingAPI;
using System.IO;
using StardewValley.Menus;
namespace Buy_Back_Collectables
{
public class Class1 : Mod
{
string key_binding = "B";
public static double cost = 3.0;
bool game_loaded = false;
public override void Entry(params object[] objects)
{
//set up all of my events here
StardewModdingAPI.Events.PlayerEvents.LoadedGame += PlayerEvents_LoadedGame;
StardewModdingAPI.Events.ControlEvents.KeyPressed += ControlEvents_KeyPressed;
}
public void ControlEvents_KeyPressed(object sender, StardewModdingAPI.Events.EventArgsKeyPressed e)
{
if (Game1.player == null) return;
if (Game1.player.currentLocation == null) return;
if (game_loaded == false) return;
if (e.KeyPressed.ToString() == key_binding) //if the key is pressed, load my cusom save function
{
if (Game1.activeClickableMenu != null) return;
else
{
Game1.activeClickableMenu = new Collections_Buy_Back(Game1.viewport.Width / 2 - (800 + IClickableMenu.borderWidth * 2) / 2, Game1.viewport.Height / 2 - (600 + IClickableMenu.borderWidth * 2) / 2, 800 + IClickableMenu.borderWidth * 2, 600 + IClickableMenu.borderWidth * 2);
}
}
}
public void PlayerEvents_LoadedGame(object sender, StardewModdingAPI.Events.EventArgsLoadedGameChanged e)
{
game_loaded = true;
DataLoader_Settings();
MyWritter_Settings();
}
void DataLoader_Settings()
{
//loads the data to the variables upon loading the game.
string myname = StardewValley.Game1.player.name;
string mylocation = Path.Combine(PathOnDisk, "BuyBack_Config");
string mylocation2 = mylocation;
string mylocation3 = mylocation2 + ".txt";
if (!File.Exists(mylocation3)) //if not data.json exists, initialize the data variables to the ModConfig data. I.E. starting out.
{
key_binding = "B";
cost = 3.0;
}
else
{
string[] readtext = File.ReadAllLines(mylocation3);
key_binding = Convert.ToString(readtext[3]);
cost = Convert.ToDouble(readtext[5]);
}
}
void MyWritter_Settings()
{
//write all of my info to a text file.
string myname = StardewValley.Game1.player.name;
string mylocation = Path.Combine(PathOnDisk, "BuyBack_Config");
string mylocation2 = mylocation;
string mylocation3 = mylocation2 + ".txt";
string[] mystring3 = new string[20];
if (!File.Exists(mylocation3))
{
Log.Info("BuyBack Collections: Config not found. Creating it now.");
mystring3[0] = "Config: Buy Back Collections. Feel free to mess with these settings.";
mystring3[1] = "====================================================================================";
mystring3[2] = "Key binding";
mystring3[3] = key_binding.ToString();
mystring3[4] = "Collectables Multiplier Cost: Sell Value * value listed below";
mystring3[5] = cost.ToString();
File.WriteAllLines(mylocation3, mystring3);
}
else
{
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
mystring3[0] = "Config: Buy Back Collections. Feel free to mess with these settings.";
mystring3[1] = "====================================================================================";
mystring3[2] = "Key binding";
mystring3[3] = key_binding.ToString();
mystring3[4] = "Collectables Multiplier Cost: Sell Value * value listed below";
mystring3[5] = cost.ToString();
File.WriteAllLines(mylocation3, mystring3);
}
}
}
}
using System;
using StardewValley;
using StardewModdingAPI;
using System.IO;
using StardewValley.Menus;
namespace Buy_Back_Collectables
{
public class Class1 : Mod
{
string key_binding = "B";
public static double cost = 3.0;
bool game_loaded = false;
public override void Entry(params object[] objects)
{
//set up all of my events here
StardewModdingAPI.Events.PlayerEvents.LoadedGame += PlayerEvents_LoadedGame;
StardewModdingAPI.Events.ControlEvents.KeyPressed += ControlEvents_KeyPressed;
}
public void ControlEvents_KeyPressed(object sender, StardewModdingAPI.Events.EventArgsKeyPressed e)
{
if (Game1.player == null) return;
if (Game1.player.currentLocation == null) return;
if (game_loaded == false) return;
if (e.KeyPressed.ToString() == key_binding) //if the key is pressed, load my cusom save function
{
if (Game1.activeClickableMenu != null) return;
else
{
Game1.activeClickableMenu = new StardewValley.Menus.UpdatedCollectionsPage(Game1.viewport.Width / 2 - (800 + IClickableMenu.borderWidth * 2) / 2, Game1.viewport.Height / 2 - (600 + IClickableMenu.borderWidth * 2) / 2, 800 + IClickableMenu.borderWidth * 2, 600 + IClickableMenu.borderWidth * 2);
}
}
}
public void PlayerEvents_LoadedGame(object sender, StardewModdingAPI.Events.EventArgsLoadedGameChanged e)
{
game_loaded = true;
DataLoader_Settings();
MyWritter_Settings();
}
void DataLoader_Settings()
{
//loads the data to the variables upon loading the game.
string myname = StardewValley.Game1.player.name;
string mylocation = Path.Combine(PathOnDisk, "BuyBack_Config");
string mylocation2 = mylocation;
string mylocation3 = mylocation2 + ".txt";
if (!File.Exists(mylocation3)) //if not data.json exists, initialize the data variables to the ModConfig data. I.E. starting out.
{
key_binding = "B";
cost = 3.0;
}
else
{
string[] readtext = File.ReadAllLines(mylocation3);
key_binding = Convert.ToString(readtext[3]);
cost = Convert.ToDouble(readtext[5]);
}
}
void MyWritter_Settings()
{
//write all of my info to a text file.
string myname = StardewValley.Game1.player.name;
string mylocation = Path.Combine(PathOnDisk, "BuyBack_Config");
string mylocation2 = mylocation;
string mylocation3 = mylocation2 + ".txt";
string[] mystring3 = new string[20];
if (!File.Exists(mylocation3))
{
Log.Info("BuyBack Collections: Config not found. Creating it now.");
mystring3[0] = "Config: Buy Back Collections. Feel free to mess with these settings.";
mystring3[1] = "====================================================================================";
mystring3[2] = "Key binding";
mystring3[3] = key_binding.ToString();
mystring3[4] = "Collectables Multiplier Cost: Sell Value * value listed below";
mystring3[5] = cost.ToString();
File.WriteAllLines(mylocation3, mystring3);
}
else
{
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
mystring3[0] = "Config: Buy Back Collections. Feel free to mess with these settings.";
mystring3[1] = "====================================================================================";
mystring3[2] = "Key binding";
mystring3[3] = key_binding.ToString();
mystring3[4] = "Collectables Multiplier Cost: Sell Value * value listed below";
mystring3[5] = cost.ToString();
File.WriteAllLines(mylocation3, mystring3);
}
}
}
}
//end class

View File

@ -1,417 +1,441 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using StardewModdingAPI;
namespace StardewValley.Menus
{
public class Collections_Buy_Back : IClickableMenu
{
public const int organicsTab = 0;
public const int fishTab = 1;
public const int archaeologyTab = 2;
public const int mineralsTab = 3;
public const int cookingTab = 4;
public const int achievementsTab = 5;
public const int distanceFromMenuBottomBeforeNewPage = 128;
public static int widthToMoveActiveTab = Game1.tileSize / 8;
public string descriptionText = "";
public string hoverText = "";
public ClickableTextureComponent backButton;
public ClickableTextureComponent forwardButton;
public List<ClickableTextureComponent> sideTabs = new List<ClickableTextureComponent>();
public int currentTab;
public int currentPage;
public Dictionary<int, List<List<ClickableTextureComponent>>> collections = new Dictionary<int, List<List<ClickableTextureComponent>>>();
public int value;
public Item new_item;
public Collections_Buy_Back(int x, int y, int width, int height) : base(x, y, width, height, false)
{
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4 + CollectionsPage.widthToMoveActiveTab, this.yPositionOnScreen + Game1.tileSize * 2, Game1.tileSize, Game1.tileSize), "", "Items Shipped (Farm & Forage)", Game1.mouseCursors, new Rectangle(640, 80, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(0, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 3, Game1.tileSize, Game1.tileSize), "", "Fish", Game1.mouseCursors, new Rectangle(640, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(1, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 4, Game1.tileSize, Game1.tileSize), "", "Artifacts", Game1.mouseCursors, new Rectangle(656, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(2, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 5, Game1.tileSize, Game1.tileSize), "", "Minerals", Game1.mouseCursors, new Rectangle(672, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(3, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 6, Game1.tileSize, Game1.tileSize), "", "Cooking", Game1.mouseCursors, new Rectangle(688, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(4, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 7, Game1.tileSize, Game1.tileSize), "", "Achievements", Game1.mouseCursors, new Rectangle(656, 80, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(5, new List<List<ClickableTextureComponent>>());
Collections_Buy_Back.widthToMoveActiveTab = Game1.tileSize / 8;
this.backButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + Game1.tileSize * 3 / 4, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), "", "", Game1.mouseCursors, new Rectangle(352, 495, 12, 11), (float)Game1.pixelZoom, false, false);
this.forwardButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + width - Game1.tileSize / 2 - 15 * Game1.pixelZoom, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), "", "", Game1.mouseCursors, new Rectangle(365, 495, 12, 11), (float)Game1.pixelZoom, false, false);
int[] array = new int[this.sideTabs.Count<ClickableTextureComponent>()];
int num = this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearSideBorder;
int num2 = this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder - Game1.tileSize / 4;
int num3 = 10;
foreach (KeyValuePair<int, string> current in Game1.objectInformation)
{
string text = current.Value.Split(new char[]
{
'/'
})[3];
bool flag = false;
int num4;
if (text.Contains("Arch"))
{
num4 = 2;
if (Game1.player.archaeologyFound.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Fish"))
{
if (current.Key >= 167 && current.Key < 173)
{
continue;
}
num4 = 1;
if (Game1.player.fishCaught.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Mineral") || text.Substring(text.Count<char>() - 3).Equals("-2"))
{
num4 = 3;
if (Game1.player.mineralsFound.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Cooking") || text.Substring(text.Count<char>() - 3).Equals("-7"))
{
num4 = 4;
if (Game1.player.recipesCooked.ContainsKey(current.Key))
{
flag = true;
}
if (current.Key == 217 || current.Key == 772)
{
continue;
}
if (current.Key == 773)
{
continue;
}
}
else
{
if (!StardewValley.Object.isPotentialBasicShippedCategory(current.Key, text.Substring(text.Count<char>() - 3)))
{
continue;
}
num4 = 0;
if (Game1.player.basicShipped.ContainsKey(current.Key))
{
flag = true;
}
}
int x2 = num + array[num4] % num3 * (Game1.tileSize + 4);
int num5 = num2 + array[num4] / num3 * (Game1.tileSize + 4);
if (num5 > this.yPositionOnScreen + height - 128)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
array[num4] = 0;
x2 = num;
num5 = num2;
}
if (this.collections[num4].Count<List<ClickableTextureComponent>>() == 0)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
}
this.collections[num4].Last<List<ClickableTextureComponent>>().Add(new ClickableTextureComponent(new Rectangle(x2, num5, Game1.tileSize, Game1.tileSize), current.Key + " " + flag, "", Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, current.Key, 16, 16), (float)Game1.pixelZoom, false, flag));
array[num4]++;
}
if (this.collections[5].Count<List<ClickableTextureComponent>>() == 0)
{
this.collections[5].Add(new List<ClickableTextureComponent>());
}
foreach (KeyValuePair<int, string> current2 in Game1.achievements)
{
bool flag2 = Game1.player.achievements.Contains(current2.Key);
string[] array2 = current2.Value.Split(new char[]
{
'^'
});
if (flag2 || (array2[2].Equals("true") && (array2[3].Equals("-1") || this.farmerHasAchievements(array2[3]))))
{
int x3 = num + array[5] % num3 * (Game1.tileSize + 4);
int y2 = num2 + array[5] / num3 * (Game1.tileSize + 4);
this.collections[5][0].Add(new ClickableTextureComponent(new Rectangle(x3, y2, Game1.tileSize, Game1.tileSize), current2.Key + " " + flag2, "", Game1.mouseCursors, Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 25, -1, -1), 1f, false, false));
array[5]++;
}
}
}
public virtual bool farmerHasAchievements(string listOfAchievementNumbers)
{
string[] array = listOfAchievementNumbers.Split(new char[]
{
' '
});
string[] array2 = array;
for (int i = 0; i < array2.Length; i++)
{
string text = array2[i];
if (!Game1.player.achievements.Contains(Convert.ToInt32(text)))
{
return false;
}
}
return true;
}
public override void receiveLeftClick(int x, int y, bool playSound = true)
{
for (int i = 0; i < this.sideTabs.Count; i++)
{
if (this.sideTabs[i].containsPoint(x, y) && this.currentTab != i)
{
Game1.playSound("smallSelect");
ClickableTextureComponent expr_45_cp_0 = this.sideTabs[this.currentTab];
expr_45_cp_0.bounds.X = expr_45_cp_0.bounds.X - CollectionsPage.widthToMoveActiveTab;
this.currentTab = i;
this.currentPage = 0;
ClickableTextureComponent expr_75_cp_0 = this.sideTabs[i];
expr_75_cp_0.bounds.X = expr_75_cp_0.bounds.X + CollectionsPage.widthToMoveActiveTab;
}
}
if (this.currentPage > 0 && this.backButton.containsPoint(x, y))
{
this.currentPage--;
Game1.playSound("shwip");
this.backButton.scale = this.backButton.baseScale;
this.new_item = null;
}
if (this.currentPage < this.collections[this.currentTab].Count<List<ClickableTextureComponent>>() - 1 && this.forwardButton.containsPoint(x, y))
{
this.currentPage++;
Game1.playSound("shwip");
this.forwardButton.scale = this.forwardButton.baseScale;
this.new_item = null;
}
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
if (new_item != null)
{
if (Game1.player.money > new_item.salePrice() * Buy_Back_Collectables.Class1.cost)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
}
}
public override void receiveRightClick(int x, int y, bool playSound = true)
{
if (new_item != null)
{
if (Game1.player.money > new_item.salePrice() * Buy_Back_Collectables.Class1.cost)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
public override void performHoverAction(int x, int y)
{
this.descriptionText = "";
this.hoverText = "";
this.value = -1;
foreach (ClickableTextureComponent current in this.sideTabs)
{
if (current.containsPoint(x, y))
{
this.hoverText = current.hoverText;
return;
}
}
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
current2.scale = Math.Min(current2.scale + 0.02f, current2.baseScale + 0.1f);
if (Convert.ToBoolean(current2.name.Split(new char[]
{
' '
})[1]) || this.currentTab == 5)
{
this.hoverText = this.createDescription(Convert.ToInt32(current2.name.Split(new char[]
{
' '
})[0]));
}
else
{
this.hoverText = "???";
this.new_item = null;
}
}
else
{
current2.scale = Math.Max(current2.scale - 0.02f, current2.baseScale);
}
}
this.forwardButton.tryHover(x, y, 0.5f);
this.backButton.tryHover(x, y, 0.5f);
}
public virtual string createDescription(int index)
{
string text = "";
if (this.currentTab == 5)
{
string[] array = Game1.achievements[index].Split(new char[]
{
'^'
});
text = text + array[0] + Environment.NewLine + Environment.NewLine;
text += array[1];
new_item = null;
}
else
{
string[] array2 = Game1.objectInformation[index].Split(new char[]
{
'/'
});
string text2 = text;
foreach(KeyValuePair<int, string> meh in Game1.objectInformation)
{
string[] array3 = meh.Value.Split(new char[]
{
'/'
});
if (array3[0] == array2[0])
{
new_item = (Item)new Object(Convert.ToInt32(meh.Key), 1, false, -1, 0);
if (new_item.Name == "Stone" || new_item.Name=="stone") new_item = (Item)new Object(390, 1, false, -1, 0);
}
}
text = string.Concat(new string[]
{
text2,
array2[0],
Environment.NewLine,
Environment.NewLine,
Game1.parseText(array2[4], Game1.smallFont, Game1.tileSize * 4),
Environment.NewLine,
Environment.NewLine
});
if (array2[3].Contains("Arch"))
{
text += (Game1.player.archaeologyFound.ContainsKey(index) ? ("Total Found: " + Game1.player.archaeologyFound[index][0]) : "");
}
else if (array2[3].Contains("Cooking"))
{
text += (Game1.player.recipesCooked.ContainsKey(index) ? ("Times Cooked: " + Game1.player.recipesCooked[index]) : "");
}
else if (array2[3].Contains("Fish"))
{
text = text + "Number Caught: " + (Game1.player.fishCaught.ContainsKey(index) ? Game1.player.fishCaught[index][0] : 0);
if (Game1.player.fishCaught.ContainsKey(index) && Game1.player.fishCaught[index][1] > 0)
{
object obj = text;
text = string.Concat(new object[]
{
obj,
Environment.NewLine,
"Biggest Catch: ",
Game1.player.fishCaught[index][1],
" in."
});
}
}
else if (array2[3].Contains("Minerals") || array2[3].Substring(array2[3].Count<char>() - 3).Equals("-2"))
{
text = text + "Number Found: " + (Game1.player.mineralsFound.ContainsKey(index) ? Game1.player.mineralsFound[index] : 0);
}
else
{
text = text + "Number Shipped: " + (Game1.player.basicShipped.ContainsKey(index) ? Game1.player.basicShipped[index] : 0);
}
this.value = Convert.ToInt32(array2[1]);
this.value =(int)(this.value * Buy_Back_Collectables.Class1.cost);
}
return text;
}
public override void draw(SpriteBatch b)
{
foreach (ClickableTextureComponent current in this.sideTabs)
{
current.draw(b);
}
if (this.currentPage > 0)
{
this.backButton.draw(b);
}
if (this.currentPage < this.collections[this.currentTab].Count<List<ClickableTextureComponent>>() - 1)
{
this.forwardButton.draw(b);
}
b.End();
b.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null);
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
bool flag = Convert.ToBoolean(current2.name.Split(new char[]
{
' '
})[1]);
current2.draw(b, flag ? Color.White : (Color.Black * 0.2f), 0.86f);
if (this.currentTab == 5 && flag)
{
int num = new Random(Convert.ToInt32(current2.name.Split(new char[]
{
' '
})[0])).Next(12);
b.Draw(Game1.mouseCursors, new Vector2((float)(current2.bounds.X + 16 + Game1.tileSize / 4), (float)(current2.bounds.Y + 20 + Game1.tileSize / 4)), new Rectangle?(new Rectangle(256 + num % 6 * Game1.tileSize / 2, 128 + num / 6 * Game1.tileSize / 2, Game1.tileSize / 2, Game1.tileSize / 2)), Color.White, 0f, new Vector2((float)(Game1.tileSize / 4), (float)(Game1.tileSize / 4)), current2.scale, SpriteEffects.None, 0.88f);
}
}
b.End();
b.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null);
if (!this.hoverText.Equals(""))
{
IClickableMenu.drawHoverText(b, this.hoverText, Game1.smallFont, 0, 0, this.value, null, -1, null, null, 0, -1, -1, -1, -1, 1f, null);
}
b.Draw(Game1.mouseCursors, new Vector2((float)Game1.getOldMouseX(), (float)Game1.getOldMouseY()), new Rectangle?(Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, Game1.options.gamepadControls ? 44 : 0, 16, 16)), Color.White, 0f, Vector2.Zero, (float)Game1.pixelZoom + Game1.dialogueButtonScale / 150f, SpriteEffects.None, 1f);
}
}
}
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using StardewModdingAPI;
namespace StardewValley.Menus
{
public class Collections_Buy_Back : IClickableMenu
{
public const int organicsTab = 0;
public const int fishTab = 1;
public const int archaeologyTab = 2;
public const int mineralsTab = 3;
public const int cookingTab = 4;
public const int achievementsTab = 5;
public const int distanceFromMenuBottomBeforeNewPage = 128;
public static int widthToMoveActiveTab = Game1.tileSize / 8;
public string descriptionText = "";
public string hoverText = "";
public ClickableTextureComponent backButton;
public ClickableTextureComponent forwardButton;
public List<ClickableTextureComponent> sideTabs = new List<ClickableTextureComponent>();
public int currentTab;
public int currentPage;
public Dictionary<int, List<List<ClickableTextureComponent>>> collections = new Dictionary<int, List<List<ClickableTextureComponent>>>();
public int value;
public Item new_item;
public Collections_Buy_Back(int x, int y, int width, int height) : base(x, y, width, height, false)
{
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4 + CollectionsPage.widthToMoveActiveTab, this.yPositionOnScreen + Game1.tileSize * 2, Game1.tileSize, Game1.tileSize), "", "Items Shipped (Farm & Forage)", Game1.mouseCursors, new Rectangle(640, 80, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(0, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 3, Game1.tileSize, Game1.tileSize), "", "Fish", Game1.mouseCursors, new Rectangle(640, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(1, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 4, Game1.tileSize, Game1.tileSize), "", "Artifacts", Game1.mouseCursors, new Rectangle(656, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(2, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 5, Game1.tileSize, Game1.tileSize), "", "Minerals", Game1.mouseCursors, new Rectangle(672, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(3, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 6, Game1.tileSize, Game1.tileSize), "", "Cooking", Game1.mouseCursors, new Rectangle(688, 64, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(4, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 7, Game1.tileSize, Game1.tileSize), "", "Achievements", Game1.mouseCursors, new Rectangle(656, 80, 16, 16), (float)Game1.pixelZoom));
this.collections.Add(5, new List<List<ClickableTextureComponent>>());
Collections_Buy_Back.widthToMoveActiveTab = Game1.tileSize / 8;
this.backButton = new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen + Game1.tileSize * 3 / 4, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), "", "", Game1.mouseCursors, new Rectangle(352, 495, 12, 11), (float)Game1.pixelZoom, false);
this.forwardButton = new ClickableTextureComponent("",new Rectangle(this.xPositionOnScreen + width - Game1.tileSize / 2 - 15 * Game1.pixelZoom, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), "", "", Game1.mouseCursors, new Rectangle(365, 495, 12, 11), (float)Game1.pixelZoom, false);
int[] array = new int[this.sideTabs.Count<ClickableTextureComponent>()];
int num = this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearSideBorder;
int num2 = this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder - Game1.tileSize / 4;
int num3 = 10;
foreach (KeyValuePair<int, string> current in Game1.objectInformation)
{
string text = current.Value.Split(new char[]
{
'/'
})[3];
bool flag = false;
int num4;
if (text.Contains("Arch"))
{
num4 = 2;
if (Game1.player.archaeologyFound.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Fish"))
{
if (current.Key >= 167 && current.Key < 173)
{
continue;
}
num4 = 1;
if (Game1.player.fishCaught.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Mineral") || text.Substring(text.Count<char>() - 3).Equals("-2"))
{
num4 = 3;
if (Game1.player.mineralsFound.ContainsKey(current.Key))
{
flag = true;
}
}
else if (text.Contains("Cooking") || text.Substring(text.Count<char>() - 3).Equals("-7"))
{
num4 = 4;
if (Game1.player.recipesCooked.ContainsKey(current.Key))
{
flag = true;
}
if (current.Key == 217 || current.Key == 772)
{
continue;
}
if (current.Key == 773)
{
continue;
}
}
else
{
if (!StardewValley.Object.isPotentialBasicShippedCategory(current.Key, text.Substring(text.Count<char>() - 3)))
{
continue;
}
num4 = 0;
if (Game1.player.basicShipped.ContainsKey(current.Key))
{
flag = true;
}
}
int x2 = num + array[num4] % num3 * (Game1.tileSize + 4);
int num5 = num2 + array[num4] / num3 * (Game1.tileSize + 4);
if (num5 > this.yPositionOnScreen + height - 128)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
array[num4] = 0;
x2 = num;
num5 = num2;
}
if (this.collections[num4].Count<List<ClickableTextureComponent>>() == 0)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
}
this.collections[num4].Last<List<ClickableTextureComponent>>().Add(new ClickableTextureComponent("",new Rectangle(x2, num5, Game1.tileSize, Game1.tileSize), current.Key + " " + flag, "", Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, current.Key, 16, 16), (float)Game1.pixelZoom, false));
array[num4]++;
}
if (this.collections[5].Count<List<ClickableTextureComponent>>() == 0)
{
this.collections[5].Add(new List<ClickableTextureComponent>());
}
foreach (KeyValuePair<int, string> current2 in Game1.achievements)
{
bool flag2 = Game1.player.achievements.Contains(current2.Key);
string[] array2 = current2.Value.Split(new char[]
{
'^'
});
if (flag2 || (array2[2].Equals("true") && (array2[3].Equals("-1") || this.farmerHasAchievements(array2[3]))))
{
int x3 = num + array[5] % num3 * (Game1.tileSize + 4);
int y2 = num2 + array[5] / num3 * (Game1.tileSize + 4);
this.collections[5][0].Add(new ClickableTextureComponent("",new Rectangle(x3, y2, Game1.tileSize, Game1.tileSize), current2.Key + " " + flag2, "", Game1.mouseCursors, Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 25, -1, -1), 1f, false));
array[5]++;
}
}
}
public virtual bool farmerHasAchievements(string listOfAchievementNumbers)
{
string[] array = listOfAchievementNumbers.Split(new char[]
{
' '
});
string[] array2 = array;
for (int i = 0; i < array2.Length; i++)
{
string text = array2[i];
if (!Game1.player.achievements.Contains(Convert.ToInt32(text)))
{
return false;
}
}
return true;
}
public override void receiveLeftClick(int x, int y, bool playSound = true)
{
for (int i = 0; i < this.sideTabs.Count; i++)
{
if (this.sideTabs[i].containsPoint(x, y) && this.currentTab != i)
{
Game1.playSound("smallSelect");
ClickableTextureComponent expr_45_cp_0 = this.sideTabs[this.currentTab];
expr_45_cp_0.bounds.X = expr_45_cp_0.bounds.X - CollectionsPage.widthToMoveActiveTab;
this.currentTab = i;
this.currentPage = 0;
ClickableTextureComponent expr_75_cp_0 = this.sideTabs[i];
expr_75_cp_0.bounds.X = expr_75_cp_0.bounds.X + CollectionsPage.widthToMoveActiveTab;
}
}
if (this.currentPage > 0 && this.backButton.containsPoint(x, y))
{
this.currentPage--;
Game1.playSound("shwip");
this.backButton.scale = this.backButton.baseScale;
this.new_item = null;
}
if (this.currentPage < this.collections[this.currentTab].Count<List<ClickableTextureComponent>>() - 1 && this.forwardButton.containsPoint(x, y))
{
this.currentPage++;
Game1.playSound("shwip");
this.forwardButton.scale = this.forwardButton.baseScale;
this.new_item = null;
}
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
if (new_item != null)
{
if (Game1.player.money > new_item.salePrice() * Buy_Back_Collectables.Class1.cost)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
}
}
public override void receiveRightClick(int x, int y, bool playSound = true)
{
if (new_item != null)
{
if (Game1.player.money > new_item.salePrice() * Buy_Back_Collectables.Class1.cost)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
public override void performHoverAction(int x, int y)
{
this.descriptionText = "";
this.hoverText = "";
this.value = -1;
try {
foreach (ClickableTextureComponent current in this.sideTabs)
{
if (current.containsPoint(x, y))
{
this.hoverText = current.hoverText;
return;
}
}
}
catch (Exception e)
{
Log.AsyncG(e);
}
try {
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
current2.scale = Math.Min(current2.scale + 0.02f, current2.baseScale + 0.1f);
if (Convert.ToBoolean(current2.name.Split(new char[]
{
' '
})[1]) || this.currentTab == 5)
{
this.hoverText = this.createDescription(Convert.ToInt32(current2.name.Split(new char[]
{
' '
})[0]));
}
else
{
this.hoverText = "???";
this.new_item = null;
}
}
else
{
current2.scale = Math.Max(current2.scale - 0.02f, current2.baseScale);
}
}
}
catch(Exception e)
{
Log.AsyncM(this.currentTab);
Log.AsyncM(this.currentPage);
Log.AsyncM(e);
}
this.forwardButton.tryHover(x, y, 0.5f);
this.backButton.tryHover(x, y, 0.5f);
}
public virtual string createDescription(int index)
{
string text = "";
if (this.currentTab == 5)
{
string[] array = Game1.achievements[index].Split(new char[]
{
'^'
});
text = text + array[0] + Environment.NewLine + Environment.NewLine;
text += array[1];
new_item = null;
}
else
{
string[] array2 = Game1.objectInformation[index].Split(new char[]
{
'/'
});
string text2 = text;
foreach(KeyValuePair<int, string> meh in Game1.objectInformation)
{
string[] array3 = meh.Value.Split(new char[]
{
'/'
});
if (array3[0] == array2[0])
{
new_item = (Item)new Object(Convert.ToInt32(meh.Key), 1, false, -1, 0);
if (new_item.Name == "Stone" || new_item.Name=="stone") new_item = (Item)new Object(390, 1, false, -1, 0);
}
}
text = string.Concat(new string[]
{
text2,
array2[0],
Environment.NewLine,
Environment.NewLine,
Game1.parseText(array2[4], Game1.smallFont, Game1.tileSize * 4),
Environment.NewLine,
Environment.NewLine
});
if (array2[3].Contains("Arch"))
{
text += (Game1.player.archaeologyFound.ContainsKey(index) ? ("Total Found: " + Game1.player.archaeologyFound[index][0]) : "");
}
else if (array2[3].Contains("Cooking"))
{
text += (Game1.player.recipesCooked.ContainsKey(index) ? ("Times Cooked: " + Game1.player.recipesCooked[index]) : "");
}
else if (array2[3].Contains("Fish"))
{
text = text + "Number Caught: " + (Game1.player.fishCaught.ContainsKey(index) ? Game1.player.fishCaught[index][0] : 0);
if (Game1.player.fishCaught.ContainsKey(index) && Game1.player.fishCaught[index][1] > 0)
{
object obj = text;
text = string.Concat(new object[]
{
obj,
Environment.NewLine,
"Biggest Catch: ",
Game1.player.fishCaught[index][1],
" in."
});
}
}
else if (array2[3].Contains("Minerals") || array2[3].Substring(array2[3].Count<char>() - 3).Equals("-2"))
{
text = text + "Number Found: " + (Game1.player.mineralsFound.ContainsKey(index) ? Game1.player.mineralsFound[index] : 0);
}
else
{
text = text + "Number Shipped: " + (Game1.player.basicShipped.ContainsKey(index) ? Game1.player.basicShipped[index] : 0);
}
this.value = Convert.ToInt32(array2[1]);
this.value =(int)(this.value * Buy_Back_Collectables.Class1.cost);
}
return text;
}
public override void draw(SpriteBatch b)
{
foreach (ClickableTextureComponent current in this.sideTabs)
{
current.draw(b);
}
if (this.currentPage > 0)
{
this.backButton.draw(b);
}
if (this.currentPage < this.collections[this.currentTab].Count<List<ClickableTextureComponent>>() - 1)
{
this.forwardButton.draw(b);
}
b.End();
b.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null);
try
{
foreach (ClickableTextureComponent current2 in this.collections[1][0])
{
bool flag = Convert.ToBoolean(current2.name.Split(new char[]
{
' '
})[1]);
current2.draw(b, flag ? Color.White : (Color.Black * 0.2f), 0.86f);
if (this.currentTab == 5 && flag)
{
int num = new Random(Convert.ToInt32(current2.name.Split(new char[]
{
' '
})[0])).Next(12);
b.Draw(Game1.mouseCursors, new Vector2((float)(current2.bounds.X + 16 + Game1.tileSize / 4), (float)(current2.bounds.Y + 20 + Game1.tileSize / 4)), new Rectangle?(new Rectangle(256 + num % 6 * Game1.tileSize / 2, 128 + num / 6 * Game1.tileSize / 2, Game1.tileSize / 2, Game1.tileSize / 2)), Color.White, 0f, new Vector2((float)(Game1.tileSize / 4), (float)(Game1.tileSize / 4)), current2.scale, SpriteEffects.None, 0.88f);
}
}
b.End();
b.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null);
if (!this.hoverText.Equals(""))
{
IClickableMenu.drawHoverText(b, this.hoverText, Game1.smallFont, 0, 0, this.value, null, -1, null, null, 0, -1, -1, -1, -1, 1f, null);
}
b.Draw(Game1.mouseCursors, new Vector2((float)Game1.getOldMouseX(), (float)Game1.getOldMouseY()), new Rectangle?(Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, Game1.options.gamepadControls ? 44 : 0, 16, 16)), Color.White, 0f, Vector2.Zero, (float)Game1.pixelZoom + Game1.dialogueButtonScale / 150f, SpriteEffects.None, 1f);
}
catch(Exception e)
{
Log.AsyncY(e);
}
}
}
}

View File

@ -0,0 +1,424 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
namespace StardewValley.Menus
{
public class UpdatedCollectionsPage : IClickableMenu
{
public static int widthToMoveActiveTab = Game1.tileSize / 8;
public const int organicsTab = 0;
public const int fishTab = 1;
public const int archaeologyTab = 2;
public const int mineralsTab = 3;
public const int cookingTab = 4;
public const int achievementsTab = 5;
public const int distanceFromMenuBottomBeforeNewPage = 128;
private string descriptionText = "";
private string hoverText = "";
private ClickableTextureComponent backButton;
private ClickableTextureComponent forwardButton;
private List<ClickableTextureComponent> sideTabs = new List<ClickableTextureComponent>();
private int currentTab;
private int currentPage;
private Dictionary<int, List<List<ClickableTextureComponent>>> collections = new Dictionary<int, List<List<ClickableTextureComponent>>>();
private int value;
public Item new_item;
public int newItemValue;
public UpdatedCollectionsPage(int x, int y, int width, int height) : base(x, y, width, height, false)
{
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4 + UpdatedCollectionsPage.widthToMoveActiveTab, this.yPositionOnScreen + Game1.tileSize * 2, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Shipped", new object[0]), Game1.mouseCursors, new Rectangle(640, 80, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(0, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 3, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Fish", new object[0]), Game1.mouseCursors, new Rectangle(640, 64, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(1, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 4, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Artifacts", new object[0]), Game1.mouseCursors, new Rectangle(656, 64, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(2, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 5, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Minerals", new object[0]), Game1.mouseCursors, new Rectangle(672, 64, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(3, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 6, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Cooking", new object[0]), Game1.mouseCursors, new Rectangle(688, 64, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(4, new List<List<ClickableTextureComponent>>());
this.sideTabs.Add(new ClickableTextureComponent("", new Rectangle(this.xPositionOnScreen - Game1.tileSize * 3 / 4, this.yPositionOnScreen + Game1.tileSize * 7, Game1.tileSize, Game1.tileSize), "", Game1.content.LoadString("Strings\\UI:Collections_Achievements", new object[0]), Game1.mouseCursors, new Rectangle(656, 80, 16, 16), (float)Game1.pixelZoom, false));
this.collections.Add(5, new List<List<ClickableTextureComponent>>());
UpdatedCollectionsPage.widthToMoveActiveTab = Game1.tileSize / 8;
this.backButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + Game1.tileSize * 3 / 4, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(352, 495, 12, 11), (float)Game1.pixelZoom, false);
this.forwardButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + width - Game1.tileSize / 2 - 15 * Game1.pixelZoom, this.yPositionOnScreen + height - 20 * Game1.pixelZoom, 12 * Game1.pixelZoom, 11 * Game1.pixelZoom), Game1.mouseCursors, new Rectangle(365, 495, 12, 11), (float)Game1.pixelZoom, false);
int[] array = new int[this.sideTabs.Count];
int num = this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearSideBorder;
int num2 = this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder - Game1.tileSize / 4;
int num3 = 10;
foreach (KeyValuePair<int, string> current in Game1.objectInformation)
{
string text = current.Value.Split(new char[]
{
'/'
})[3];
bool drawShadow = false;
int num4;
if (text.Contains("Arch"))
{
num4 = 2;
if (Game1.player.archaeologyFound.ContainsKey(current.Key))
{
drawShadow = true;
}
}
else if (text.Contains("Fish"))
{
if (current.Key >= 167 && current.Key < 173)
{
continue;
}
num4 = 1;
if (Game1.player.fishCaught.ContainsKey(current.Key))
{
drawShadow = true;
}
}
else if (text.Contains("Mineral") || text.Substring(text.Length - 3).Equals("-2"))
{
num4 = 3;
if (Game1.player.mineralsFound.ContainsKey(current.Key))
{
drawShadow = true;
}
}
else if (text.Contains("Cooking") || text.Substring(text.Length - 3).Equals("-7"))
{
num4 = 4;
if (Game1.player.recipesCooked.ContainsKey(current.Key))
{
drawShadow = true;
}
if (current.Key == 217 || current.Key == 772)
{
continue;
}
if (current.Key == 773)
{
continue;
}
}
else
{
if (!StardewValley.Object.isPotentialBasicShippedCategory(current.Key, text.Substring(text.Length - 3)))
{
continue;
}
num4 = 0;
if (Game1.player.basicShipped.ContainsKey(current.Key))
{
drawShadow = true;
}
}
int x2 = num + array[num4] % num3 * (Game1.tileSize + 4);
int num5 = num2 + array[num4] / num3 * (Game1.tileSize + 4);
if (num5 > this.yPositionOnScreen + height - 128)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
array[num4] = 0;
x2 = num;
num5 = num2;
}
if (this.collections[num4].Count == 0)
{
this.collections[num4].Add(new List<ClickableTextureComponent>());
}
this.collections[num4].Last<List<ClickableTextureComponent>>().Add(new ClickableTextureComponent(current.Key + " " + drawShadow.ToString(), new Rectangle(x2, num5, Game1.tileSize, Game1.tileSize), null, "", Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, current.Key, 16, 16), (float)Game1.pixelZoom, drawShadow));
array[num4]++;
}
if (this.collections[5].Count == 0)
{
this.collections[5].Add(new List<ClickableTextureComponent>());
}
foreach (KeyValuePair<int, string> current2 in Game1.achievements)
{
bool flag = Game1.player.achievements.Contains(current2.Key);
string[] array2 = current2.Value.Split(new char[]
{
'^'
});
if (flag || (array2[2].Equals("true") && (array2[3].Equals("-1") || this.farmerHasAchievements(array2[3]))))
{
int x3 = num + array[5] % num3 * (Game1.tileSize + 4);
int y2 = num2 + array[5] / num3 * (Game1.tileSize + 4);
this.collections[5][0].Add(new ClickableTextureComponent(current2.Key + " " + flag.ToString(), new Rectangle(x3, y2, Game1.tileSize, Game1.tileSize), null, "", Game1.mouseCursors, Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 25, -1, -1), 1f, false));
array[5]++;
}
}
}
private bool farmerHasAchievements(string listOfAchievementNumbers)
{
string[] array = listOfAchievementNumbers.Split(new char[]
{
' '
});
for (int i = 0; i < array.Length; i++)
{
string text = array[i];
if (!Game1.player.achievements.Contains(Convert.ToInt32(text)))
{
return false;
}
}
return true;
}
public override void receiveLeftClick(int x, int y, bool playSound = true)
{
for (int i = 0; i < this.sideTabs.Count; i++)
{
if (this.sideTabs[i].containsPoint(x, y) && this.currentTab != i)
{
Game1.playSound("smallSelect");
ClickableTextureComponent expr_47_cp_0_cp_0 = this.sideTabs[this.currentTab];
expr_47_cp_0_cp_0.bounds.X = expr_47_cp_0_cp_0.bounds.X - UpdatedCollectionsPage.widthToMoveActiveTab;
this.currentTab = i;
this.currentPage = 0;
ClickableTextureComponent expr_74_cp_0_cp_0 = this.sideTabs[i];
expr_74_cp_0_cp_0.bounds.X = expr_74_cp_0_cp_0.bounds.X + UpdatedCollectionsPage.widthToMoveActiveTab;
}
}
if (this.currentPage > 0 && this.backButton.containsPoint(x, y))
{
this.currentPage--;
Game1.playSound("shwip");
this.backButton.scale = this.backButton.baseScale;
}
if (this.currentPage < this.collections[this.currentTab].Count - 1 && this.forwardButton.containsPoint(x, y))
{
this.currentPage++;
Game1.playSound("shwip");
this.forwardButton.scale = this.forwardButton.baseScale;
}
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
if (new_item != null)
{
if (Game1.player.money >= value)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
}
}
public override void receiveRightClick(int x, int y, bool playSound = true)
{
if (new_item != null)
{
if (Game1.player.money >= value)
{
Game1.player.money -= value;
Game1.player.addItemByMenuIfNecessary(new_item);
}
}
}
public override void performHoverAction(int x, int y)
{
this.descriptionText = "";
this.hoverText = "";
this.value = -1;
foreach (ClickableTextureComponent current in this.sideTabs)
{
if (current.containsPoint(x, y))
{
this.hoverText = current.hoverText;
return;
}
}
foreach (ClickableTextureComponent current2 in this.collections[this.currentTab][this.currentPage])
{
if (current2.containsPoint(x, y))
{
current2.scale = Math.Min(current2.scale + 0.02f, current2.baseScale + 0.1f);
if (Convert.ToBoolean(current2.name.Split(new char[]
{
' '
})[1]) || this.currentTab == 5)
{
this.hoverText = this.createDescription(Convert.ToInt32(current2.name.Split(new char[]
{
' '
})[0]));
}
else
{
this.hoverText = "???";
}
}
else
{
current2.scale = Math.Max(current2.scale - 0.02f, current2.baseScale);
}
}
this.forwardButton.tryHover(x, y, 0.5f);
this.backButton.tryHover(x, y, 0.5f);
}
public string createDescription(int index)
{
string text = "";
if (this.currentTab == 5)
{
string[] array = Game1.achievements[index].Split(new char[]
{
'^'
});
text = text + array[0] + Environment.NewLine + Environment.NewLine;
text += array[1];
new_item = null;
}
else
{
string[] array2 = Game1.objectInformation[index].Split(new char[]
{
'/'
});
foreach (KeyValuePair<int, string> meh in Game1.objectInformation)
{
string[] array3 = meh.Value.Split(new char[]
{
'/'
});
if (array3[0] == array2[0])
{
new_item = (Item)new Object(Convert.ToInt32(meh.Key), 1, false, -1, 0);
if (new_item.Name == "Stone" || new_item.Name == "stone") new_item = (Item)new Object(390, 1, false, -1, 0);
}
}
text = string.Concat(new string[]
{
text,
array2[0],
Environment.NewLine,
Environment.NewLine,
Game1.parseText(array2[4], Game1.smallFont, Game1.tileSize * 4),
Environment.NewLine,
Environment.NewLine
});
if (array2[3].Contains("Arch"))
{
text += (Game1.player.archaeologyFound.ContainsKey(index) ? Game1.content.LoadString("Strings\\UI:Collections_Description_ArtifactsFound", new object[]
{
Game1.player.archaeologyFound[index][0]
}) : "");
}
else if (array2[3].Contains("Cooking"))
{
text += (Game1.player.recipesCooked.ContainsKey(index) ? Game1.content.LoadString("Strings\\UI:Collections_Description_RecipesCooked", new object[]
{
Game1.player.recipesCooked[index]
}) : "");
}
else if (array2[3].Contains("Fish"))
{
text += Game1.content.LoadString("Strings\\UI:Collections_Description_FishCaught", new object[]
{
Game1.player.fishCaught.ContainsKey(index) ? Game1.player.fishCaught[index][0] : 0
});
if (Game1.player.fishCaught.ContainsKey(index) && Game1.player.fishCaught[index][1] > 0)
{
text = text + Environment.NewLine + Game1.content.LoadString("Strings\\UI:Collections_Description_BiggestCatch", new object[]
{
Game1.player.fishCaught[index][1]
});
}
}
else if (array2[3].Contains("Minerals") || array2[3].Substring(array2[3].Length - 3).Equals("-2"))
{
text += Game1.content.LoadString("Strings\\UI:Collections_Description_MineralsFound", new object[]
{
Game1.player.mineralsFound.ContainsKey(index) ? Game1.player.mineralsFound[index] : 0
});
}
else
{
text += Game1.content.LoadString("Strings\\UI:Collections_Description_NumberShipped", new object[]
{
Game1.player.basicShipped.ContainsKey(index) ? Game1.player.basicShipped[index] : 0
});
}
this.value = Convert.ToInt32(array2[1]);
this.value = (int)(this.value * Buy_Back_Collectables.Class1.cost);
newItemValue = this.value;
}
return text;
}
public override void draw(SpriteBatch b)
{
using (List<ClickableTextureComponent>.Enumerator enumerator = this.sideTabs.GetEnumerator())
{
while (enumerator.MoveNext())
{
enumerator.Current.draw(b);
}
}
if (this.currentPage > 0)
{
this.backButton.draw(b);
}
if (this.currentPage < this.collections[this.currentTab].Count - 1)
{
this.forwardButton.draw(b);
}
b.End();
b.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointClamp, null, null);
foreach (ClickableTextureComponent current in this.collections[this.currentTab][this.currentPage])
{
bool flag = Convert.ToBoolean(current.name.Split(new char[]
{
' '
})[1]);
current.draw(b, flag ? Color.White : (Color.Black * 0.2f), 0.86f);
if (this.currentTab == 5 & flag)
{
int num = new Random(Convert.ToInt32(current.name.Split(new char[]
{
' '
})[0])).Next(12);
b.Draw(Game1.mouseCursors, new Vector2((float)(current.bounds.X + 16 + Game1.tileSize / 4), (float)(current.bounds.Y + 20 + Game1.tileSize / 4)), new Rectangle?(new Rectangle(256 + num % 6 * Game1.tileSize / 2, 128 + num / 6 * Game1.tileSize / 2, Game1.tileSize / 2, Game1.tileSize / 2)), Color.White, 0f, new Vector2((float)(Game1.tileSize / 4), (float)(Game1.tileSize / 4)), current.scale, SpriteEffects.None, 0.88f);
}
}
b.End();
b.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null);
if (!this.hoverText.Equals(""))
{
IClickableMenu.drawHoverText(b, this.hoverText, Game1.smallFont, 0, 0, this.value, null, -1, null, null, 0, -1, -1, -1, -1, 1f, null);
}
if (!Game1.options.hardwareCursor)
{
b.Draw(Game1.mouseCursors, new Vector2((float)Game1.getMouseX(), (float)Game1.getMouseY()), new Rectangle?(Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 0, 16, 16)), Color.White * Game1.mouseCursorTransparency, 0f, Vector2.Zero, (float)Game1.pixelZoom + Game1.dialogueButtonScale / 150f, SpriteEffects.None, 1f);
}
}
}
}

View File

@ -1,252 +1,252 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<members>
<member name="T:Microsoft.Xna.Framework.Input.Touch.GestureSample">
<summary>A representation of data from a multitouch gesture over a span of time.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Delta">
<summary>Holds delta information about the first touchpoint in a multitouch gesture.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Delta2">
<summary>Holds delta information about the second touchpoint in a multitouch gesture.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.GestureType">
<summary>The type of gesture in a multitouch gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Position">
<summary>Holds the current position of the first touchpoint in this gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Position2">
<summary>Holds the current position of the the second touchpoint in this gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Timestamp">
<summary>Holds the starting time for this touch gesture sample.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.GestureType">
<summary>Contains values that represent different multitouch gestures that can be detected by TouchPanel.ReadGesture. Reference page contains links to related code samples.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.DoubleTap">
<summary>The user tapped the screen twice in quick succession. This always is preceded by a Tap gesture. If the time between taps is too great to be considered a DoubleTap, two Tap gestures will be generated instead.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.DragComplete">
<summary>A drag gesture (VerticalDrag, HorizontalDrag, or FreeDrag) was completed. This signals only completion. No position or delta data is valid for this sample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Flick">
<summary>The user performed a touch combined with a quick swipe of the screen. Flicks are positionless. The velocity of the flick can be retrieved by reading the Delta member of GestureSample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.FreeDrag">
<summary>The user touched the screen, and then performed a free-form drag gesture.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Hold">
<summary>The user touched a single point on the screen for approximately one second. This is a single event, and not continuously generated while the user is holding the touchpoint.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.HorizontalDrag">
<summary>The user touched the screen, and then performed a horizontal (left to right or right to left) gesture.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.None">
<summary>Represents no gestures.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Pinch">
<summary>The user touched two points on the screen, and then converged or diverged them. Pinch behaves like a two-finger drag. When this gesture is enabled, it takes precedence over drag gestures while two fingers are down.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.PinchComplete">
<summary>A pinch operation was completed. This signals only completion. No position or delta data is valid for this sample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Tap">
<summary>The user briefly touched a single point on the screen.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.VerticalDrag">
<summary>The user touched the screen, and then performed a vertical (top to bottom or bottom to top) gesture.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchCollection">
<summary>Provides methods and properties for accessing state information for the touch screen of a touch-enabled device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.#ctor(Microsoft.Xna.Framework.Input.Touch.TouchLocation[])">
<summary>Initializes a new instance of the TouchCollection structure with a set of touch locations. Reference page contains links to related code samples.</summary>
<param name="touches">Array of touch locations.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Add(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Adds a TouchLocation to the collection.</summary>
<param name="item">TouchLocation to add.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Clear">
<summary>Removes all TouchLocation objects from the collection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Contains(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Checks if the current touch collection contains the specified touch location.</summary>
<param name="item">Touch location to be checked against the current collection.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.CopyTo(Microsoft.Xna.Framework.Input.Touch.TouchLocation[],System.Int32)">
<summary>Copies the touch location to the collection at the specified index.</summary>
<param name="array">Array receiving the copied touch location.</param>
<param name="arrayIndex">Target index of the collection.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Count">
<summary>Gets the current number of touch locations for the touch screen.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.FindById(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocation@)">
<summary>Retrieves the touch location matching the specified ID.</summary>
<param name="id">ID of touch location sought.</param>
<param name="touchLocation">[OutAttribute] Touch location item matching the specified ID.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.GetEnumerator">
<summary>Returns an enumerator that iterates through the TouchCollection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IndexOf(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines the index of a TouchLocation in the TouchCollection.</summary>
<param name="item">TouchLocation to locate in the collection.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Insert(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Inserts a new TouchLocation into the TouchCollection at a specified index.</summary>
<param name="index">Index in the touch collection for the new item.</param>
<param name="item">TouchLocation to be inserted.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IsConnected">
<summary>Indicates if the touch screen is available for use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IsReadOnly">
<summary>Determines if the touch location array is read-only.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Item(System.Int32)">
<summary>Gets or sets the information of the specified touch location.</summary>
<param name="index">Index of the touch location to return.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Remove(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Removes the specified TouchLocation from the TouchCollection.</summary>
<param name="item">TouchLocation to be removed.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.RemoveAt(System.Int32)">
<summary>Removes a TouchLocation at the specified index in the TouchCollection.</summary>
<param name="index">Index of the TouchLocation to remove.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>Returns an enumerator that iterates through the TouchCollection.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator">
<summary>Provides the ability to iterate through the touch locations in a TouchCollection.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.Current">
<summary>Gets the current element in the TouchCollection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.MoveNext">
<summary>Advances the enumerator to the next element of the TouchCollection.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.System#Collections#IEnumerator#Current">
<summary>Gets the current element in the TouchCollection as an object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.System#Collections#IEnumerator#Reset">
<summary>Sets the enumerator to its initial position, which is before the first element in the TouchCollection.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchLocation">
<summary>Provides methods and properties for interacting with a touch location on a touch screen device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.#ctor(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2)">
<summary>Initializes a new TouchLocation with an ID, state, position, and pressure.</summary>
<param name="id">ID of the new touch location.</param>
<param name="state">State of the new touch location.</param>
<param name="position">Position, in screen coordinates, of the new touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.#ctor(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2)">
<summary>Initializes a new TouchLocation with an ID, and a set of both current and previous state, position, and pressure values.</summary>
<param name="id">ID of the new touch location.</param>
<param name="state">State of the new touch location.</param>
<param name="position">Position, in screen coordinates, of the new touch location.</param>
<param name="previousState">Previous state for the new touch location.</param>
<param name="previousPosition">Previous position for the new touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Equals(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether the current TouchLocation is equal to the specified TouchLocation.</summary>
<param name="other">The TouchLocation to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Equals(System.Object)">
<summary>Determines whether the current TouchLocation is equal to the specified object.</summary>
<param name="obj">The Object to compare with the touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.GetHashCode">
<summary>Gets the hash code for this TouchLocation.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Id">
<summary>Gets the ID of the touch location.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.op_Equality(Microsoft.Xna.Framework.Input.Touch.TouchLocation,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether two TouchLocation instances are equal.</summary>
<param name="value1">The TouchLocation to compare with the second.</param>
<param name="value2">The TouchLocation to compare with the first.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.op_Inequality(Microsoft.Xna.Framework.Input.Touch.TouchLocation,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether two TouchLocation instances are unequal.</summary>
<param name="value1">The TouchLocation to compare with the second.</param>
<param name="value2">The TouchLocation to compare with the first.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Position">
<summary>Gets the position of the touch location.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.State">
<summary>Gets the state of the touch location.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.ToString">
<summary>Gets a string representation of the TouchLocation.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.TryGetPreviousLocation(Microsoft.Xna.Framework.Input.Touch.TouchLocation@)">
<summary>Attempts to get the previous location of this touch location object.</summary>
<param name="previousLocation">[OutAttribute] Previous location data, as a TouchLocation.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchLocationState">
<summary>Defines the possible states of a touch location. Reference page contains links to related code samples.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Invalid">
<summary>This touch location position is invalid. Typically, you will encounter this state when a new touch location attempts to get the previous state of itself.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Moved">
<summary>This touch location position was updated or pressed at the same position.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Pressed">
<summary>This touch location position is new.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Released">
<summary>This touch location position was released.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchPanel">
<summary>Provides methods for retrieving touch panel device information. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayHeight">
<summary>Gets or sets the display height of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayOrientation">
<summary>Gets or sets the display orientation of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayWidth">
<summary>Gets or sets the display width of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.EnabledGestures">
<summary>Gets or sets the gestures that are enabled for the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.GetCapabilities">
<summary>Gets the touch panel capabilities for an available device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.GetState">
<summary>Gets the current state of the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.IsGestureAvailable">
<summary>Used to determine if a touch gesture is available. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.ReadGesture">
<summary>Reads an available gesture on the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.WindowHandle">
<summary>The window handle of the touch panel.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities">
<summary>Provides access to information about the capabilities of the touch input device. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities.IsConnected">
<summary>Indicates if the touch panel device is available for use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities.MaximumTouchCount">
<summary>Gets the maximum number of touch locations that can be tracked by the touch pad device.</summary>
</member>
</members>
<?xml version="1.0" encoding="utf-8"?>
<doc>
<members>
<member name="T:Microsoft.Xna.Framework.Input.Touch.GestureSample">
<summary>A representation of data from a multitouch gesture over a span of time.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Delta">
<summary>Holds delta information about the first touchpoint in a multitouch gesture.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Delta2">
<summary>Holds delta information about the second touchpoint in a multitouch gesture.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.GestureType">
<summary>The type of gesture in a multitouch gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Position">
<summary>Holds the current position of the first touchpoint in this gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Position2">
<summary>Holds the current position of the the second touchpoint in this gesture sample.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.GestureSample.Timestamp">
<summary>Holds the starting time for this touch gesture sample.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.GestureType">
<summary>Contains values that represent different multitouch gestures that can be detected by TouchPanel.ReadGesture. Reference page contains links to related code samples.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.DoubleTap">
<summary>The user tapped the screen twice in quick succession. This always is preceded by a Tap gesture. If the time between taps is too great to be considered a DoubleTap, two Tap gestures will be generated instead.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.DragComplete">
<summary>A drag gesture (VerticalDrag, HorizontalDrag, or FreeDrag) was completed. This signals only completion. No position or delta data is valid for this sample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Flick">
<summary>The user performed a touch combined with a quick swipe of the screen. Flicks are positionless. The velocity of the flick can be retrieved by reading the Delta member of GestureSample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.FreeDrag">
<summary>The user touched the screen, and then performed a free-form drag gesture.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Hold">
<summary>The user touched a single point on the screen for approximately one second. This is a single event, and not continuously generated while the user is holding the touchpoint.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.HorizontalDrag">
<summary>The user touched the screen, and then performed a horizontal (left to right or right to left) gesture.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.None">
<summary>Represents no gestures.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Pinch">
<summary>The user touched two points on the screen, and then converged or diverged them. Pinch behaves like a two-finger drag. When this gesture is enabled, it takes precedence over drag gestures while two fingers are down.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.PinchComplete">
<summary>A pinch operation was completed. This signals only completion. No position or delta data is valid for this sample.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.Tap">
<summary>The user briefly touched a single point on the screen.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.GestureType.VerticalDrag">
<summary>The user touched the screen, and then performed a vertical (top to bottom or bottom to top) gesture.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchCollection">
<summary>Provides methods and properties for accessing state information for the touch screen of a touch-enabled device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.#ctor(Microsoft.Xna.Framework.Input.Touch.TouchLocation[])">
<summary>Initializes a new instance of the TouchCollection structure with a set of touch locations. Reference page contains links to related code samples.</summary>
<param name="touches">Array of touch locations.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Add(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Adds a TouchLocation to the collection.</summary>
<param name="item">TouchLocation to add.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Clear">
<summary>Removes all TouchLocation objects from the collection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Contains(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Checks if the current touch collection contains the specified touch location.</summary>
<param name="item">Touch location to be checked against the current collection.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.CopyTo(Microsoft.Xna.Framework.Input.Touch.TouchLocation[],System.Int32)">
<summary>Copies the touch location to the collection at the specified index.</summary>
<param name="array">Array receiving the copied touch location.</param>
<param name="arrayIndex">Target index of the collection.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Count">
<summary>Gets the current number of touch locations for the touch screen.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.FindById(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocation@)">
<summary>Retrieves the touch location matching the specified ID.</summary>
<param name="id">ID of touch location sought.</param>
<param name="touchLocation">[OutAttribute] Touch location item matching the specified ID.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.GetEnumerator">
<summary>Returns an enumerator that iterates through the TouchCollection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IndexOf(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines the index of a TouchLocation in the TouchCollection.</summary>
<param name="item">TouchLocation to locate in the collection.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Insert(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Inserts a new TouchLocation into the TouchCollection at a specified index.</summary>
<param name="index">Index in the touch collection for the new item.</param>
<param name="item">TouchLocation to be inserted.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IsConnected">
<summary>Indicates if the touch screen is available for use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.IsReadOnly">
<summary>Determines if the touch location array is read-only.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Item(System.Int32)">
<summary>Gets or sets the information of the specified touch location.</summary>
<param name="index">Index of the touch location to return.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Remove(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Removes the specified TouchLocation from the TouchCollection.</summary>
<param name="item">TouchLocation to be removed.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.RemoveAt(System.Int32)">
<summary>Removes a TouchLocation at the specified index in the TouchCollection.</summary>
<param name="index">Index of the TouchLocation to remove.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>Returns an enumerator that iterates through the TouchCollection.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator">
<summary>Provides the ability to iterate through the touch locations in a TouchCollection.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.Current">
<summary>Gets the current element in the TouchCollection.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.MoveNext">
<summary>Advances the enumerator to the next element of the TouchCollection.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.System#Collections#IEnumerator#Current">
<summary>Gets the current element in the TouchCollection as an object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchCollection.Enumerator.System#Collections#IEnumerator#Reset">
<summary>Sets the enumerator to its initial position, which is before the first element in the TouchCollection.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchLocation">
<summary>Provides methods and properties for interacting with a touch location on a touch screen device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.#ctor(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2)">
<summary>Initializes a new TouchLocation with an ID, state, position, and pressure.</summary>
<param name="id">ID of the new touch location.</param>
<param name="state">State of the new touch location.</param>
<param name="position">Position, in screen coordinates, of the new touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.#ctor(System.Int32,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Input.Touch.TouchLocationState,Microsoft.Xna.Framework.Vector2)">
<summary>Initializes a new TouchLocation with an ID, and a set of both current and previous state, position, and pressure values.</summary>
<param name="id">ID of the new touch location.</param>
<param name="state">State of the new touch location.</param>
<param name="position">Position, in screen coordinates, of the new touch location.</param>
<param name="previousState">Previous state for the new touch location.</param>
<param name="previousPosition">Previous position for the new touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Equals(Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether the current TouchLocation is equal to the specified TouchLocation.</summary>
<param name="other">The TouchLocation to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Equals(System.Object)">
<summary>Determines whether the current TouchLocation is equal to the specified object.</summary>
<param name="obj">The Object to compare with the touch location.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.GetHashCode">
<summary>Gets the hash code for this TouchLocation.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Id">
<summary>Gets the ID of the touch location.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.op_Equality(Microsoft.Xna.Framework.Input.Touch.TouchLocation,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether two TouchLocation instances are equal.</summary>
<param name="value1">The TouchLocation to compare with the second.</param>
<param name="value2">The TouchLocation to compare with the first.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.op_Inequality(Microsoft.Xna.Framework.Input.Touch.TouchLocation,Microsoft.Xna.Framework.Input.Touch.TouchLocation)">
<summary>Determines whether two TouchLocation instances are unequal.</summary>
<param name="value1">The TouchLocation to compare with the second.</param>
<param name="value2">The TouchLocation to compare with the first.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.Position">
<summary>Gets the position of the touch location.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchLocation.State">
<summary>Gets the state of the touch location.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.ToString">
<summary>Gets a string representation of the TouchLocation.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchLocation.TryGetPreviousLocation(Microsoft.Xna.Framework.Input.Touch.TouchLocation@)">
<summary>Attempts to get the previous location of this touch location object.</summary>
<param name="previousLocation">[OutAttribute] Previous location data, as a TouchLocation.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchLocationState">
<summary>Defines the possible states of a touch location. Reference page contains links to related code samples.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Invalid">
<summary>This touch location position is invalid. Typically, you will encounter this state when a new touch location attempts to get the previous state of itself.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Moved">
<summary>This touch location position was updated or pressed at the same position.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Pressed">
<summary>This touch location position is new.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Input.Touch.TouchLocationState.Released">
<summary>This touch location position was released.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchPanel">
<summary>Provides methods for retrieving touch panel device information. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayHeight">
<summary>Gets or sets the display height of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayOrientation">
<summary>Gets or sets the display orientation of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.DisplayWidth">
<summary>Gets or sets the display width of the touch panel.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.EnabledGestures">
<summary>Gets or sets the gestures that are enabled for the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.GetCapabilities">
<summary>Gets the touch panel capabilities for an available device. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.GetState">
<summary>Gets the current state of the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.IsGestureAvailable">
<summary>Used to determine if a touch gesture is available. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Input.Touch.TouchPanel.ReadGesture">
<summary>Reads an available gesture on the touch panel. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanel.WindowHandle">
<summary>The window handle of the touch panel.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities">
<summary>Provides access to information about the capabilities of the touch input device. Reference page contains links to related code samples.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities.IsConnected">
<summary>Indicates if the touch panel device is available for use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Input.Touch.TouchPanelCapabilities.MaximumTouchCount">
<summary>Gets the maximum number of touch locations that can be tracked by the touch pad device.</summary>
</member>
</members>
</doc>

View File

@ -1,283 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<members>
<member name="T:Microsoft.Xna.Framework.Audio.AudioCategory">
<summary>Represents a particular category of sounds. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Equals(Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory is equal to this AudioCategory.</summary>
<param name="other">AudioCategory to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Equals(System.Object)">
<summary>Determines whether the specified Object is equal to this AudioCategory.</summary>
<param name="obj">Object to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.GetHashCode">
<summary>Gets the hash code for this instance.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioCategory.Name">
<summary>Specifies the friendly name of this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.op_Equality(Microsoft.Xna.Framework.Audio.AudioCategory,Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory instances are equal.</summary>
<param name="value1">Object to the left of the equality operator.</param>
<param name="value2">Object to the right of the equality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.op_Inequality(Microsoft.Xna.Framework.Audio.AudioCategory,Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory instances are not equal.</summary>
<param name="value1">Object to the left of the inequality operator.</param>
<param name="value2">Object to the right of the inequality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Pause">
<summary>Pauses all sounds associated with this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Resume">
<summary>Resumes all paused sounds associated with this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.SetVolume(System.Single)">
<summary>Sets the volume of all sounds associated with this category. Reference page contains links to related code samples.</summary>
<param name="volume">Volume amplitude multiplier. volume is normally between 0.0 (silence) and 1.0 (full volume), but can range from 0.0f to float.MaxValue. Volume levels map to decibels (dB) as shown in the following table. VolumeDescription 0.0f-96 dB (silence) 1.0f +0 dB (full volume as authored) 2.0f +6 dB (6 dB greater than authored)</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Stop(Microsoft.Xna.Framework.Audio.AudioStopOptions)">
<summary>Stops all sounds associated with this category.</summary>
<param name="options">Enumerated value specifying how the sounds should be stopped.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.ToString">
<summary>Returns a String representation of this AudioCategory.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.AudioEngine">
<summary>Represents the audio engine. Applications use the methods of the audio engine to instantiate and manipulate core audio objects. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.#ctor(System.String)">
<summary>Initializes a new instance of this class, using a path to an XACT global settings file.</summary>
<param name="settingsFile">Path to a global settings file.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.#ctor(System.String,System.TimeSpan,System.String)">
<summary>Initializes a new instance of this class, using a settings file, a specific audio renderer, and a specific speaker configuration.</summary>
<param name="settingsFile">Path to a global settings file.</param>
<param name="lookAheadTime">Interactive audio and branch event look-ahead time, in milliseconds.</param>
<param name="rendererId">A string that specifies the audio renderer to use.</param>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioEngine.ContentVersion">
<summary>Specifies the current content version.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.AudioEngine.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.GetCategory(System.String)">
<summary>Gets an audio category. Reference page contains links to related code samples.</summary>
<param name="name">Friendly name of the category to get.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.GetGlobalVariable(System.String)">
<summary>Gets the value of a global variable. Reference page contains links to related conceptual articles.</summary>
<param name="name">Friendly name of the variable.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioEngine.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioEngine.RendererDetails">
<summary>Gets a collection of audio renderers.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.SetGlobalVariable(System.String,System.Single)">
<summary>Sets the value of a global variable.</summary>
<param name="name">Value of the global variable.</param>
<param name="value">Friendly name of the global variable.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Update">
<summary>Performs periodic work required by the audio engine. Reference page contains links to related code samples.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.AudioStopOptions">
<summary>Controls how Cue objects should stop when Stop is called.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioStopOptions.AsAuthored">
<summary>Indicates the cue should stop normally, playing any release phase or transition specified in the content.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioStopOptions.Immediate">
<summary>Indicates the cue should stop immediately, ignoring any release phase or transition specified in the content.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.Cue">
<summary>Defines methods for managing the playback of sounds. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Apply3D(Microsoft.Xna.Framework.Audio.AudioListener,Microsoft.Xna.Framework.Audio.AudioEmitter)">
<summary>Calculates the 3D audio values between an AudioEmitter and an AudioListener object, and applies the resulting values to this Cue. Reference page contains code sample.</summary>
<param name="listener">The listener to calculate.</param>
<param name="emitter">The emitter to calculate.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.Cue.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.GetVariable(System.String)">
<summary>Gets a cue-instance variable value based on its friendly name.</summary>
<param name="name">Friendly name of the variable.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsCreated">
<summary>Returns whether the cue has been created.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsDisposed">
<summary>Gets a value indicating whether the object has been disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPaused">
<summary>Returns whether the cue is currently paused.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPlaying">
<summary>Returns whether the cue is playing.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPrepared">
<summary>Returns whether the cue is prepared to play.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPreparing">
<summary>Returns whether the cue is preparing to play.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsStopped">
<summary>Returns whether the cue is currently stopped.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsStopping">
<summary>Returns whether the cue is stopping playback.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.Name">
<summary>Returns the friendly name of the cue.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Pause">
<summary>Pauses playback. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Play">
<summary>Requests playback of a prepared or preparing Cue. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Resume">
<summary>Resumes playback of a paused Cue. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.SetVariable(System.String,System.Single)">
<summary>Sets the value of a cue-instance variable based on its friendly name.</summary>
<param name="name">Friendly name of the variable to set.</param>
<param name="value">Value to assign to the variable.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Stop(Microsoft.Xna.Framework.Audio.AudioStopOptions)">
<summary>Stops playback of a Cue. Reference page contains links to related code samples.</summary>
<param name="options">Enumerated value specifying how the sound should stop. If set to None, the sound will play any release phase or transition specified in the audio designer. If set to Immediate, the sound will stop immediately, ignoring any release phases or transitions.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.RendererDetail">
<summary>Represents an audio renderer, which is a device that can render audio to a user.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.Equals(System.Object)">
<summary>Returns a value that indicates whether the current instance is equal to a specified object.</summary>
<param name="obj">Object to compare to this object.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.RendererDetail.FriendlyName">
<summary>Gets the human-readable name for the renderer.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.GetHashCode">
<summary>Gets the hash code for this instance.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.op_Equality(Microsoft.Xna.Framework.Audio.RendererDetail,Microsoft.Xna.Framework.Audio.RendererDetail)">
<summary>Compares two objects to determine whether they are the same.</summary>
<param name="left">Object to the left of the equality operator.</param>
<param name="right">Object to the right of the equality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.op_Inequality(Microsoft.Xna.Framework.Audio.RendererDetail,Microsoft.Xna.Framework.Audio.RendererDetail)">
<summary>Compares two objects to determine whether they are different.</summary>
<param name="left">Object to the left of the inequality operator.</param>
<param name="right">Object to the right of the inequality operator.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.RendererDetail.RendererId">
<summary>Specifies the string that identifies the renderer.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.ToString">
<summary>Retrieves a string representation of this object.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.SoundBank">
<summary>Represents a sound bank, which is a collection of cues. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String)">
<summary>Initializes a new instance of this class using a sound bank from file.</summary>
<param name="audioEngine">Audio engine that will be associated with this sound bank.</param>
<param name="filename">Path to the sound bank file.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.SoundBank.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.GetCue(System.String)">
<summary>Gets a cue from the sound bank. Reference page contains links to related code samples.</summary>
<param name="name">Friendly name of the cue to get.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.SoundBank.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.SoundBank.IsInUse">
<summary>Returns whether the sound bank is currently in use.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.PlayCue(System.String)">
<summary>Plays a cue. Reference page contains links to related code samples.</summary>
<param name="name">Name of the cue to play.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.PlayCue(System.String,Microsoft.Xna.Framework.Audio.AudioListener,Microsoft.Xna.Framework.Audio.AudioEmitter)">
<summary>Plays a cue using 3D positional information specified in an AudioListener and AudioEmitter. Reference page contains links to related code samples.</summary>
<param name="name">Name of the cue to play.</param>
<param name="listener">AudioListener that specifies listener 3D audio information.</param>
<param name="emitter">AudioEmitter that specifies emitter 3D audio information.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.WaveBank">
<summary>Represents a wave bank, which is a collection of wave files. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String)">
<summary>Initializes a new, in-memory instance of this class using a specified AudioEngine and path to a wave bank file.</summary>
<param name="audioEngine">Instance of an AudioEngine to associate this wave bank with.</param>
<param name="nonStreamingWaveBankFilename">Path to the wave bank file to load.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String,System.Int32,System.Int16)">
<summary>Initializes a new, streaming instance of this class, using a provided AudioEngine and streaming wave bank parameters.</summary>
<param name="audioEngine">Instance of an AudioEngine to associate this wave bank with.</param>
<param name="streamingWaveBankFilename">Path to the wave bank file to stream from.</param>
<param name="offset">Offset within the wave bank data file. This offset must be DVD sector aligned.</param>
<param name="packetsize">Stream packet size, in sectors, to use for each stream. The minimum value is 2.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.WaveBank.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsInUse">
<summary>Returns whether the wave bank is currently in use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsPrepared">
<summary>Returns whether the wave bank is prepared to play.</summary>
</member>
</members>
<?xml version="1.0" encoding="utf-8"?>
<doc>
<members>
<member name="T:Microsoft.Xna.Framework.Audio.AudioCategory">
<summary>Represents a particular category of sounds. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Equals(Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory is equal to this AudioCategory.</summary>
<param name="other">AudioCategory to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Equals(System.Object)">
<summary>Determines whether the specified Object is equal to this AudioCategory.</summary>
<param name="obj">Object to compare with this instance.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.GetHashCode">
<summary>Gets the hash code for this instance.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioCategory.Name">
<summary>Specifies the friendly name of this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.op_Equality(Microsoft.Xna.Framework.Audio.AudioCategory,Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory instances are equal.</summary>
<param name="value1">Object to the left of the equality operator.</param>
<param name="value2">Object to the right of the equality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.op_Inequality(Microsoft.Xna.Framework.Audio.AudioCategory,Microsoft.Xna.Framework.Audio.AudioCategory)">
<summary>Determines whether the specified AudioCategory instances are not equal.</summary>
<param name="value1">Object to the left of the inequality operator.</param>
<param name="value2">Object to the right of the inequality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Pause">
<summary>Pauses all sounds associated with this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Resume">
<summary>Resumes all paused sounds associated with this category.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.SetVolume(System.Single)">
<summary>Sets the volume of all sounds associated with this category. Reference page contains links to related code samples.</summary>
<param name="volume">Volume amplitude multiplier. volume is normally between 0.0 (silence) and 1.0 (full volume), but can range from 0.0f to float.MaxValue. Volume levels map to decibels (dB) as shown in the following table. VolumeDescription 0.0f-96 dB (silence) 1.0f +0 dB (full volume as authored) 2.0f +6 dB (6 dB greater than authored)</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.Stop(Microsoft.Xna.Framework.Audio.AudioStopOptions)">
<summary>Stops all sounds associated with this category.</summary>
<param name="options">Enumerated value specifying how the sounds should be stopped.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioCategory.ToString">
<summary>Returns a String representation of this AudioCategory.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.AudioEngine">
<summary>Represents the audio engine. Applications use the methods of the audio engine to instantiate and manipulate core audio objects. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.#ctor(System.String)">
<summary>Initializes a new instance of this class, using a path to an XACT global settings file.</summary>
<param name="settingsFile">Path to a global settings file.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.#ctor(System.String,System.TimeSpan,System.String)">
<summary>Initializes a new instance of this class, using a settings file, a specific audio renderer, and a specific speaker configuration.</summary>
<param name="settingsFile">Path to a global settings file.</param>
<param name="lookAheadTime">Interactive audio and branch event look-ahead time, in milliseconds.</param>
<param name="rendererId">A string that specifies the audio renderer to use.</param>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioEngine.ContentVersion">
<summary>Specifies the current content version.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.AudioEngine.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.GetCategory(System.String)">
<summary>Gets an audio category. Reference page contains links to related code samples.</summary>
<param name="name">Friendly name of the category to get.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.GetGlobalVariable(System.String)">
<summary>Gets the value of a global variable. Reference page contains links to related conceptual articles.</summary>
<param name="name">Friendly name of the variable.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioEngine.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.AudioEngine.RendererDetails">
<summary>Gets a collection of audio renderers.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.SetGlobalVariable(System.String,System.Single)">
<summary>Sets the value of a global variable.</summary>
<param name="name">Value of the global variable.</param>
<param name="value">Friendly name of the global variable.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.AudioEngine.Update">
<summary>Performs periodic work required by the audio engine. Reference page contains links to related code samples.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.AudioStopOptions">
<summary>Controls how Cue objects should stop when Stop is called.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioStopOptions.AsAuthored">
<summary>Indicates the cue should stop normally, playing any release phase or transition specified in the content.</summary>
</member>
<member name="F:Microsoft.Xna.Framework.Audio.AudioStopOptions.Immediate">
<summary>Indicates the cue should stop immediately, ignoring any release phase or transition specified in the content.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.Cue">
<summary>Defines methods for managing the playback of sounds. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Apply3D(Microsoft.Xna.Framework.Audio.AudioListener,Microsoft.Xna.Framework.Audio.AudioEmitter)">
<summary>Calculates the 3D audio values between an AudioEmitter and an AudioListener object, and applies the resulting values to this Cue. Reference page contains code sample.</summary>
<param name="listener">The listener to calculate.</param>
<param name="emitter">The emitter to calculate.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.Cue.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.GetVariable(System.String)">
<summary>Gets a cue-instance variable value based on its friendly name.</summary>
<param name="name">Friendly name of the variable.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsCreated">
<summary>Returns whether the cue has been created.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsDisposed">
<summary>Gets a value indicating whether the object has been disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPaused">
<summary>Returns whether the cue is currently paused.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPlaying">
<summary>Returns whether the cue is playing.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPrepared">
<summary>Returns whether the cue is prepared to play.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsPreparing">
<summary>Returns whether the cue is preparing to play.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsStopped">
<summary>Returns whether the cue is currently stopped.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.IsStopping">
<summary>Returns whether the cue is stopping playback.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.Cue.Name">
<summary>Returns the friendly name of the cue.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Pause">
<summary>Pauses playback. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Play">
<summary>Requests playback of a prepared or preparing Cue. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Resume">
<summary>Resumes playback of a paused Cue. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.SetVariable(System.String,System.Single)">
<summary>Sets the value of a cue-instance variable based on its friendly name.</summary>
<param name="name">Friendly name of the variable to set.</param>
<param name="value">Value to assign to the variable.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.Cue.Stop(Microsoft.Xna.Framework.Audio.AudioStopOptions)">
<summary>Stops playback of a Cue. Reference page contains links to related code samples.</summary>
<param name="options">Enumerated value specifying how the sound should stop. If set to None, the sound will play any release phase or transition specified in the audio designer. If set to Immediate, the sound will stop immediately, ignoring any release phases or transitions.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.RendererDetail">
<summary>Represents an audio renderer, which is a device that can render audio to a user.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.Equals(System.Object)">
<summary>Returns a value that indicates whether the current instance is equal to a specified object.</summary>
<param name="obj">Object to compare to this object.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.RendererDetail.FriendlyName">
<summary>Gets the human-readable name for the renderer.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.GetHashCode">
<summary>Gets the hash code for this instance.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.op_Equality(Microsoft.Xna.Framework.Audio.RendererDetail,Microsoft.Xna.Framework.Audio.RendererDetail)">
<summary>Compares two objects to determine whether they are the same.</summary>
<param name="left">Object to the left of the equality operator.</param>
<param name="right">Object to the right of the equality operator.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.op_Inequality(Microsoft.Xna.Framework.Audio.RendererDetail,Microsoft.Xna.Framework.Audio.RendererDetail)">
<summary>Compares two objects to determine whether they are different.</summary>
<param name="left">Object to the left of the inequality operator.</param>
<param name="right">Object to the right of the inequality operator.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.RendererDetail.RendererId">
<summary>Specifies the string that identifies the renderer.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.RendererDetail.ToString">
<summary>Retrieves a string representation of this object.</summary>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.SoundBank">
<summary>Represents a sound bank, which is a collection of cues. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String)">
<summary>Initializes a new instance of this class using a sound bank from file.</summary>
<param name="audioEngine">Audio engine that will be associated with this sound bank.</param>
<param name="filename">Path to the sound bank file.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.SoundBank.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.GetCue(System.String)">
<summary>Gets a cue from the sound bank. Reference page contains links to related code samples.</summary>
<param name="name">Friendly name of the cue to get.</param>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.SoundBank.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.SoundBank.IsInUse">
<summary>Returns whether the sound bank is currently in use.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.PlayCue(System.String)">
<summary>Plays a cue. Reference page contains links to related code samples.</summary>
<param name="name">Name of the cue to play.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.SoundBank.PlayCue(System.String,Microsoft.Xna.Framework.Audio.AudioListener,Microsoft.Xna.Framework.Audio.AudioEmitter)">
<summary>Plays a cue using 3D positional information specified in an AudioListener and AudioEmitter. Reference page contains links to related code samples.</summary>
<param name="name">Name of the cue to play.</param>
<param name="listener">AudioListener that specifies listener 3D audio information.</param>
<param name="emitter">AudioEmitter that specifies emitter 3D audio information.</param>
</member>
<member name="T:Microsoft.Xna.Framework.Audio.WaveBank">
<summary>Represents a wave bank, which is a collection of wave files. Reference page contains links to related code samples.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String)">
<summary>Initializes a new, in-memory instance of this class using a specified AudioEngine and path to a wave bank file.</summary>
<param name="audioEngine">Instance of an AudioEngine to associate this wave bank with.</param>
<param name="nonStreamingWaveBankFilename">Path to the wave bank file to load.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.#ctor(Microsoft.Xna.Framework.Audio.AudioEngine,System.String,System.Int32,System.Int16)">
<summary>Initializes a new, streaming instance of this class, using a provided AudioEngine and streaming wave bank parameters.</summary>
<param name="audioEngine">Instance of an AudioEngine to associate this wave bank with.</param>
<param name="streamingWaveBankFilename">Path to the wave bank file to stream from.</param>
<param name="offset">Offset within the wave bank data file. This offset must be DVD sector aligned.</param>
<param name="packetsize">Stream packet size, in sectors, to use for each stream. The minimum value is 2.</param>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Dispose">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Dispose(System.Boolean)">
<summary>Immediately releases the unmanaged resources used by this object.</summary>
<param name="disposing">[MarshalAsAttribute(U1)] true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</member>
<member name="E:Microsoft.Xna.Framework.Audio.WaveBank.Disposing">
<summary>Occurs when Dispose is called or when this object is finalized and collected by the garbage collector of the Microsoft .NET common language runtime (CLR).</summary>
<param name="" />
</member>
<member name="M:Microsoft.Xna.Framework.Audio.WaveBank.Finalize">
<summary>Allows this object to attempt to free resources and perform other cleanup operations before garbage collection reclaims the object.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsDisposed">
<summary>Gets a value that indicates whether the object is disposed.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsInUse">
<summary>Returns whether the wave bank is currently in use.</summary>
</member>
<member name="P:Microsoft.Xna.Framework.Audio.WaveBank.IsPrepared">
<summary>Returns whether the wave bank is prepared to play.</summary>
</member>
</members>
</doc>

View File

@ -1,41 +1,63 @@
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Stardew Valley.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\StardewModdingAPI.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\xTile.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Lidgren.Network.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Steamworks.NET.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.csprojResolveAssemblyReference.cache
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Lidgren.Network.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Steamworks.NET.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.csprojResolveAssemblyReference.cache
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Stardew Valley.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\StardewModdingAPI.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\xTile.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Lidgren.Network.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Steamworks.NET.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.csprojResolveAssemblyReference.cache
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Lidgren.Network.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Steamworks.NET.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Game.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\bin\Debug\Microsoft.Xna.Framework.Xact.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.csprojResolveAssemblyReference.cache
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\Stardew_Valley_Mod_Folder\BuyBackCollectables\BuyBackCollectables\obj\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\obj\Debug\BuyBackCollectables.csprojResolveAssemblyReference.cache
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\obj\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\obj\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\BuyBackCollectables.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\BuyBackCollectables.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Game.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Stardew Valley.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\StardewModdingAPI.exe
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Lidgren.Network.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Xact.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Steamworks.NET.dll
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Game.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\StardewModdingAPI.pdb
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\BuyBackCollectables\BuyBackCollectables-Source\bin\Debug\Microsoft.Xna.Framework.Xact.xml

View File

@ -1,20 +1,20 @@
Config: Buy Back Collections. Feel free to mess with these settings.
====================================================================================
Key binding
B
Collectables Multiplier Cost: Sell Value * value listed below
3
Config: Buy Back Collections. Feel free to mess with these settings.
====================================================================================
Key binding
Y
Collectables Multiplier Cost: Sell Value * value listed below
3

View File

@ -1,14 +1,14 @@
{
"Name": "BuyBackCollectables",
"Authour": "Alpha_Omegasis",
"Version": {
"MajorVersion": 1,
"MinorVersion": 0,
"PatchVersion": 0,
"Build": ""
},
"Description": "Allows you to buy back any obtained collectable.",
"UniqueID": "BuyBackCollectables",
"PerSaveConfigs": false,
"EntryDll": "BuyBackCollectables.dll"
{
"Name": "BuyBackCollectables",
"Authour": "Alpha_Omegasis",
"Version": {
"MajorVersion": 1,
"MinorVersion": 0,
"PatchVersion": 0,
"Build": ""
},
"Description": "Allows you to buy back any obtained collectable.",
"UniqueID": "BuyBackCollectables",
"PerSaveConfigs": false,
"EntryDll": "BuyBackCollectables.dll"
}

View File

@ -1,16 +1,16 @@
BuyBackCollectables
Version:1.0.2
Version:1.1.0
Published: 8/2/16 12:39 AM
Updated: 8/14/16 12:41 PM
Updated: 10/32/16 10:38 PM
Compatability:
Stardew Valley 1.0.7 Windows
Stardew Valley 1.1.0 Windows
SMAPI 0.40.0
SMAPI 0.40.0 1.1-3
Description:
@ -19,6 +19,11 @@ A simple mod that allows you to buy back any collectable that you have already s
Usage: Press B to open up the buy back menu.
Update Info:
1.1.0
-Updated to SDV 1.1
-Fixed glitch where mouse would not show up on menu draw.
-Fixed glitch where I used a bad math algorithm and you wouldn't be able to buy an item if you had enough money.
1.0.2
-Fixed some bugs where you would accidentally purchase some items when not intending to.