Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7598f3a530 | ||
|
|
4950376727
|
||
|
|
e94e2ed8e2
|
||
|
|
91b5de363b
|
@@ -2,6 +2,7 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:GTAOnlineCasinoHelper"
|
||||
xmlns:system="clr-namespace:System;assembly=mscorlib"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Classes
|
||||
{
|
||||
public class CeoCollection
|
||||
{
|
||||
/*public static readonly CeoPlate Z_TYPE_BIGMONEY = new CeoPlate(CeoModel.Z_TYPE, "B1GMON3Y", true);
|
||||
public static readonly CeoPlate Z_TYPE_KINGPIN = new CeoPlate(CeoModel.Z_TYPE, "K1NGP1N", false);
|
||||
public static readonly CeoPlate Z_TYPE_CEO = new CeoPlate(CeoModel.Z_TYPE, "CE0", false);
|
||||
public static readonly CeoPlate ETR_ONE_PRETTY = new CeoPlate(CeoModel.ETR_ONE, "PR3TTY", true);
|
||||
public static readonly CeoPlate ETR_ONE_BIGBOY = new CeoPlate(CeoModel.ETR_ONE, "B1GB0Y", false);
|
||||
public static readonly CeoPlate ETR_ONE_MONARCH = new CeoPlate(CeoModel.ETR_ONE, "M0N4RCH", false);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_SLICK = new CeoPlate(CeoModel.EIGHT_ELEVEN, "SL1CK", true);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_MIDLIFE = new CeoPlate(CeoModel.EIGHT_ELEVEN, "M1DL1F3", false);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_REGAL = new CeoPlate(CeoModel.EIGHT_ELEVEN, "R3G4L", false);
|
||||
public static readonly CeoPlate OSIRIS_SLEEK = new CeoPlate(CeoModel.OSIRIS, "SL33K", true);
|
||||
public static readonly CeoPlate OSIRIS_OHELLO = new CeoPlate(CeoModel.OSIRIS, "OH3LL0", false);
|
||||
public static readonly CeoPlate OSIRIS_PHARAOH = new CeoPlate(CeoModel.OSIRIS, "PH4R40H", false);
|
||||
public static readonly CeoPlate REAPER_DEATH4U = new CeoPlate(CeoModel.REAPER, "D34TH4U", true);
|
||||
public static readonly CeoPlate REAPER_2FAST4U = new CeoPlate(CeoModel.REAPER, "2FA5T4U", false);
|
||||
public static readonly CeoPlate REAPER_GRIM = new CeoPlate(CeoModel.REAPER, "GR1M", false);
|
||||
public static readonly CeoPlate MAMBA_BLKMAMBA = new CeoPlate(CeoModel.MAMBA, "BLKM4MB4", true);
|
||||
public static readonly CeoPlate MAMBA_OLDBLUE = new CeoPlate(CeoModel.MAMBA, "0LDBLU3", false);
|
||||
public static readonly CeoPlate MAMBA_VIP = new CeoPlate(CeoModel.MAMBA, "V1P", false);
|
||||
public static readonly CeoPlate FMJ_CATCHME = new CeoPlate(CeoModel.FMJ, "C4TCHM3", true);
|
||||
public static readonly CeoPlate FMJ_JOKER = new CeoPlate(CeoModel.FMJ, "J0K3R", false);
|
||||
public static readonly CeoPlate FMJ_HOT4U = new CeoPlate(CeoModel.FMJ, "H0T4U", false);
|
||||
public static readonly CeoPlate STIRLING_GT_RALLY = new CeoPlate(CeoModel.STIRLING_GT, "R4LLY", true);
|
||||
public static readonly CeoPlate STIRLING_GT_MAJESTIC = new CeoPlate(CeoModel.STIRLING_GT, "M4J3ST1C", false);
|
||||
public static readonly CeoPlate STIRLING_GT_TOURER = new CeoPlate(CeoModel.STIRLING_GT, "T0UR3R", false);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_MAKEBANK = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "M4K3B4NK", true);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_FUTURE = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "FUTUR3", false);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_TURBO = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "TURB0", false);
|
||||
public static readonly CeoPlate TYRUS_CITRUS = new CeoPlate(CeoModel.TYRUS, "C1TRUS", true);
|
||||
public static readonly CeoPlate TYRUS_BESTLAP = new CeoPlate(CeoModel.TYRUS, "B35TL4P", false);
|
||||
public static readonly CeoPlate TYRUS_TREX = new CeoPlate(CeoModel.TYRUS, "TR3X", false);
|
||||
public static readonly CeoPlate T_TWENTY_DEVIL = new CeoPlate(CeoModel.T_TWENTY, "D3V1L", true);
|
||||
public static readonly CeoPlate T_TWENTY_CARAMEL = new CeoPlate(CeoModel.T_TWENTY, "CAR4M3L", false);
|
||||
public static readonly CeoPlate T_TWENTY_TOPSPEED = new CeoPlate(CeoModel.T_TWENTY, "T0PSP33D", false);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_OLDTIMER = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "0LDT1M3R", true);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_LAWLESS = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "L4WLE55", false);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_VALOR = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "V4L0R", false);*/
|
||||
|
||||
private readonly CeoModel model;
|
||||
private readonly string plate;
|
||||
private readonly bool collection;
|
||||
|
||||
private CeoCollection(CeoModel model, string plate, bool collection)
|
||||
{
|
||||
this.model = model;
|
||||
this.plate = plate;
|
||||
this.collection = collection;
|
||||
}
|
||||
|
||||
public CeoModel GetModel()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
|
||||
public string GetPlate()
|
||||
{
|
||||
return plate;
|
||||
}
|
||||
|
||||
public bool IsCollection()
|
||||
{
|
||||
return collection;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
return ReferenceEquals(this, obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int hashCode = 17;
|
||||
hashCode = 31 * hashCode + model.GetHashCode();
|
||||
hashCode = 31 * hashCode + plate.GetHashCode();
|
||||
hashCode = 31 * hashCode + collection.GetHashCode();
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using GTAOnlineCasinoHelper.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Classes
|
||||
{
|
||||
public class CeoModel
|
||||
{
|
||||
private static readonly CultureInfo EN_US = CultureInfo.CreateSpecificCulture("en-US");
|
||||
private static readonly List<CeoModel> CEO_MODELS = new List<CeoModel>();
|
||||
|
||||
#region Standard Range
|
||||
#endregion
|
||||
#region Mid Range
|
||||
public static readonly CeoModel COQUETTE_CLASSIC = new CeoModel("Coquette Classic", CeoRange.MID);
|
||||
public static readonly CeoModel VERLIERER = new CeoModel("Verlierer", CeoRange.MID);
|
||||
public static readonly CeoModel ZENTORNO = new CeoModel("Zentorno", CeoRange.MID);
|
||||
public static readonly CeoModel TROPOS_RALLYE = new CeoModel("Tropos Rallye", CeoRange.MID);
|
||||
public static readonly CeoModel SULTAN_RS = new CeoModel("Sultan RS", CeoRange.MID);
|
||||
public static readonly CeoModel CHEETAH = new CeoModel("Cheetah", CeoRange.MID);
|
||||
public static readonly CeoModel SEVEN_SEVENTY = new CeoModel("Seven-70", CeoRange.MID);
|
||||
public static readonly CeoModel OMNIS = new CeoModel("Omnis", CeoRange.MID);
|
||||
public static readonly CeoModel ENTITY_XF = new CeoModel("Entity XF", CeoRange.MID);
|
||||
public static readonly CeoModel COQUETTE_BLACKFIN = new CeoModel("Coquette BlackFin", CeoRange.MID);
|
||||
#endregion
|
||||
#region Top Range
|
||||
public static readonly CeoModel Z_TYPE = new CeoModel("Z-Type", CeoRange.TOP);
|
||||
public static readonly CeoModel ETR_ONE = new CeoModel("ETR1", CeoRange.TOP);
|
||||
public static readonly CeoModel EIGHT_ELEVEN = new CeoModel("811", CeoRange.TOP);
|
||||
public static readonly CeoModel OSIRIS = new CeoModel("Osiris", CeoRange.TOP);
|
||||
public static readonly CeoModel REAPER = new CeoModel("Reaper", CeoRange.TOP);
|
||||
public static readonly CeoModel MAMBA = new CeoModel("Mamba", CeoRange.TOP);
|
||||
public static readonly CeoModel FMJ = new CeoModel("FMJ", CeoRange.TOP);
|
||||
public static readonly CeoModel STIRLING_GT = new CeoModel("Stirling GT", CeoRange.TOP);
|
||||
public static readonly CeoModel X_EIGHTY_PROTO = new CeoModel("X80 Proto", CeoRange.TOP);
|
||||
public static readonly CeoModel TYRUS = new CeoModel("Tyrus", CeoRange.TOP);
|
||||
public static readonly CeoModel T_TWENTY = new CeoModel("T20", CeoRange.TOP);
|
||||
public static readonly CeoModel ROOSEVELT_VALOR = new CeoModel("Roosevelt Valor", CeoRange.TOP);
|
||||
#endregion
|
||||
|
||||
public string Name { get; }
|
||||
public CeoRange Range { get; }
|
||||
|
||||
private CeoModel(string name, CeoRange range)
|
||||
{
|
||||
Name = name;
|
||||
Range = range;
|
||||
CEO_MODELS.Add(this);
|
||||
}
|
||||
|
||||
public static List<CeoModel> GetCeoModels()
|
||||
{
|
||||
return CEO_MODELS;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Name}";
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
return ReferenceEquals(this, obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int hashCode = 17;
|
||||
hashCode = 31 * hashCode + Name.GetHashCode();
|
||||
hashCode = 31 * hashCode + Range.GetHashCode();
|
||||
return hashCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Classes
|
||||
{
|
||||
public class CeoPlate
|
||||
{
|
||||
|
||||
private static readonly Dictionary<string, CeoPlate> PLATE_OBJECT_MAP = new Dictionary<string, CeoPlate>();
|
||||
|
||||
#region Mid Range
|
||||
public static readonly CeoPlate COQUETTE_CLASSIC_TOPLESS = new CeoPlate(CeoModel.COQUETTE_CLASSIC, "T0PL3SS", true);
|
||||
public static readonly CeoPlate COQUETTE_CLASSIC_TOFFEE = new CeoPlate(CeoModel.COQUETTE_CLASSIC, "T0FF33", false);
|
||||
public static readonly CeoPlate COQUETTE_CLASSIC_CLASSY = new CeoPlate(CeoModel.COQUETTE_CLASSIC, "CL45SY", false);
|
||||
public static readonly CeoPlate VERLIERER_PRECIOUS = new CeoPlate(CeoModel.VERLIERER, "PR3C1OUS", true);
|
||||
public static readonly CeoPlate VERLIERER_OUTFRONT = new CeoPlate(CeoModel.VERLIERER, "0UTFR0NT", false);
|
||||
public static readonly CeoPlate VERLIERER_CURVES = new CeoPlate(CeoModel.VERLIERER, "CURV35", false);
|
||||
public static readonly CeoPlate ZENTORNO_WINNING = new CeoPlate(CeoModel.ZENTORNO, "W1NN1NG", true);
|
||||
public static readonly CeoPlate ZENTORNO_OLDNEWS = new CeoPlate(CeoModel.ZENTORNO, "0LDN3W5", false);
|
||||
public static readonly CeoPlate ZENTORNO_HERO = new CeoPlate(CeoModel.ZENTORNO, "H3R0", false);
|
||||
public static readonly CeoPlate TROPOS_RALLYE_1985 = new CeoPlate(CeoModel.TROPOS_RALLYE, "1985", true);
|
||||
public static readonly CeoPlate TROPOS_RALLYE_IMSORAD = new CeoPlate(CeoModel.TROPOS_RALLYE, "1MS0RAD", false);
|
||||
public static readonly CeoPlate TROPOS_RALLYE_EIGHTIES = new CeoPlate(CeoModel.TROPOS_RALLYE, "31GHT135", false);
|
||||
public static readonly CeoPlate SULTAN_RS_SNOWFLKE = new CeoPlate(CeoModel.SULTAN_RS, "SN0WFLK3", true);
|
||||
public static readonly CeoPlate SULTAN_RS_FIDELITY = new CeoPlate(CeoModel.SULTAN_RS, "F1D3L1TY", false);
|
||||
public static readonly CeoPlate SULTAN_RS_SHOWOFF = new CeoPlate(CeoModel.SULTAN_RS, "5H0W0FF", false);
|
||||
public static readonly CeoPlate CHEETAH_BUZZED = new CeoPlate(CeoModel.CHEETAH, "BUZZ3D", true);
|
||||
public static readonly CeoPlate CHEETAH_MIDNIGHT = new CeoPlate(CeoModel.CHEETAH, "M1DN1GHT", false);
|
||||
public static readonly CeoPlate CHEETAH_BIGCAT = new CeoPlate(CeoModel.CHEETAH, "B1GC4T", false);
|
||||
public static readonly CeoPlate SEVEN_SEVENTY_ALLOYS = new CeoPlate(CeoModel.SEVEN_SEVENTY, "4LL0Y5", true);
|
||||
public static readonly CeoPlate SEVEN_SEVENTY_FRUITY = new CeoPlate(CeoModel.SEVEN_SEVENTY, "FRU1TY", false);
|
||||
public static readonly CeoPlate SEVEN_SEVENTY_SPEEDY = new CeoPlate(CeoModel.SEVEN_SEVENTY, "SP33DY", false);
|
||||
public static readonly CeoPlate OMNIS_WIDEBOD = new CeoPlate(CeoModel.OMNIS, "W1D3B0D", true);
|
||||
public static readonly CeoPlate OMNIS_OBEYME = new CeoPlate(CeoModel.OMNIS, "0BEYM3", false);
|
||||
public static readonly CeoPlate OMNIS_DIRTY = new CeoPlate(CeoModel.OMNIS, "D1RTY", false);
|
||||
public static readonly CeoPlate ENTITY_XF_OVERFLOD = new CeoPlate(CeoModel.ENTITY_XF, "0V3RFL0D", true);
|
||||
public static readonly CeoPlate ENTITY_XF_IMLATE = new CeoPlate(CeoModel.ENTITY_XF, "IML4TE", false);
|
||||
public static readonly CeoPlate ENTITY_XF_WIDEBOY = new CeoPlate(CeoModel.ENTITY_XF, "W1DEB0Y", false);
|
||||
public static readonly CeoPlate COQUETTE_BLACKFIN_VINTAGE = new CeoPlate(CeoModel.COQUETTE_BLACKFIN, "V1NT4G3", true);
|
||||
public static readonly CeoPlate COQUETTE_BLACKFIN_WIPEOUT = new CeoPlate(CeoModel.COQUETTE_BLACKFIN, "W1P3OUT", false);
|
||||
public static readonly CeoPlate COQUETTE_BLACKFIN_BLKFIN = new CeoPlate(CeoModel.COQUETTE_BLACKFIN, "BLKF1N", false);
|
||||
#endregion
|
||||
#region Top Range
|
||||
public static readonly CeoPlate Z_TYPE_BIGMONEY = new CeoPlate(CeoModel.Z_TYPE, "B1GMON3Y", true);
|
||||
public static readonly CeoPlate Z_TYPE_KINGPIN = new CeoPlate(CeoModel.Z_TYPE, "K1NGP1N", false);
|
||||
public static readonly CeoPlate Z_TYPE_CEO = new CeoPlate(CeoModel.Z_TYPE, "CE0", false);
|
||||
public static readonly CeoPlate ETR_ONE_PRETTY = new CeoPlate(CeoModel.ETR_ONE, "PR3TTY", true);
|
||||
public static readonly CeoPlate ETR_ONE_BIGBOY = new CeoPlate(CeoModel.ETR_ONE, "B1GB0Y", false);
|
||||
public static readonly CeoPlate ETR_ONE_MONARCH = new CeoPlate(CeoModel.ETR_ONE, "M0N4RCH", false);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_SLICK = new CeoPlate(CeoModel.EIGHT_ELEVEN, "SL1CK", true);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_MIDLIFE = new CeoPlate(CeoModel.EIGHT_ELEVEN, "M1DL1F3", false);
|
||||
public static readonly CeoPlate EIGHT_ELEVEN_REGAL = new CeoPlate(CeoModel.EIGHT_ELEVEN, "R3G4L", false);
|
||||
public static readonly CeoPlate OSIRIS_SLEEK = new CeoPlate(CeoModel.OSIRIS, "SL33K", true);
|
||||
public static readonly CeoPlate OSIRIS_OHELLO = new CeoPlate(CeoModel.OSIRIS, "OH3LL0", false);
|
||||
public static readonly CeoPlate OSIRIS_PHARAOH = new CeoPlate(CeoModel.OSIRIS, "PH4R40H", false);
|
||||
public static readonly CeoPlate REAPER_DEATH4U = new CeoPlate(CeoModel.REAPER, "D34TH4U", true);
|
||||
public static readonly CeoPlate REAPER_2FAST4U = new CeoPlate(CeoModel.REAPER, "2FA5T4U", false);
|
||||
public static readonly CeoPlate REAPER_GRIM = new CeoPlate(CeoModel.REAPER, "GR1M", false);
|
||||
public static readonly CeoPlate MAMBA_BLKMAMBA = new CeoPlate(CeoModel.MAMBA, "BLKM4MB4", true);
|
||||
public static readonly CeoPlate MAMBA_OLDBLUE = new CeoPlate(CeoModel.MAMBA, "0LDBLU3", false);
|
||||
public static readonly CeoPlate MAMBA_VIP = new CeoPlate(CeoModel.MAMBA, "V1P", false);
|
||||
public static readonly CeoPlate FMJ_CATCHME = new CeoPlate(CeoModel.FMJ, "C4TCHM3", true);
|
||||
public static readonly CeoPlate FMJ_JOKER = new CeoPlate(CeoModel.FMJ, "J0K3R", false);
|
||||
public static readonly CeoPlate FMJ_HOT4U = new CeoPlate(CeoModel.FMJ, "H0T4U", false);
|
||||
public static readonly CeoPlate STIRLING_GT_RALLY = new CeoPlate(CeoModel.STIRLING_GT, "R4LLY", true);
|
||||
public static readonly CeoPlate STIRLING_GT_MAJESTIC = new CeoPlate(CeoModel.STIRLING_GT, "M4J3ST1C", false);
|
||||
public static readonly CeoPlate STIRLING_GT_TOURER = new CeoPlate(CeoModel.STIRLING_GT, "T0UR3R", false);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_MAKEBANK = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "M4K3B4NK", true);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_FUTURE = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "FUTUR3", false);
|
||||
public static readonly CeoPlate X_EIGHTY_PROTO_TURBO = new CeoPlate(CeoModel.X_EIGHTY_PROTO, "TURB0", false);
|
||||
public static readonly CeoPlate TYRUS_CITRUS = new CeoPlate(CeoModel.TYRUS, "C1TRUS", true);
|
||||
public static readonly CeoPlate TYRUS_BESTLAP = new CeoPlate(CeoModel.TYRUS, "B35TL4P", false);
|
||||
public static readonly CeoPlate TYRUS_TREX = new CeoPlate(CeoModel.TYRUS, "TR3X", false);
|
||||
public static readonly CeoPlate T_TWENTY_DEVIL = new CeoPlate(CeoModel.T_TWENTY, "D3V1L", true);
|
||||
public static readonly CeoPlate T_TWENTY_CARAMEL = new CeoPlate(CeoModel.T_TWENTY, "CAR4M3L", false);
|
||||
public static readonly CeoPlate T_TWENTY_TOPSPEED = new CeoPlate(CeoModel.T_TWENTY, "T0PSP33D", false);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_OLDTIMER = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "0LDT1M3R", true);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_LAWLESS = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "L4WLE55", false);
|
||||
public static readonly CeoPlate ROOSEVELT_VALOR_VALOR = new CeoPlate(CeoModel.ROOSEVELT_VALOR, "V4L0R", false);
|
||||
#endregion
|
||||
|
||||
public CeoModel Model { get; }
|
||||
public string Plate { get; }
|
||||
public bool IsCollection { get; }
|
||||
public string FormattedPlate
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{Plate}{(IsCollection ? "*" : "")}";
|
||||
}
|
||||
}
|
||||
|
||||
private CeoPlate(CeoModel model, string plate, bool collection)
|
||||
{
|
||||
Model = model;
|
||||
Plate = plate;
|
||||
IsCollection = collection;
|
||||
PLATE_OBJECT_MAP[plate.ToLower()] = this;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Plate}{(IsCollection ? "*" : "")} ({Model.ToString()})";
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
return ReferenceEquals(this, obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int hashCode = 17;
|
||||
hashCode = 31 * hashCode + Model.GetHashCode();
|
||||
hashCode = 31 * hashCode + Plate.GetHashCode();
|
||||
hashCode = 31 * hashCode + IsCollection.GetHashCode();
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
public static bool TryFind(string plate, out CeoPlate ceoPlate)
|
||||
{
|
||||
if (plate.EndsWith("*"))
|
||||
{
|
||||
plate = plate.Substring(0, plate.Length - 1);
|
||||
}
|
||||
return PLATE_OBJECT_MAP.TryGetValue(plate.ToLower(), out ceoPlate);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Classes
|
||||
{
|
||||
public enum CeoRange
|
||||
{
|
||||
STANDARD,
|
||||
MID,
|
||||
TOP
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using GTAOnlineCasinoHelper.Classes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Extensions
|
||||
{
|
||||
public static class CeoExtensions
|
||||
{
|
||||
|
||||
public static string GetRangeName(this CeoRange range)
|
||||
{
|
||||
switch (range)
|
||||
{
|
||||
case CeoRange.STANDARD:
|
||||
return "Standard Range";
|
||||
case CeoRange.MID:
|
||||
return "Mid Range";
|
||||
case CeoRange.TOP:
|
||||
return "Top Range";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Media.Imaging;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Extensions
|
||||
{
|
||||
public static class ImageExtension
|
||||
{
|
||||
|
||||
[DllImport("gdi32.dll")]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal static extern bool DeleteObject(IntPtr value);
|
||||
|
||||
public static BitmapSource GetBitmapSource(this Image image)
|
||||
{
|
||||
Bitmap bitmap = new Bitmap(image);
|
||||
IntPtr bmpPt = bitmap.GetHbitmap();
|
||||
BitmapSource bitmapSource =
|
||||
System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
|
||||
bmpPt,
|
||||
IntPtr.Zero,
|
||||
Int32Rect.Empty,
|
||||
BitmapSizeOptions.FromEmptyOptions());
|
||||
|
||||
//freeze bitmapSource and clear memory to avoid memory leaks
|
||||
bitmapSource.Freeze();
|
||||
DeleteObject(bmpPt);
|
||||
|
||||
return bitmapSource;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
<ProjectGuid>{F73D2AD0-DCCF-41C5-8903-1ED848F2269D}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>GTAOnlineCasinoHelper</RootNamespace>
|
||||
<AssemblyName>GTAOnlineCasinoHelper</AssemblyName>
|
||||
<AssemblyName>GTAOnlineHelper</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
@@ -37,6 +37,9 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Assets\GTA5.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ControlzEx, Version=4.0.0.0, Culture=neutral, PublicKeyToken=69f1c32f803d307e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ControlzEx.4.0.1\lib\net45\ControlzEx.dll</HintPath>
|
||||
@@ -60,6 +63,7 @@
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -78,11 +82,23 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="Classes\CeoCollection.cs" />
|
||||
<Compile Include="Classes\CeoPlate.cs" />
|
||||
<Compile Include="Classes\CeoModel.cs" />
|
||||
<Compile Include="Classes\CeoRange.cs" />
|
||||
<Compile Include="Extensions\CeoExtensions.cs" />
|
||||
<Compile Include="Extensions\ImageExtension.cs" />
|
||||
<Compile Include="Views\CeoVehicle\CeoVehicleInventory.xaml.cs">
|
||||
<DependentUpon>CeoVehicleInventory.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\CeoVehicle\CeoVehicleSource.xaml.cs">
|
||||
<DependentUpon>CeoVehicleSource.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\Settings\ThemeView.xaml.cs">
|
||||
<DependentUpon>ThemeView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\TestTwo.xaml.cs">
|
||||
<DependentUpon>TestTwo.xaml</DependentUpon>
|
||||
<Compile Include="Views\AutoLobby.xaml.cs">
|
||||
<DependentUpon>AutoLobby.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LuckyWheel.xaml.cs">
|
||||
<DependentUpon>LuckyWheel.xaml</DependentUpon>
|
||||
@@ -102,10 +118,18 @@
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Page Include="Views\CeoVehicle\CeoVehicleInventory.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Views\CeoVehicle\CeoVehicleSource.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Views\Settings\ThemeView.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\TestTwo.xaml">
|
||||
<Page Include="Views\AutoLobby.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
@@ -144,6 +168,12 @@
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Assets\GTA5.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Assets\GTA5.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Fody.4.2.1\build\Fody.targets" Condition="Exists('..\packages\Fody.4.2.1\build\Fody.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:local="clr-namespace:GTAOnlineCasinoHelper"
|
||||
xmlns:Views="clr-namespace:GTAOnlineCasinoHelper.Views"
|
||||
mc:Ignorable="d"
|
||||
Title="GTA Online Casino Helper"
|
||||
Title="GTA Online Helper"
|
||||
GlowBrush="{DynamicResource MahApps.Brushes.Accent}"
|
||||
Height="450"
|
||||
Width="800">
|
||||
@@ -30,13 +30,51 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Controls:MetroAnimatedSingleRowTabControl x:Name="MainTabControl" Grid.Row="0">
|
||||
<TabItem Header="LuckyWheel">
|
||||
<TabItem Header="Lucky Wheel">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Views:LuckyWheel />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Auto Lobby">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Views:AutoLobby />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="CEO Vehicle">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Controls:MetroAnimatedSingleRowTabControl x:Name="CeoTabControl" Grid.Row="0">
|
||||
<TabItem Header="Source">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Views:CeoVehicleSource />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Inventory">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Views:CeoVehicleInventory />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem Header="Sell">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Views:CeoVehicleSource />
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
</Controls:MetroAnimatedSingleRowTabControl>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<!--<TabItem Header="TestTwo">
|
||||
<ScrollViewer Margin="2"
|
||||
HorizontalScrollBarVisibility="Auto"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using GTAOnlineCasinoHelper.Windows;
|
||||
using GTAOnlineCasinoHelper.Extensions;
|
||||
using GTAOnlineCasinoHelper.Views;
|
||||
using GTAOnlineCasinoHelper.Windows;
|
||||
using MahApps.Metro;
|
||||
using MahApps.Metro.Controls;
|
||||
using MahApps.Metro.Controls.Dialogs;
|
||||
@@ -28,11 +30,13 @@ namespace GTAOnlineCasinoHelper
|
||||
public partial class MainWindow : MetroWindow
|
||||
{
|
||||
public static MainWindow Instance { get; set; }
|
||||
public static CeoVehicleInventory CeoVehicleInventory { get; set; }
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
Instance = this;
|
||||
InitializeComponent();
|
||||
this.Icon = Properties.Resources.GTA5.GetBitmapSource();
|
||||
LoadTheme();
|
||||
}
|
||||
|
||||
@@ -51,7 +55,7 @@ namespace GTAOnlineCasinoHelper
|
||||
ThemeManager.ChangeTheme(Application.Current, baseColor, colorScheme);
|
||||
}
|
||||
|
||||
private async void ButtonSettings_Click(object sender, RoutedEventArgs e)
|
||||
private void ButtonSettings_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new SettingsWindow().Show();
|
||||
//await this.ShowMessageAsync("Not implemented yet", "Settings has not been implemented yet");
|
||||
|
||||
@@ -7,11 +7,11 @@ using System.Windows;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("GTAOnlineCasinoHelper")]
|
||||
[assembly: AssemblyDescription("GTA Online - Diamond Casino & Resort Helper")]
|
||||
[assembly: AssemblyTitle("GTA Online Helper")]
|
||||
[assembly: AssemblyDescription("GTA Online Helper")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("oskar3123")]
|
||||
[assembly: AssemblyProduct("GTAOnlineCasinoHelper")]
|
||||
[assembly: AssemblyProduct("GTA Online Helper")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019 oskar3123")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
@@ -51,5 +51,5 @@ using System.Windows;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("1.2.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.2.0.0")]
|
||||
|
||||
@@ -59,5 +59,15 @@ namespace GTAOnlineCasinoHelper.Properties {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap GTA5 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("GTA5", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,4 +117,80 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="GTA5" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
eup/AFpYttV3+saAAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -58,5 +58,16 @@ namespace GTAOnlineCasinoHelper.Properties {
|
||||
this["ThemeColorScheme"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
public global::System.Collections.ArrayList Test {
|
||||
get {
|
||||
return ((global::System.Collections.ArrayList)(this["Test"]));
|
||||
}
|
||||
set {
|
||||
this["Test"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,5 +11,8 @@
|
||||
<Setting Name="ThemeColorScheme" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="Test" Type="System.Collections.ArrayList" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<UserControl x:Class="GTAOnlineCasinoHelper.Views.AutoLobby"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:GTAOnlineCasinoHelper="clr-namespace:GTAOnlineCasinoHelper">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">5</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center">
|
||||
<Button x:Name="Button_AutoLobby"
|
||||
Margin="5"
|
||||
Content="Auto Solo Lobby"
|
||||
Click="Button_AutoLobby_Click"/>
|
||||
<Button x:Name="Button_Suspend"
|
||||
Margin="5"
|
||||
Content="Suspend"
|
||||
Click="Button_Suspend_Click"/>
|
||||
<Button x:Name="Button_Resume"
|
||||
Margin="5"
|
||||
Content="Resume"
|
||||
Click="Button_Resume_Click"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center">
|
||||
<TextBlock x:Name="TextBlock_Status"
|
||||
TextAlignment="Center"
|
||||
Margin="5"
|
||||
FontSize="32" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<CheckBox x:Name="CheckBox_OverrideProcessName"
|
||||
Margin="5"
|
||||
Content="Override Process Name"
|
||||
IsChecked="False"
|
||||
Checked="CheckBox_OverrideProcessName_Checked"
|
||||
Unchecked="CheckBox_OverrideProcessName_Unchecked" />
|
||||
<TextBox x:Name="TextBox_ProcessName"
|
||||
Margin="5"
|
||||
Visibility="Collapsed"/>
|
||||
<CheckBox x:Name="CheckBox_OverrideTimeout"
|
||||
Margin="5"
|
||||
Content="Override Timeout"
|
||||
IsChecked="False"
|
||||
Checked="CheckBox_OverrideTimeout_Checked"
|
||||
Unchecked="CheckBox_OverrideTimeout_Unchecked" />
|
||||
<TextBox x:Name="TextBox_TimeoutSeconds"
|
||||
Margin="5"
|
||||
Visibility="Collapsed"/>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
<!--<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="GTAOnlineCasinoHelper.Views.LuckyWheel">
|
||||
<ContentView.Content>
|
||||
<StackLayout>
|
||||
<Label Text="Hello Xamarin.Forms!" />
|
||||
</StackLayout>
|
||||
</ContentView.Content>
|
||||
</ContentView>-->
|
||||
@@ -0,0 +1,253 @@
|
||||
using MahApps.Metro.Controls;
|
||||
using MahApps.Metro.Controls.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Views
|
||||
{
|
||||
|
||||
public partial class AutoLobby : UserControl
|
||||
{
|
||||
|
||||
[Flags]
|
||||
public enum ThreadAccess : int
|
||||
{
|
||||
TERMINATE = (0x0001),
|
||||
SUSPEND_RESUME = (0x0002),
|
||||
GET_CONTEXT = (0x0008),
|
||||
SET_CONTEXT = (0x0010),
|
||||
SET_INFORMATION = (0x0020),
|
||||
QUERY_INFORMATION = (0x0040),
|
||||
SET_THREAD_TOKEN = (0x0080),
|
||||
IMPERSONATE = (0x0100),
|
||||
DIRECT_IMPERSONATION = (0x0200)
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern IntPtr OpenThread(ThreadAccess dwDesiredAccess, bool bInheritHandle, uint dwThreadId);
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern uint SuspendThread(IntPtr hThread);
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern int ResumeThread(IntPtr hThread);
|
||||
[DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
static extern bool CloseHandle(IntPtr handle);
|
||||
|
||||
private const int SECONDS = 8;
|
||||
private const int TIMER_INTERVAL = 50;
|
||||
private const string PROCESS_NAME = "GTA5";
|
||||
|
||||
private int Seconds
|
||||
{
|
||||
get
|
||||
{
|
||||
if (CheckBox_OverrideTimeout.IsChecked.HasValue && CheckBox_OverrideTimeout.IsChecked.Value && int.TryParse(TextBox_TimeoutSeconds.Text, out int seconds))
|
||||
{
|
||||
return seconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
return SECONDS;
|
||||
}
|
||||
}
|
||||
}
|
||||
private string ProcessName
|
||||
{
|
||||
get
|
||||
{
|
||||
return (CheckBox_OverrideProcessName.IsChecked.HasValue && CheckBox_OverrideProcessName.IsChecked.Value) ? TextBox_ProcessName.Text : PROCESS_NAME;
|
||||
}
|
||||
}
|
||||
private bool IsSuspended
|
||||
{
|
||||
get
|
||||
{
|
||||
return suspendedProcesses != null && suspendedProcesses.Length > 0;
|
||||
}
|
||||
}
|
||||
private Process[] suspendedProcesses = new Process[0];
|
||||
private Timer timer;
|
||||
private DateTimeOffset timestamp = DateTimeOffset.MinValue;
|
||||
|
||||
public AutoLobby()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.TextBox_ProcessName.Text = PROCESS_NAME;
|
||||
this.TextBox_TimeoutSeconds.Text = SECONDS.ToString();
|
||||
this.timer = new Timer(Timer_Tick, this, Timeout.Infinite, TIMER_INTERVAL);
|
||||
}
|
||||
|
||||
private double GetMilliseconds()
|
||||
{
|
||||
return DateTime.Now.ToUniversalTime().Subtract(
|
||||
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
|
||||
).TotalMilliseconds;
|
||||
}
|
||||
|
||||
private void Timer_Tick(object state)
|
||||
{
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
if (!IsSuspended)
|
||||
{
|
||||
TextBlock_Status.Text = "";
|
||||
this.timer.Change(Timeout.Infinite, 50);
|
||||
}
|
||||
TimeSpan timeSpan = timestamp - DateTimeOffset.Now;
|
||||
if (timeSpan.TotalMilliseconds < 0)
|
||||
{
|
||||
ResumeGTA();
|
||||
TextBlock_Status.Text = "";
|
||||
return;
|
||||
}
|
||||
TextBlock_Status.Text = $"{timeSpan.TotalSeconds.ToString("F3")}s";
|
||||
});
|
||||
}
|
||||
|
||||
private void CheckBox_OverrideProcessName_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBox_ProcessName.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void CheckBox_OverrideProcessName_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBox_ProcessName.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void CheckBox_OverrideTimeout_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBox_TimeoutSeconds.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void CheckBox_OverrideTimeout_Unchecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
TextBox_TimeoutSeconds.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private async void Button_AutoLobby_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (IsSuspended)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("GTA V is already suspended", $"GTA V ({ProcessName}.exe) is already suspended");
|
||||
return;
|
||||
}
|
||||
if (!SuspendGTA())
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("GTA V is not running", $"GTA V ({ProcessName}.exe) is not running");
|
||||
return;
|
||||
}
|
||||
timestamp = DateTimeOffset.Now + new TimeSpan(0, 0, Seconds);
|
||||
TextBlock_Status.Text = $"{Seconds}.000s";
|
||||
timer.Change(TIMER_INTERVAL, TIMER_INTERVAL);
|
||||
}
|
||||
|
||||
private async void Button_Suspend_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (IsSuspended)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("GTA V is already suspended", $"GTA V ({ProcessName}.exe) is already suspended");
|
||||
return;
|
||||
}
|
||||
if (!SuspendGTA())
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("GTA V is not running", $"GTA V ({ProcessName}.exe) is not running");
|
||||
return;
|
||||
}
|
||||
TextBlock_Status.Text = "Suspended";
|
||||
}
|
||||
|
||||
private async void Button_Resume_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!IsSuspended)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("GTA V is not suspended", $"GTA V ({ProcessName}.exe) is not suspended");
|
||||
return;
|
||||
}
|
||||
ResumeGTA();
|
||||
TextBlock_Status.Text = "";
|
||||
}
|
||||
|
||||
private static void SuspendProcess(int pid)
|
||||
{
|
||||
var process = Process.GetProcessById(pid);
|
||||
|
||||
if (process.ProcessName == string.Empty)
|
||||
return;
|
||||
|
||||
foreach (ProcessThread pT in process.Threads)
|
||||
{
|
||||
IntPtr pOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);
|
||||
|
||||
if (pOpenThread == IntPtr.Zero)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
SuspendThread(pOpenThread);
|
||||
|
||||
CloseHandle(pOpenThread);
|
||||
}
|
||||
}
|
||||
|
||||
public static void ResumeProcess(int pid)
|
||||
{
|
||||
var process = Process.GetProcessById(pid);
|
||||
|
||||
if (process.ProcessName == string.Empty)
|
||||
return;
|
||||
|
||||
foreach (ProcessThread pT in process.Threads)
|
||||
{
|
||||
IntPtr pOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);
|
||||
|
||||
if (pOpenThread == IntPtr.Zero)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var suspendCount = 0;
|
||||
do
|
||||
{
|
||||
suspendCount = ResumeThread(pOpenThread);
|
||||
} while (suspendCount > 0);
|
||||
|
||||
CloseHandle(pOpenThread);
|
||||
}
|
||||
}
|
||||
|
||||
private bool SuspendGTA()
|
||||
{
|
||||
suspendedProcesses = Process.GetProcessesByName(ProcessName);
|
||||
if (suspendedProcesses.Length < 1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
foreach (Process process in suspendedProcesses)
|
||||
{
|
||||
SuspendProcess(process.Id);
|
||||
}
|
||||
//labelState.Text = "Suspended";
|
||||
return true;
|
||||
}
|
||||
|
||||
private void ResumeGTA()
|
||||
{
|
||||
timer.Change(Timeout.Infinite, TIMER_INTERVAL);
|
||||
foreach (var process in suspendedProcesses)
|
||||
{
|
||||
ResumeProcess(process.Id);
|
||||
}
|
||||
suspendedProcesses = new Process[0];
|
||||
TextBlock_Status.Text = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,505 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<UserControl x:Class="GTAOnlineCasinoHelper.Views.CeoVehicleInventory"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:GTAOnlineCasinoHelper="clr-namespace:GTAOnlineCasinoHelper">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">5</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid Margin="5 0 5 0">
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Z-Type"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<!--#region plate0-->
|
||||
<TextBlock Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlates[0][0][0].FormattedPlate}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][0]}"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
Content="-"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Remove_Click" />
|
||||
<TextBlock Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlateInventory[0][0][0]}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][0]}"
|
||||
Grid.Column="3"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
Content="+"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Add_Click" />
|
||||
<!--#endregion-->
|
||||
<!--#region plate1-->
|
||||
<TextBlock Grid.Column="0"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlates[0][0][1].FormattedPlate}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][1]}"
|
||||
Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
Content="-"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Remove_Click" />
|
||||
<TextBlock Grid.Column="2"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlateInventory[0][0][1]}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][1]}"
|
||||
Grid.Column="3"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
Content="+"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Add_Click" />
|
||||
<!--#endregion-->
|
||||
<!--#region plate2-->
|
||||
<TextBlock Grid.Column="0"
|
||||
Grid.Row="3"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlates[0][0][2].FormattedPlate}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][2]}"
|
||||
Grid.Column="1"
|
||||
Grid.Row="3"
|
||||
HorizontalAlignment="Center"
|
||||
Content="-"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Remove_Click" />
|
||||
<TextBlock Grid.Column="2"
|
||||
Grid.Row="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding TopPlateInventory[0][0][2]}" />
|
||||
<Button DataContext="{Binding TopPlates[0][0][2]}"
|
||||
Grid.Column="3"
|
||||
Grid.Row="3"
|
||||
HorizontalAlignment="Center"
|
||||
Content="+"
|
||||
Margin="2"
|
||||
MinWidth="25"
|
||||
Click="Button_Add_Click" />
|
||||
<!--#endregion-->
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="ETR1"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="PR3TTY"
|
||||
Margin="2" />
|
||||
<Button Content="B1GB0Y"
|
||||
Margin="2" />
|
||||
<Button Content="M0N4RCH"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="811"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="SL1CK"
|
||||
Margin="2" />
|
||||
<Button Content="M1DL1F3"
|
||||
Margin="2" />
|
||||
<Button Content="R3G4L"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Osiris"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="SL33K"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66" />
|
||||
<Button Content="OH3LL0"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
<Button Content="PH4R40H"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Reaper"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="D34TH4U"
|
||||
Margin="2" />
|
||||
<Button Content="2FA5T4U"
|
||||
Margin="2" />
|
||||
<Button Content="GR1M"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Mamba"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="BLKM4MB4"
|
||||
Margin="2" />
|
||||
<Button Content="0LDBLU3"
|
||||
Margin="2" />
|
||||
<Button Content="V1P"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="FMJ"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="C4TCHM3"
|
||||
Margin="2" />
|
||||
<Button Content="J0K3R"
|
||||
Margin="2" />
|
||||
<Button Content="H0T4U"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Stirling GT"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="R4LLY"
|
||||
Margin="2" />
|
||||
<Button Content="M4J3ST1C"
|
||||
Margin="2" />
|
||||
<Button Content="T0UR3R"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="X80 Proto"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="M4K3B4NK"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66" />
|
||||
<Button Content="FUTUR3"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
<Button Content="TURB0"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Tyrus"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="C1TRUS"
|
||||
Margin="2" />
|
||||
<Button Content="B35TL4P"
|
||||
Margin="2" />
|
||||
<Button Content="TR3X"
|
||||
Margin="2" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="T20"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="D3V1L"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66" />
|
||||
<Button Content="CAR4M3L"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
<Button Content="T0PSP33D"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="Roosevelt Valor"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="0LDT1M3R"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66" />
|
||||
<Button Content="L4WLE55"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
<Button Content="V4L0R"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
<!--<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="GTAOnlineCasinoHelper.Views.LuckyWheel">
|
||||
<ContentView.Content>
|
||||
<StackLayout>
|
||||
<Label Text="Hello Xamarin.Forms!" />
|
||||
</StackLayout>
|
||||
</ContentView.Content>
|
||||
</ContentView>-->
|
||||
@@ -0,0 +1,327 @@
|
||||
using GTAOnlineCasinoHelper.Classes;
|
||||
using MahApps.Metro.Controls;
|
||||
using MahApps.Metro.Controls.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Views
|
||||
{
|
||||
|
||||
public partial class CeoVehicleInventory : UserControl, INotifyPropertyChanged
|
||||
{
|
||||
|
||||
private Dictionary<int, Dictionary<int, int[]>> topPlateInventory = new Dictionary<int, Dictionary<int, int[]>>()
|
||||
{
|
||||
[0] = new Dictionary<int, int[]>()
|
||||
{
|
||||
[0] = new int[] { 0, 0, 0 },
|
||||
[1] = new int[] { 0, 0, 0 },
|
||||
[2] = new int[] { 0, 0, 0 }
|
||||
},
|
||||
[1] = new Dictionary<int, int[]>()
|
||||
{
|
||||
[0] = new int[] { 0, 0, 0 },
|
||||
[1] = new int[] { 0, 0, 0 },
|
||||
[2] = new int[] { 0, 0, 0 }
|
||||
},
|
||||
[2] = new Dictionary<int, int[]>()
|
||||
{
|
||||
[0] = new int[] { 0, 0, 0 },
|
||||
[1] = new int[] { 0, 0, 0 },
|
||||
[2] = new int[] { 0, 0, 0 }
|
||||
},
|
||||
[3] = new Dictionary<int, int[]>()
|
||||
{
|
||||
[0] = new int[] { 0, 0, 0 },
|
||||
[1] = new int[] { 0, 0, 0 },
|
||||
[2] = new int[] { 0, 0, 0 }
|
||||
}
|
||||
};
|
||||
public Dictionary<int, Dictionary<int, int[]>> TopPlateInventory
|
||||
{
|
||||
get
|
||||
{
|
||||
return topPlateInventory;
|
||||
}
|
||||
private set
|
||||
{
|
||||
topPlateInventory = value;
|
||||
OnPropertyChanged("TopPlateInventory");
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<int, Dictionary<int, CeoPlate[]>> midPlates = new Dictionary<int, Dictionary<int, CeoPlate[]>>()
|
||||
{
|
||||
[0] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.COQUETTE_CLASSIC_TOPLESS,
|
||||
CeoPlate.COQUETTE_CLASSIC_TOFFEE,
|
||||
CeoPlate.COQUETTE_CLASSIC_CLASSY
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.SULTAN_RS_SNOWFLKE,
|
||||
CeoPlate.SULTAN_RS_FIDELITY,
|
||||
CeoPlate.SULTAN_RS_SHOWOFF
|
||||
}
|
||||
},
|
||||
[1] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.VERLIERER_PRECIOUS,
|
||||
CeoPlate.VERLIERER_OUTFRONT,
|
||||
CeoPlate.VERLIERER_CURVES
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.CHEETAH_BUZZED,
|
||||
CeoPlate.CHEETAH_MIDNIGHT,
|
||||
CeoPlate.CHEETAH_BIGCAT
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.ENTITY_XF_OVERFLOD,
|
||||
CeoPlate.ENTITY_XF_IMLATE,
|
||||
CeoPlate.ENTITY_XF_WIDEBOY
|
||||
}
|
||||
},
|
||||
[2] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.ZENTORNO_WINNING,
|
||||
CeoPlate.ZENTORNO_OLDNEWS,
|
||||
CeoPlate.ZENTORNO_HERO
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.COQUETTE_BLACKFIN_VINTAGE,
|
||||
CeoPlate.COQUETTE_BLACKFIN_WIPEOUT,
|
||||
CeoPlate.COQUETTE_BLACKFIN_BLKFIN
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.SULTAN_RS_SNOWFLKE,
|
||||
CeoPlate.SULTAN_RS_FIDELITY,
|
||||
CeoPlate.SULTAN_RS_SHOWOFF
|
||||
}
|
||||
},
|
||||
[3] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.TROPOS_RALLYE_1985,
|
||||
CeoPlate.TROPOS_RALLYE_IMSORAD,
|
||||
CeoPlate.TROPOS_RALLYE_EIGHTIES
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.OMNIS_WIDEBOD,
|
||||
CeoPlate.OMNIS_OBEYME,
|
||||
CeoPlate.OMNIS_DIRTY
|
||||
}
|
||||
}
|
||||
};
|
||||
public Dictionary<int, Dictionary<int, CeoPlate[]>> MidPlates
|
||||
{
|
||||
get
|
||||
{
|
||||
return midPlates;
|
||||
}
|
||||
set
|
||||
{
|
||||
midPlates = value;
|
||||
OnPropertyChanged("MidPlates");
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<int, Dictionary<int, CeoPlate[]>> topPlates = new Dictionary<int, Dictionary<int, CeoPlate[]>>()
|
||||
{
|
||||
[0] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.Z_TYPE_BIGMONEY,
|
||||
CeoPlate.Z_TYPE_KINGPIN,
|
||||
CeoPlate.Z_TYPE_CEO
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.REAPER_DEATH4U,
|
||||
CeoPlate.REAPER_2FAST4U,
|
||||
CeoPlate.REAPER_GRIM
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.X_EIGHTY_PROTO_MAKEBANK,
|
||||
CeoPlate.X_EIGHTY_PROTO_FUTURE,
|
||||
CeoPlate.X_EIGHTY_PROTO_TURBO
|
||||
}
|
||||
},
|
||||
[1] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.ETR_ONE_PRETTY,
|
||||
CeoPlate.ETR_ONE_BIGBOY,
|
||||
CeoPlate.ETR_ONE_MONARCH
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.MAMBA_BLKMAMBA,
|
||||
CeoPlate.MAMBA_OLDBLUE,
|
||||
CeoPlate.MAMBA_VIP
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.TYRUS_CITRUS,
|
||||
CeoPlate.TYRUS_BESTLAP,
|
||||
CeoPlate.TYRUS_TREX
|
||||
}
|
||||
},
|
||||
[2] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.EIGHT_ELEVEN_SLICK,
|
||||
CeoPlate.EIGHT_ELEVEN_MIDLIFE,
|
||||
CeoPlate.EIGHT_ELEVEN_REGAL
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.FMJ_CATCHME,
|
||||
CeoPlate.FMJ_JOKER,
|
||||
CeoPlate.FMJ_HOT4U
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.T_TWENTY_DEVIL,
|
||||
CeoPlate.T_TWENTY_CARAMEL,
|
||||
CeoPlate.T_TWENTY_TOPSPEED
|
||||
}
|
||||
},
|
||||
[3] = new Dictionary<int, CeoPlate[]>()
|
||||
{
|
||||
[0] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.OSIRIS_SLEEK,
|
||||
CeoPlate.OSIRIS_OHELLO,
|
||||
CeoPlate.OSIRIS_PHARAOH
|
||||
},
|
||||
[1] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.STIRLING_GT_RALLY,
|
||||
CeoPlate.STIRLING_GT_MAJESTIC,
|
||||
CeoPlate.STIRLING_GT_TOURER
|
||||
},
|
||||
[2] = new CeoPlate[]
|
||||
{
|
||||
CeoPlate.ROOSEVELT_VALOR_OLDTIMER,
|
||||
CeoPlate.ROOSEVELT_VALOR_LAWLESS,
|
||||
CeoPlate.ROOSEVELT_VALOR_VALOR
|
||||
}
|
||||
}
|
||||
};
|
||||
public Dictionary<int, Dictionary<int, CeoPlate[]>> TopPlates
|
||||
{
|
||||
get
|
||||
{
|
||||
return topPlates;
|
||||
}
|
||||
set
|
||||
{
|
||||
topPlates = value;
|
||||
OnPropertyChanged("TopPlates");
|
||||
}
|
||||
}
|
||||
|
||||
public CeoVehicleInventory()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.DataContext = this;
|
||||
MainWindow.CeoVehicleInventory = this;
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected virtual void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
private bool GetColRowIndex(object sender, out int col, out int row, out int index)
|
||||
{
|
||||
Button button = sender as Button;
|
||||
if (!(button?.DataContext is CeoPlate plate) || !(button?.Parent is Grid grid))
|
||||
{
|
||||
col = 0;
|
||||
row = 0;
|
||||
index = 0;
|
||||
return false;
|
||||
}
|
||||
col = Grid.GetColumn(grid);
|
||||
row = Grid.GetRow(grid);
|
||||
|
||||
int tries = 3;
|
||||
index = 0;
|
||||
Dictionary<int, Dictionary<int, CeoPlate[]>> dictionary;
|
||||
if (plate.Model.Range == CeoRange.STANDARD)
|
||||
{
|
||||
// TODO add standard range
|
||||
dictionary = new Dictionary<int, Dictionary<int, CeoPlate[]>>();
|
||||
}
|
||||
else if (plate.Model.Range == CeoRange.MID)
|
||||
{
|
||||
dictionary = MidPlates;
|
||||
}
|
||||
else
|
||||
{
|
||||
dictionary = TopPlates;
|
||||
}
|
||||
while (tries > 0 && !dictionary[col][row][index].Equals(plate))
|
||||
{
|
||||
index++;
|
||||
tries--;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private async void Button_Add_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!GetColRowIndex(sender, out int col, out int row, out int index))
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Failed to get plate or grid", "Failed to get plate or grid from button", MessageDialogStyle.Affirmative);
|
||||
return;
|
||||
}
|
||||
|
||||
TopPlateInventory[col][row][index]++;
|
||||
OnPropertyChanged("TopPlateInventory");
|
||||
}
|
||||
|
||||
private async void Button_Remove_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!GetColRowIndex(sender, out int col, out int row, out int index))
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Failed to get plate or grid", "Failed to get plate or grid from button", MessageDialogStyle.Affirmative);
|
||||
return;
|
||||
}
|
||||
|
||||
TopPlateInventory[col][row][index]--;
|
||||
OnPropertyChanged("TopPlateInventory");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,831 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<UserControl x:Class="GTAOnlineCasinoHelper.Views.CeoVehicleSource"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:GTAOnlineCasinoHelper="clr-namespace:GTAOnlineCasinoHelper">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">5</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Controls:MetroAnimatedSingleRowTabControl Grid.Row="0"
|
||||
SelectedIndex="1">
|
||||
|
||||
<TabItem Header="Mid">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Auto"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<Grid>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[0][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[0][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[0][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[0][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[1][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[1][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[2][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[2][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[3][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[3][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[3][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[3][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[0][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[0][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[0][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[0][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[1][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[1][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[2][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[2][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[3][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[3][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[3][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[3][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[1][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[1][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[1][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding MidPlates[2][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding MidPlates[2][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding MidPlates[2][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Header="Top">
|
||||
<Grid>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[0][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[0][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[1][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[1][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[2][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[2][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[3][0][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[3][0][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][0][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][0][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[0][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[0][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[1][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[1][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[2][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[2][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[3][1][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[3][1][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][1][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][1][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Column="0"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[0][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[0][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[0][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[1][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[1][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[1][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[2][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[2][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[2][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<Grid Grid.Column="3"
|
||||
Grid.Row="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock Text="{Binding TopPlates[3][2][0].Model}"
|
||||
FontSize="16" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
Orientation="Horizontal">
|
||||
<Button Content="{Binding TopPlates[3][2][0].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FF66CC66"
|
||||
Foreground="#FF66CC66"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FF66CC66"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][2][1].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
<Button Content="{Binding TopPlates[3][2][2].FormattedPlate}"
|
||||
Margin="2"
|
||||
BorderBrush="#FFCC6666"
|
||||
Foreground="#FFCC6666"
|
||||
Controls:ControlsHelper.FocusBorderBrush="#FFCC6666"
|
||||
Click="Button_Source_Click" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
|
||||
</Controls:MetroAnimatedSingleRowTabControl>
|
||||
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
<!--<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="GTAOnlineCasinoHelper.Views.LuckyWheel">
|
||||
<ContentView.Content>
|
||||
<StackLayout>
|
||||
<Label Text="Hello Xamarin.Forms!" />
|
||||
</StackLayout>
|
||||
</ContentView.Content>
|
||||
</ContentView>-->
|
||||
@@ -0,0 +1,84 @@
|
||||
using GTAOnlineCasinoHelper.Classes;
|
||||
using MahApps.Metro.Controls;
|
||||
using MahApps.Metro.Controls.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Views
|
||||
{
|
||||
|
||||
public partial class CeoVehicleSource : UserControl, INotifyPropertyChanged
|
||||
{
|
||||
|
||||
public Dictionary<int, Dictionary<int, CeoPlate[]>> MidPlates
|
||||
{
|
||||
get
|
||||
{
|
||||
return MainWindow.CeoVehicleInventory.MidPlates;
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<int, Dictionary<int, CeoPlate[]>> TopPlates
|
||||
{
|
||||
get
|
||||
{
|
||||
return MainWindow.CeoVehicleInventory.TopPlates;
|
||||
}
|
||||
}
|
||||
|
||||
public CeoVehicleSource()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.DataContext = this;
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected virtual void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
private async void DoClick(CeoPlate plate)
|
||||
{
|
||||
MessageDialogResult result = await MainWindow.Instance.ShowMessageAsync(plate.ToString(), "Did you successfully source the vehicle?", MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary, new MetroDialogSettings()
|
||||
{
|
||||
AffirmativeButtonText = "Yes",
|
||||
NegativeButtonText = "No",
|
||||
FirstAuxiliaryButtonText = "Cancel",
|
||||
DefaultButtonFocus = MessageDialogResult.Affirmative
|
||||
});
|
||||
if (result != MessageDialogResult.Affirmative && result != MessageDialogResult.Negative)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private async void Button_Source_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
string content = (sender as Button)?.Content as string;
|
||||
if (content == null)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Failed to get plate", "Failed to parse plate from the button text", MessageDialogStyle.Affirmative);
|
||||
return;
|
||||
}
|
||||
CeoPlate ceoPlate;
|
||||
if (!CeoPlate.TryFind(content, out ceoPlate))
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Failed to get plate", "Failed to parse plate from the button text", MessageDialogStyle.Affirmative);
|
||||
return;
|
||||
}
|
||||
DoClick(ceoPlate);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
xmlns:GTAOnlineCasinoHelper="clr-namespace:GTAOnlineCasinoHelper">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">0 5 0 0</Thickness>
|
||||
<Thickness x:Key="ControlMargin">5</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
@@ -20,41 +20,35 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center">
|
||||
<CheckBox x:Name="CheckBox_UseTextBoxTimeStamp"
|
||||
Content="Use Custom TimeStamp"
|
||||
Margin="5"
|
||||
Content="Use Custom Timestamp"
|
||||
IsChecked="False"
|
||||
Checked="CheckBox_UseTextBoxTimeStamp_Checked"
|
||||
Unchecked="CheckBox_UseTextBoxTimeStamp_Unchecked" />
|
||||
<TextBox x:Name="TextBox_TimeStamp"
|
||||
Margin="5"
|
||||
Visibility="Collapsed"/>
|
||||
<Button Content="Add TimeStamp"
|
||||
<Button Margin="5"
|
||||
Content="Add Timestamp"
|
||||
Click="Button_AddTimeStamp"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center">
|
||||
<TextBlock x:Name="TextBlock_TimeStampTextBlock"
|
||||
Margin="5"
|
||||
TextAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="1"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center">
|
||||
<TextBlock Text="Lucky Wheel Countdown" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<TextBlock Text="Lucky Wheel Countdown"
|
||||
Margin="5" />
|
||||
<TextBlock x:Name="TextBlock_TimerTextBlock"
|
||||
Margin="5"
|
||||
TextAlignment="Center"
|
||||
Text="Text"
|
||||
FontSize="32"/>
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace GTAOnlineCasinoHelper.Views
|
||||
else
|
||||
{
|
||||
now = DateTimeOffset.Now;
|
||||
DateTimeOffset then = AddHours(now, 24);
|
||||
DateTimeOffset then = AddHours(TimeStamp, 24);
|
||||
if (then > now)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Lucky Wheel not ready yet", "You can't spin the wheel yet, to override this add a custom timestamp");
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">0 5 0 0</Thickness>
|
||||
<Thickness x:Key="ControlMargin">5</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<UserControl x:Class="GTAOnlineCasinoHelper.Views.TestTwo"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:GTAOnlineCasinoHelper="clr-namespace:GTAOnlineCasinoHelper">
|
||||
|
||||
<UserControl.Resources>
|
||||
<Thickness x:Key="ControlMargin">0 5 0 0</Thickness>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackPanel Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center">
|
||||
<Button Content="Test button"
|
||||
Click="Button_Click"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
<!--<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="GTAOnlineCasinoHelper.Views.LuckyWheel">
|
||||
<ContentView.Content>
|
||||
<StackLayout>
|
||||
<Label Text="Hello Xamarin.Forms!" />
|
||||
</StackLayout>
|
||||
</ContentView.Content>
|
||||
</ContentView>-->
|
||||
@@ -1,28 +0,0 @@
|
||||
using MahApps.Metro.Controls;
|
||||
using MahApps.Metro.Controls.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace GTAOnlineCasinoHelper.Views
|
||||
{
|
||||
|
||||
public partial class TestTwo : UserControl
|
||||
{
|
||||
|
||||
public TestTwo()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
private async void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
await MainWindow.Instance.ShowMessageAsync("Test", "This is a test");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1 +1,13 @@
|
||||
# GTAOnlineCasinoHelper
|
||||
|
||||
## Download
|
||||
|
||||
[Download from Releases](https://oskar3123.eu/oskar3123/GTAOnlineCasinoHelper/releases)
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user