Initial commit
2
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
398
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,398 @@
|
||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.rsuser
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Mono auto generated files
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Ww][Ii][Nn]32/
|
||||||
|
[Aa][Rr][Mm]/
|
||||||
|
[Aa][Rr][Mm]64/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Ll]og/
|
||||||
|
[Ll]ogs/
|
||||||
|
|
||||||
|
# Visual Studio 2015/2017 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# Visual Studio 2017 auto generated files
|
||||||
|
Generated\ Files/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUnit
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
nunit-*.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# Benchmark Results
|
||||||
|
BenchmarkDotNet.Artifacts/
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# ASP.NET Scaffolding
|
||||||
|
ScaffoldingReadMe.txt
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Files built by Visual Studio
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_h.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.iobj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.ipdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*_wpftmp.csproj
|
||||||
|
*.log
|
||||||
|
*.tlog
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# Visual Studio Trace Files
|
||||||
|
*.e2e
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# AxoCover is a Code Coverage Tool
|
||||||
|
.axoCover/*
|
||||||
|
!.axoCover/settings.json
|
||||||
|
|
||||||
|
# Coverlet is a free, cross platform Code Coverage Tool
|
||||||
|
coverage*.json
|
||||||
|
coverage*.xml
|
||||||
|
coverage*.info
|
||||||
|
|
||||||
|
# Visual Studio code coverage results
|
||||||
|
*.coverage
|
||||||
|
*.coveragexml
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# NuGet Symbol Packages
|
||||||
|
*.snupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/[Pp]ackages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/[Pp]ackages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/[Pp]ackages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
*.appx
|
||||||
|
*.appxbundle
|
||||||
|
*.appxupload
|
||||||
|
|
||||||
|
# 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/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Including strong name files can present a security risk
|
||||||
|
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||||
|
#*.snk
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# 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
|
||||||
|
ServiceFabricBackup/
|
||||||
|
*.rptproj.bak
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
*.ndf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
*.rptproj.rsuser
|
||||||
|
*- [Bb]ackup.rdl
|
||||||
|
*- [Bb]ackup ([0-9]).rdl
|
||||||
|
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
|
*.vbw
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
||||||
|
*.vbp
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
||||||
|
*.dsw
|
||||||
|
*.dsp
|
||||||
|
|
||||||
|
# Visual Studio 6 technical files
|
||||||
|
*.ncb
|
||||||
|
*.aps
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# CodeRush personal settings
|
||||||
|
.cr/personal
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Cake - Uncomment if you are using it
|
||||||
|
# tools/**
|
||||||
|
# !tools/packages.config
|
||||||
|
|
||||||
|
# Tabs Studio
|
||||||
|
*.tss
|
||||||
|
|
||||||
|
# Telerik's JustMock configuration file
|
||||||
|
*.jmconfig
|
||||||
|
|
||||||
|
# BizTalk build output
|
||||||
|
*.btp.cs
|
||||||
|
*.btm.cs
|
||||||
|
*.odx.cs
|
||||||
|
*.xsd.cs
|
||||||
|
|
||||||
|
# OpenCover UI analysis results
|
||||||
|
OpenCover/
|
||||||
|
|
||||||
|
# Azure Stream Analytics local run output
|
||||||
|
ASALocalRun/
|
||||||
|
|
||||||
|
# MSBuild Binary and Structured Log
|
||||||
|
*.binlog
|
||||||
|
|
||||||
|
# NVidia Nsight GPU debugger configuration file
|
||||||
|
*.nvuser
|
||||||
|
|
||||||
|
# MFractors (Xamarin productivity tool) working folder
|
||||||
|
.mfractor/
|
||||||
|
|
||||||
|
# Local History for Visual Studio
|
||||||
|
.localhistory/
|
||||||
|
|
||||||
|
# Visual Studio History (VSHistory) files
|
||||||
|
.vshistory/
|
||||||
|
|
||||||
|
# BeatPulse healthcheck temp database
|
||||||
|
healthchecksdb
|
||||||
|
|
||||||
|
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||||
|
MigrationBackup/
|
||||||
|
|
||||||
|
# Ionide (cross platform F# VS Code tools) working folder
|
||||||
|
.ionide/
|
||||||
|
|
||||||
|
# Fody - auto-generated XML schema
|
||||||
|
FodyWeavers.xsd
|
||||||
|
|
||||||
|
# VS Code files for those working on multiple tools
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Windows Installer files from build outputs
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# JetBrains Rider
|
||||||
|
*.sln.iml
|
||||||
66
ChangeCurrency.csproj
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<AssemblyName>ChangeCurrency</AssemblyName>
|
||||||
|
<Description>My first plugin</Description>
|
||||||
|
<Version>1.2.1</Version>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BepInEx.Analyzers" Version="1.*" PrivateAssets="all" />
|
||||||
|
<PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.2">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="BepInEx.Core" Version="5.*" />
|
||||||
|
<PackageReference Include="BepInEx.PluginInfoProps" Version="1.*" />
|
||||||
|
<PackageReference Include="HarmonyX" Version="2.12.0" />
|
||||||
|
<PackageReference Include="UnityEngine.Modules" Version="2021.3.3" IncludeAssets="compile" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'">
|
||||||
|
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Assembly-CSharp" Publicize="true">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="MyBox" Publicize="true">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\MyBox.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Unity.TextMeshPro">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\Unity.TextMeshPro.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.TextCoreFontEngineModule">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\UnityEngine.TextCoreFontEngineModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.TextCoreTextEngineModule">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\UnityEngine.TextCoreTextEngineModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.TextRenderingModule">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.UI">
|
||||||
|
<HintPath>D:\SteamLibrary\steamapps\common\Supermarket Simulator\Supermarket Simulator_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Properties\Resources.Designer.cs">
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Properties\Resources.resx">
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
6
NuGet.Config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<packageSources>
|
||||||
|
<add key="BepInEx" value="https://nuget.bepinex.dev/v3/index.json" />
|
||||||
|
</packageSources>
|
||||||
|
</configuration>
|
||||||
435
Plugin.cs
Normal file
|
|
@ -0,0 +1,435 @@
|
||||||
|
using BepInEx;
|
||||||
|
using BepInEx.Configuration;
|
||||||
|
using BepInEx.Logging;
|
||||||
|
using HarmonyLib;
|
||||||
|
using MyBox;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Reflection.Emit;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.TextCore.Text;
|
||||||
|
|
||||||
|
namespace ChangeCurrency
|
||||||
|
{
|
||||||
|
[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]
|
||||||
|
public class Plugin : BaseUnityPlugin
|
||||||
|
{
|
||||||
|
public static ManualLogSource StaticLogger;
|
||||||
|
|
||||||
|
public static ConfigEntry<string> CurrencyPrefix;
|
||||||
|
public static ConfigEntry<string> CurrencySuffix;
|
||||||
|
public static ConfigEntry<string> CurrencyDecimalSeperator;
|
||||||
|
|
||||||
|
public static ConfigEntry<float> CoinValue1ct;
|
||||||
|
public static ConfigEntry<float> CoinValue5ct;
|
||||||
|
public static ConfigEntry<float> CoinValue10ct;
|
||||||
|
public static ConfigEntry<float> CoinValue25ct;
|
||||||
|
public static ConfigEntry<float> CoinValue50ct;
|
||||||
|
|
||||||
|
public static ConfigEntry<float> BillValue1d;
|
||||||
|
public static ConfigEntry<float> BillValue5d;
|
||||||
|
public static ConfigEntry<float> BillValue10d;
|
||||||
|
public static ConfigEntry<float> BillValue20d;
|
||||||
|
public static ConfigEntry<float> BillValue50d;
|
||||||
|
|
||||||
|
public static ConfigEntry<float> LowestBill;
|
||||||
|
public static ConfigEntry<string> TerminalSymbol;
|
||||||
|
|
||||||
|
public static ConfigEntry<string> ValueText1ct;
|
||||||
|
public static ConfigEntry<string> ValueText5ct;
|
||||||
|
public static ConfigEntry<string> ValueText10ct;
|
||||||
|
public static ConfigEntry<string> ValueText25ct;
|
||||||
|
public static ConfigEntry<string> ValueText50ct;
|
||||||
|
|
||||||
|
public static ConfigEntry<string> ValueText1d;
|
||||||
|
public static ConfigEntry<string> ValueText5d;
|
||||||
|
public static ConfigEntry<string> ValueText10d;
|
||||||
|
public static ConfigEntry<string> ValueText20d;
|
||||||
|
public static ConfigEntry<string> ValueText50d;
|
||||||
|
|
||||||
|
public static ConfigEntry<TextureType> Texture1ct;
|
||||||
|
public static ConfigEntry<TextureType> Texture5ct;
|
||||||
|
public static ConfigEntry<TextureType> Texture10ct;
|
||||||
|
public static ConfigEntry<TextureType> Texture25ct;
|
||||||
|
public static ConfigEntry<TextureType> Texture50ct;
|
||||||
|
|
||||||
|
public static ConfigEntry<TextureType> Texture1d;
|
||||||
|
public static ConfigEntry<TextureType> Texture5d;
|
||||||
|
public static ConfigEntry<TextureType> Texture10d;
|
||||||
|
public static ConfigEntry<TextureType> Texture20d;
|
||||||
|
public static ConfigEntry<TextureType> Texture50d;
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
StaticLogger = Logger;
|
||||||
|
|
||||||
|
InitConfig();
|
||||||
|
|
||||||
|
Logger.LogInfo($"Plugin {PluginInfo.PLUGIN_GUID} is loaded! Applying patch...");
|
||||||
|
Harmony harmony = new Harmony(PluginInfo.PLUGIN_GUID);
|
||||||
|
harmony.PatchAll();
|
||||||
|
}
|
||||||
|
public enum MoneyType
|
||||||
|
{
|
||||||
|
CENT_1 = 0b0001, CENT_5 = 0b0010, CENT_10 = 0b0011, CENT_25 = 0b0100, CENT_50 = 0b0101,
|
||||||
|
DOLLAR_1 = 0b1001, DOLLAR_5 = 0b1010, DOLLAR_10 = 0b1011, DOLLAR_20 = 0b1100, DOLLAR_50 = 0b1101
|
||||||
|
}
|
||||||
|
public enum TextureType
|
||||||
|
{
|
||||||
|
USD, EUR, GBP, SGD, CAD
|
||||||
|
}
|
||||||
|
public static void ApplyMoneyTexture(MoneyType type, CheckoutDrawer instance, int instanceIndex, int prefabIndex)
|
||||||
|
{
|
||||||
|
var tex = GetMoneyTexture(type);
|
||||||
|
if (tex == null) return;
|
||||||
|
instance.gameObject.transform.GetChild(instanceIndex).GetChild(0).GetChild(0).GetComponentsInChildren<MeshRenderer>().ForEach(x => x.sharedMaterials.ForEach(y => y.mainTexture = tex));
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[prefabIndex].GetComponent<MeshRenderer>().sharedMaterials.ForEach(x => x.mainTexture = tex);
|
||||||
|
}
|
||||||
|
private static Texture2D GetMoneyTexture(MoneyType type)
|
||||||
|
{
|
||||||
|
bool isBill = (((int)type) & 0b1000) == 0b1000;
|
||||||
|
Texture2D tex = new Texture2D(isBill ? 2048 : 1024, 1024);
|
||||||
|
var bytes = GetMoneyTextureBytes(type);
|
||||||
|
if (bytes == null) return null;
|
||||||
|
tex.LoadImage(bytes);
|
||||||
|
tex.Apply();
|
||||||
|
return tex;
|
||||||
|
}
|
||||||
|
private static byte[] GetMoneyTextureBytes(MoneyType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case MoneyType.CENT_1:
|
||||||
|
switch (Texture1ct.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur_1;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp_1;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd_1;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad_1;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.CENT_5:
|
||||||
|
switch (Texture5ct.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur_5;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp_5;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd_5;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad_5;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.CENT_10:
|
||||||
|
switch (Texture10ct.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur_10;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp_10;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd_20;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad_10;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.CENT_25:
|
||||||
|
switch (Texture25ct.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur_20;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp_20;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd_50;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad_25;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.CENT_50:
|
||||||
|
switch (Texture50ct.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur_50;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp_50;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd1;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad_50;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.DOLLAR_1:
|
||||||
|
switch (Texture1d.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur1;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp1;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd2;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad1;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.DOLLAR_5:
|
||||||
|
switch (Texture5d.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur5;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp5;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd5;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad5;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.DOLLAR_10:
|
||||||
|
switch (Texture10d.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur10;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp10;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd10;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad10;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.DOLLAR_20:
|
||||||
|
switch (Texture20d.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur20;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp20;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd20;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad20;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
case MoneyType.DOLLAR_50:
|
||||||
|
switch (Texture50d.Value)
|
||||||
|
{
|
||||||
|
case TextureType.EUR:
|
||||||
|
return Properties.Resources.eur50;
|
||||||
|
case TextureType.GBP:
|
||||||
|
return Properties.Resources.gbp50;
|
||||||
|
case TextureType.SGD:
|
||||||
|
return Properties.Resources.sgd50;
|
||||||
|
case TextureType.CAD:
|
||||||
|
return Properties.Resources.cad50;
|
||||||
|
case TextureType.USD:
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void InitConfig()
|
||||||
|
{
|
||||||
|
CurrencyPrefix = Config.Bind("Money Text", "Prefix", "$", "The currency symbol (or arbitrary string) to use in front of the value, where the dollar sign would normally be.");
|
||||||
|
CurrencySuffix = Config.Bind("Money Text", "Suffix", "", "The currency symbol (or arbitrary string) to use after the value, where a euro sign might for example be.");
|
||||||
|
CurrencyDecimalSeperator = Config.Bind("Money Text", "Decimal Seperator", ".", "What symbol to use to seperate the whole number part from the fractional part.");
|
||||||
|
|
||||||
|
CoinValue1ct = Config.Bind("Cash Values", "1 Cent Coin", 0.01f, "What cash value the 1 cent coin should represent.");
|
||||||
|
CoinValue5ct = Config.Bind("Cash Values", "5 Cent Coin", 0.05f, "What cash value the 5 cent coin should represent.");
|
||||||
|
CoinValue10ct = Config.Bind("Cash Values", "10 Cent Coin", 0.1f, "What cash value the 10 cent coin should represent.");
|
||||||
|
CoinValue25ct = Config.Bind("Cash Values", "25 Cent Coin", 0.25f, "What cash value the 25 cent coin should represent.");
|
||||||
|
CoinValue50ct = Config.Bind("Cash Values", "50 Cent Coin", 0.5f, "What cash value the 50 cent coin should represent.");
|
||||||
|
|
||||||
|
BillValue1d = Config.Bind("Cash Values", "1 Dollar Bill", 1f, "What cash value the 1 dollar bill should represent.");
|
||||||
|
BillValue5d = Config.Bind("Cash Values", "5 Dollar Bill", 5f, "What cash value the 5 dollar bill should represent.");
|
||||||
|
BillValue10d = Config.Bind("Cash Values", "10 Dollar Bill", 10f, "What cash value the 10 dollar bill should represent.");
|
||||||
|
BillValue20d = Config.Bind("Cash Values", "20 Dollar Bill", 20f, "What cash value the 20 dollar bill should represent.");
|
||||||
|
BillValue50d = Config.Bind("Cash Values", "50 Dollar Bill", 50f, "What cash value the 50 dollar bill should represent.");
|
||||||
|
|
||||||
|
ValueText1ct = Config.Bind("Value Texts", "1 Cent Coin", "1¢", "What value text to display below the 1 cent coin.");
|
||||||
|
ValueText5ct = Config.Bind("Value Texts", "5 Cent Coin", "5¢", "What value text to display below the 5 cent coin.");
|
||||||
|
ValueText10ct = Config.Bind("Value Texts", "10 Cent Coin", "10¢", "What value text to display below the 10 cent coin.");
|
||||||
|
ValueText25ct = Config.Bind("Value Texts", "25 Cent Coin", "25¢", "What value text to display below the 25 cent coin.");
|
||||||
|
ValueText50ct = Config.Bind("Value Texts", "50 Cent Coin", "50¢", "What value text to display below the 50 cent coin.");
|
||||||
|
|
||||||
|
ValueText1d = Config.Bind("Value Texts", "1 Dollar Bill", "$1", "What value text to display above the 1 dollar bill.");
|
||||||
|
ValueText5d = Config.Bind("Value Texts", "5 Dollar Bill", "$5", "What value text to display above the 5 dollar bill.");
|
||||||
|
ValueText10d = Config.Bind("Value Texts", "10 Dollar Bill", "$10", "What value text to display above the 10 dollar bill.");
|
||||||
|
ValueText20d = Config.Bind("Value Texts", "20 Dollar Bill", "$20", "What value text to display above the 20 dollar bill.");
|
||||||
|
ValueText50d = Config.Bind("Value Texts", "50 Dollar Bill", "$50", "What value text to display above the 50 dollar bill.");
|
||||||
|
|
||||||
|
Texture1ct = Config.Bind("Texture Types", "1 Cent Coin", TextureType.USD, "What visual style this coin should have.");
|
||||||
|
Texture5ct = Config.Bind("Texture Types", "5 Cent Coin", TextureType.USD, "What visual style this coin should have.");
|
||||||
|
Texture10ct = Config.Bind("Texture Types", "10 Cent Coin", TextureType.USD, "What visual style this coin should have.");
|
||||||
|
Texture25ct = Config.Bind("Texture Types", "25 Cent Coin", TextureType.USD, "What visual style this coin should have.");
|
||||||
|
Texture50ct = Config.Bind("Texture Types", "50 Cent Coin", TextureType.USD, "What visual style this coin should have.");
|
||||||
|
|
||||||
|
Texture1d = Config.Bind("Texture Types", "1 Dollar Bill", TextureType.USD, "What visual style this bill should have.");
|
||||||
|
Texture5d = Config.Bind("Texture Types", "5 Dollar Bill", TextureType.USD, "What visual style this bill should have.");
|
||||||
|
Texture10d = Config.Bind("Texture Types", "10 Dollar Bill", TextureType.USD, "What visual style this bill should have.");
|
||||||
|
Texture20d = Config.Bind("Texture Types", "20 Dollar Bill", TextureType.USD, "What visual style this bill should have.");
|
||||||
|
Texture50d = Config.Bind("Texture Types", "50 Dollar Bill", TextureType.USD, "What visual style this bill should have.");
|
||||||
|
|
||||||
|
LowestBill = Config.Bind("Miscellaneous", "Lowest Bill", 1f, "The lowest value of money that should be considered a bill by the game.");
|
||||||
|
TerminalSymbol = Config.Bind("Miscellaneous", "Terminal Symbol", "$", "What symbol to display on the credit card terminal.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static class CheckoutDrawerPatch
|
||||||
|
{
|
||||||
|
[HarmonyPatch(typeof(CheckoutChangeManager), "SpawnMoney")]
|
||||||
|
public static class CheckoutChangeManager_SpawnMoney_Patch
|
||||||
|
{
|
||||||
|
public static void Prefix(bool isCoin) => Plugin.StaticLogger.LogWarning(isCoin);
|
||||||
|
}
|
||||||
|
[HarmonyPatch(typeof(CheckoutChangeManager), "AddOrRemoveMoney")]
|
||||||
|
public static class CheckoutChangeManager_AddOrRemoveMoney_Patch
|
||||||
|
{
|
||||||
|
public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
|
||||||
|
{
|
||||||
|
foreach (var instruction in instructions)
|
||||||
|
{
|
||||||
|
// Check if the instruction loads the constant 1f onto the stack
|
||||||
|
if (instruction.opcode == OpCodes.Ldc_R4 && (float)instruction.operand == 1f)
|
||||||
|
{
|
||||||
|
// Replace the constant 1f with your desired value (e.g., 2f)
|
||||||
|
yield return new CodeInstruction(OpCodes.Ldc_R4, Plugin.LowestBill.Value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
yield return instruction;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[HarmonyPatch(typeof(PosTerminal), "Start")]
|
||||||
|
public static class PosTerminal_Start_Patch
|
||||||
|
{
|
||||||
|
public static void Postfix(PosTerminal __instance)
|
||||||
|
{
|
||||||
|
string p = Plugin.TerminalSymbol.Value;
|
||||||
|
__instance.gameObject.transform.GetChild(2).GetChild(2).GetChild(1).GetComponent<TextMeshProUGUI>().text = p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[HarmonyPatch(typeof(CheckoutDrawer), "Awake")]
|
||||||
|
public static class CheckoutDrawer_Awake_Patch
|
||||||
|
{
|
||||||
|
public static void Postfix(CheckoutDrawer __instance)
|
||||||
|
{
|
||||||
|
void UpdateText(TextMeshProUGUI text, string newText)
|
||||||
|
{
|
||||||
|
text.text = newText;
|
||||||
|
text.enableWordWrapping = false;
|
||||||
|
text.gameObject.SetActive(false);
|
||||||
|
text.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
__instance.gameObject.transform.GetChild(6).GetComponent<MoneyPack>().Value = Plugin.CoinValue1ct.Value; // $0.01
|
||||||
|
__instance.gameObject.transform.GetChild(7).GetComponent<MoneyPack>().Value = Plugin.CoinValue5ct.Value; // $0.05
|
||||||
|
__instance.gameObject.transform.GetChild(8).GetComponent<MoneyPack>().Value = Plugin.CoinValue10ct.Value; // $0.10
|
||||||
|
__instance.gameObject.transform.GetChild(9).GetComponent<MoneyPack>().Value = Plugin.CoinValue25ct.Value; // $0.25
|
||||||
|
__instance.gameObject.transform.GetChild(10).GetComponent<MoneyPack>().Value = Plugin.CoinValue50ct.Value; // $0.50
|
||||||
|
|
||||||
|
__instance.gameObject.transform.GetChild(1).GetComponent<MoneyPack>().Value = Plugin.BillValue1d.Value; // $1.00
|
||||||
|
__instance.gameObject.transform.GetChild(2).GetComponent<MoneyPack>().Value = Plugin.BillValue5d.Value; // $5.00
|
||||||
|
__instance.gameObject.transform.GetChild(3).GetComponent<MoneyPack>().Value = Plugin.BillValue10d.Value; // $10.00
|
||||||
|
__instance.gameObject.transform.GetChild(4).GetComponent<MoneyPack>().Value = Plugin.BillValue20d.Value; // $20.00
|
||||||
|
__instance.gameObject.transform.GetChild(5).GetComponent<MoneyPack>().Value = Plugin.BillValue50d.Value; // $50.00
|
||||||
|
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(5).GetComponent<TextMeshProUGUI>(), Plugin.ValueText1ct.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(6).GetComponent<TextMeshProUGUI>(), Plugin.ValueText5ct.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(7).GetComponent<TextMeshProUGUI>(), Plugin.ValueText10ct.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(8).GetComponent<TextMeshProUGUI>(), Plugin.ValueText25ct.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(9).GetComponent<TextMeshProUGUI>(), Plugin.ValueText50ct.Value);
|
||||||
|
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(0).GetComponent<TextMeshProUGUI>(), Plugin.ValueText1d.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(1).GetComponent<TextMeshProUGUI>(), Plugin.ValueText5d.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(2).GetComponent<TextMeshProUGUI>(), Plugin.ValueText10d.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(3).GetComponent<TextMeshProUGUI>(), Plugin.ValueText20d.Value);
|
||||||
|
UpdateText(__instance.gameObject.transform.GetChild(11).GetChild(4).GetComponent<TextMeshProUGUI>(), Plugin.ValueText50d.Value);
|
||||||
|
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[0].Value = Plugin.CoinValue1ct.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[1].Value = Plugin.CoinValue5ct.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[2].Value = Plugin.CoinValue10ct.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[3].Value = Plugin.CoinValue25ct.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[4].Value = Plugin.CoinValue50ct.Value;
|
||||||
|
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[5].Value = Plugin.BillValue1d.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[6].Value = Plugin.BillValue5d.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[7].Value = Plugin.BillValue10d.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[8].Value = Plugin.BillValue20d.Value;
|
||||||
|
Singleton<MoneyGenerator>.Instance.m_MoneyPrefabs[9].Value = Plugin.BillValue50d.Value;
|
||||||
|
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.DOLLAR_1, __instance, 1, 5);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.DOLLAR_5, __instance, 2, 6);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.DOLLAR_10, __instance, 3, 7);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.DOLLAR_20, __instance, 4, 8);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.DOLLAR_50, __instance, 5, 9);
|
||||||
|
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.CENT_1, __instance, 6, 0);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.CENT_5, __instance, 7, 1);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.CENT_10, __instance, 8, 2);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.CENT_25, __instance, 9, 3);
|
||||||
|
Plugin.ApplyMoneyTexture(Plugin.MoneyType.CENT_50, __instance, 10, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static class MoneySymbolPatch
|
||||||
|
{
|
||||||
|
|
||||||
|
[HarmonyPatch(typeof(Extensions), "ToMoneyText")]
|
||||||
|
public static class Extensions_ToMoneyText_Patch
|
||||||
|
{
|
||||||
|
public static void Postfix(ref string __result, ref float money, ref float fontSize)
|
||||||
|
{
|
||||||
|
string p = Plugin.CurrencyPrefix.Value;
|
||||||
|
string s = Plugin.CurrencySuffix.Value;
|
||||||
|
string d = Plugin.CurrencyDecimalSeperator.Value;
|
||||||
|
string text;
|
||||||
|
if (money < 0f)
|
||||||
|
{
|
||||||
|
text = "-$" + Math.Abs((float)Math.Round((double)money, 2)).ToString("0.00");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
text = "$" + ((float)Math.Round((double)money, 2)).ToString("0.00");
|
||||||
|
}
|
||||||
|
text = text.Replace(',', '.');
|
||||||
|
text = text.Replace(".", d);
|
||||||
|
text = text.Replace("$", p);
|
||||||
|
text = text + s;
|
||||||
|
int num = text.IndexOf(d);
|
||||||
|
if (num != -1)
|
||||||
|
{
|
||||||
|
string text2 = "<size=" + (fontSize * 20f / 25f).ToString() + ">";
|
||||||
|
text2 = text2.Replace(',', '.');
|
||||||
|
text = text.Insert(num + 1, text2);
|
||||||
|
}
|
||||||
|
__result = text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
463
Properties/Resources.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,463 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Dieser Code wurde von einem Tool generiert.
|
||||||
|
// Laufzeitversion:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||||
|
// der Code erneut generiert wird.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace ChangeCurrency.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||||
|
/// </summary>
|
||||||
|
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||||
|
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||||
|
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||||
|
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ChangeCurrency.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||||
|
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad_1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad_1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad_10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad_10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad_25 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad_25", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad_5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad_5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad_50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad_50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] cad50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("cad50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur_1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur_1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur_10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur_10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur_20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur_20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur_5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur_5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur_50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur_50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] eur50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("eur50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp_1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp_1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp_10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp_10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp_20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp_20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp_5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp_5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp_50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp_50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] gbp50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gbp50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd_1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd_1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd_20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd_20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd_5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd_5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd_50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd_50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd1", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd10 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd10", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd2 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd2", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd20 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd20", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd5 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd5", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
public static byte[] sgd50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("sgd50", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
241
Properties/Resources.resx
Normal file
|
|
@ -0,0 +1,241 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="cad1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\US_one_dollar_bill,_obverse,_series_2009.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\US10dollarbill-Series_2004A.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\US_$20_Series_2006_Obverse.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\US_$5_Series_2006_obverse.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\50_USD_Series_2004_Note_Front.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\One_Cent_Tras.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad_10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Ten_Cents_Frente.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad_25" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\25_Cents_Front.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad_5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Five_Cents_Tras.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="cad_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\50_Cents_Frente.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Screenshot 2024-03-29 141419.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\EU10Eurobill-Series_2004A-sharedassets0.assets-1717.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\20.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Screenshot 2024-03-29 141218.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\50.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\germany-1-euro-cent-2002-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur_10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\10_eurocent_common_2007.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur_20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\20_eurocent_common_2007.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur_5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\61fe0eecddda17.09298112-original-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="eur_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\605d7123e494b1.61599945-original-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\5ea53be3436f91.68585950-original.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Screenshot 2024-03-29 145207.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\gbp-20-front.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Screenshot 2024-03-29 145122.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\products-15898.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\th-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp_10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\314_coin-designs-and-specifications_10p-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp_20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\314_coin-designs-and-specifications_20p-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp_5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\314_coin-designs-and-specifications_5p-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="gbp_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\314_coin-designs-and-specifications_50p-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\443663b-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd10" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\sgd10.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\626c1e69574431.97909339-original.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Screenshot 2024-03-31 112554.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\5e981ed7ccc916.18968393-original.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\50-singapore-dollars-banknote-president-encik-yusof-bin-ishak-obverse-1.jpg;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\360-original-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd_20" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\1829-original-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd_5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\1833-original-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="sgd_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\products-19024-removebg-preview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
BIN
Resources/100.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
Resources/10_eurocent_common_2007.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
Resources/1829-original-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 369 KiB |
BIN
Resources/1833-original-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 451 KiB |
BIN
Resources/1_euro.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
Resources/20.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
Resources/20_eurocent_common_2007.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
Resources/25_Cents_Front.png
Normal file
|
After Width: | Height: | Size: 242 KiB |
|
After Width: | Height: | Size: 264 KiB |
|
After Width: | Height: | Size: 530 KiB |
|
After Width: | Height: | Size: 262 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 296 KiB |
BIN
Resources/360-original-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 368 KiB |
BIN
Resources/443663b-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 517 KiB |
|
After Width: | Height: | Size: 89 KiB |
BIN
Resources/50.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
Resources/50_Cents_Frente.png
Normal file
|
After Width: | Height: | Size: 254 KiB |
BIN
Resources/50_USD_Series_2004_Note_Front.png
Normal file
|
After Width: | Height: | Size: 842 KiB |
BIN
Resources/5e981ed7ccc916.18968393-original.jpg
Normal file
|
After Width: | Height: | Size: 255 KiB |
BIN
Resources/5ea53be3436f91.68585950-original.jpg
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
Resources/605d7123e494b1.61599945-original-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 388 KiB |
BIN
Resources/61fe0eecddda17.09298112-original-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
Resources/626c1e69574431.97909339-original.jpg
Normal file
|
After Width: | Height: | Size: 441 KiB |
BIN
Resources/62a822d2a8b966.44428801-original.jpg
Normal file
|
After Width: | Height: | Size: 719 KiB |
BIN
Resources/EU-5_Series_2002_obverse-sharedassets0.assets-005.png
Normal file
|
After Width: | Height: | Size: 4.7 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
BIN
Resources/Five_Cents_Tras.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
Resources/One_Cent_Tras.png
Normal file
|
After Width: | Height: | Size: 239 KiB |
BIN
Resources/Screenshot 2024-03-29 141218.jpg
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
Resources/Screenshot 2024-03-29 141315.jpg
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
Resources/Screenshot 2024-03-29 141419.jpg
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
Resources/Screenshot 2024-03-29 145122.jpg
Normal file
|
After Width: | Height: | Size: 239 KiB |
BIN
Resources/Screenshot 2024-03-29 145207.jpg
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
Resources/Screenshot 2024-03-31 112554.jpg
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
Resources/Ten_Cents_Frente.png
Normal file
|
After Width: | Height: | Size: 237 KiB |
BIN
Resources/US10dollarbill-Series_2004A.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
Resources/US_$20_Series_2006_Obverse.png
Normal file
|
After Width: | Height: | Size: 1 MiB |
BIN
Resources/US_$5_Series_2006_obverse.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
Resources/US_one_dollar_bill,_obverse,_series_2009.png
Normal file
|
After Width: | Height: | Size: 769 KiB |
BIN
Resources/gbp-20-front.jpg
Normal file
|
After Width: | Height: | Size: 124 KiB |
BIN
Resources/germany-1-euro-cent-2002-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 484 KiB |
BIN
Resources/products-15892.jpg
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
Resources/products-15898.jpg
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
Resources/products-19024-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 409 KiB |
BIN
Resources/sgd10.jpg
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
Resources/th-removebg-preview.png
Normal file
|
After Width: | Height: | Size: 291 KiB |