Skip to content

Commit

Permalink
Implement player pants showing.
Browse files Browse the repository at this point in the history
  • Loading branch information
CarbonNeuron committed Jan 12, 2021
1 parent edd3d40 commit 0c7b5de
Show file tree
Hide file tree
Showing 119 changed files with 334 additions and 29 deletions.
242 changes: 218 additions & 24 deletions AUCapture-WPF/AUCapture-WPF.csproj
Expand Up @@ -45,30 +45,115 @@
<ItemGroup>
<None Remove="logo\Logo.png" />
<None Remove="Resources\AUFont.ttf" />
<None Remove="Resources\Players\aublack.png" />
<None Remove="Resources\Players\aublackdead.png" />
<None Remove="Resources\Players\aublue.png" />
<None Remove="Resources\Players\aubluedead.png" />
<None Remove="Resources\Players\aubrown.png" />
<None Remove="Resources\Players\aubrowndead.png" />
<None Remove="Resources\Players\aucyan.png" />
<None Remove="Resources\Players\aucyandead.png" />
<None Remove="Resources\Players\augreen.png" />
<None Remove="Resources\Players\augreendead.png" />
<None Remove="Resources\Players\aulime.png" />
<None Remove="Resources\Players\aulimedead.png" />
<None Remove="Resources\Players\auorange.png" />
<None Remove="Resources\Players\auorangedead.png" />
<None Remove="Resources\Players\aupink.png" />
<None Remove="Resources\Players\aupinkdead.png" />
<None Remove="Resources\Players\aupurple.png" />
<None Remove="Resources\Players\aupurpledead.png" />
<None Remove="Resources\Players\aured.png" />
<None Remove="Resources\Players\aureddead.png" />
<None Remove="Resources\Players\auwhite.png" />
<None Remove="Resources\Players\auwhitedead.png" />
<None Remove="Resources\Players\auyellow.png" />
<None Remove="Resources\Players\auyellowdead.png" />
<None Remove="Resources\hats\1.png" />
<None Remove="Resources\hats\10.png" />
<None Remove="Resources\hats\11.png" />
<None Remove="Resources\hats\12.png" />
<None Remove="Resources\hats\13.png" />
<None Remove="Resources\hats\14.png" />
<None Remove="Resources\hats\15.png" />
<None Remove="Resources\hats\16.png" />
<None Remove="Resources\hats\17.png" />
<None Remove="Resources\hats\18.png" />
<None Remove="Resources\hats\19.png" />
<None Remove="Resources\hats\2.png" />
<None Remove="Resources\hats\20.png" />
<None Remove="Resources\hats\21.png" />
<None Remove="Resources\hats\22.png" />
<None Remove="Resources\hats\23.png" />
<None Remove="Resources\hats\24.png" />
<None Remove="Resources\hats\25.png" />
<None Remove="Resources\hats\26.png" />
<None Remove="Resources\hats\27.png" />
<None Remove="Resources\hats\28.png" />
<None Remove="Resources\hats\29.png" />
<None Remove="Resources\hats\3.png" />
<None Remove="Resources\hats\30.png" />
<None Remove="Resources\hats\31.png" />
<None Remove="Resources\hats\32.png" />
<None Remove="Resources\hats\33.png" />
<None Remove="Resources\hats\34.png" />
<None Remove="Resources\hats\35.png" />
<None Remove="Resources\hats\36.png" />
<None Remove="Resources\hats\37.png" />
<None Remove="Resources\hats\38.png" />
<None Remove="Resources\hats\39.png" />
<None Remove="Resources\hats\4.png" />
<None Remove="Resources\hats\40.png" />
<None Remove="Resources\hats\41.png" />
<None Remove="Resources\hats\42.png" />
<None Remove="Resources\hats\43.png" />
<None Remove="Resources\hats\44.png" />
<None Remove="Resources\hats\45.png" />
<None Remove="Resources\hats\46.png" />
<None Remove="Resources\hats\47.png" />
<None Remove="Resources\hats\48.png" />
<None Remove="Resources\hats\49.png" />
<None Remove="Resources\hats\5.png" />
<None Remove="Resources\hats\50.png" />
<None Remove="Resources\hats\51.png" />
<None Remove="Resources\hats\52.png" />
<None Remove="Resources\hats\53.png" />
<None Remove="Resources\hats\54.png" />
<None Remove="Resources\hats\55.png" />
<None Remove="Resources\hats\56.png" />
<None Remove="Resources\hats\57.png" />
<None Remove="Resources\hats\58.png" />
<None Remove="Resources\hats\59.png" />
<None Remove="Resources\hats\6.png" />
<None Remove="Resources\hats\60.png" />
<None Remove="Resources\hats\61.png" />
<None Remove="Resources\hats\62.png" />
<None Remove="Resources\hats\63.png" />
<None Remove="Resources\hats\64.png" />
<None Remove="Resources\hats\65.png" />
<None Remove="Resources\hats\66.png" />
<None Remove="Resources\hats\67.png" />
<None Remove="Resources\hats\68.png" />
<None Remove="Resources\hats\69.png" />
<None Remove="Resources\hats\7.png" />
<None Remove="Resources\hats\70.png" />
<None Remove="Resources\hats\71.png" />
<None Remove="Resources\hats\72.png" />
<None Remove="Resources\hats\73.png" />
<None Remove="Resources\hats\74.png" />
<None Remove="Resources\hats\75.png" />
<None Remove="Resources\hats\76.png" />
<None Remove="Resources\hats\77.png" />
<None Remove="Resources\hats\78.png" />
<None Remove="Resources\hats\79.png" />
<None Remove="Resources\hats\8.png" />
<None Remove="Resources\hats\80.png" />
<None Remove="Resources\hats\81.png" />
<None Remove="Resources\hats\82.png" />
<None Remove="Resources\hats\83.png" />
<None Remove="Resources\hats\84.png" />
<None Remove="Resources\hats\85.png" />
<None Remove="Resources\hats\86.png" />
<None Remove="Resources\hats\87.png" />
<None Remove="Resources\hats\88.png" />
<None Remove="Resources\hats\89.png" />
<None Remove="Resources\hats\9.png" />
<None Remove="Resources\hats\90.png" />
<None Remove="Resources\hats\91.png" />
<None Remove="Resources\hats\92.png" />
<None Remove="Resources\hats\93.png" />
<None Remove="Resources\Pants\0.png" />
<None Remove="Resources\Pants\1.png" />
<None Remove="Resources\Pants\10.png" />
<None Remove="Resources\Pants\11.png" />
<None Remove="Resources\Pants\12.png" />
<None Remove="Resources\Pants\13.png" />
<None Remove="Resources\Pants\14.png" />
<None Remove="Resources\Pants\15.png" />
<None Remove="Resources\Pants\2.png" />
<None Remove="Resources\Pants\3.png" />
<None Remove="Resources\Pants\4.png" />
<None Remove="Resources\Pants\5.png" />
<None Remove="Resources\Pants\6.png" />
<None Remove="Resources\Pants\7.png" />
<None Remove="Resources\Pants\8.png" />
<None Remove="Resources\Pants\9.png" />
<None Remove="SplashScreens\SplashScreenPop.png" />
</ItemGroup>

Expand Down Expand Up @@ -111,6 +196,115 @@
<ItemGroup>
<Resource Include="logo\Logo.png" />
<Resource Include="Resources\AUFont.ttf" />
<Resource Include="Resources\hats\1.png" />
<Resource Include="Resources\hats\10.png" />
<Resource Include="Resources\hats\11.png" />
<Resource Include="Resources\hats\12.png" />
<Resource Include="Resources\hats\13.png" />
<Resource Include="Resources\hats\14.png" />
<Resource Include="Resources\hats\15.png" />
<Resource Include="Resources\hats\16.png" />
<Resource Include="Resources\hats\17.png" />
<Resource Include="Resources\hats\18.png" />
<Resource Include="Resources\hats\19.png" />
<Resource Include="Resources\hats\2.png" />
<Resource Include="Resources\hats\20.png" />
<Resource Include="Resources\hats\21.png" />
<Resource Include="Resources\hats\22.png" />
<Resource Include="Resources\hats\23.png" />
<Resource Include="Resources\hats\24.png" />
<Resource Include="Resources\hats\25.png" />
<Resource Include="Resources\hats\26.png" />
<Resource Include="Resources\hats\27.png" />
<Resource Include="Resources\hats\28.png" />
<Resource Include="Resources\hats\29.png" />
<Resource Include="Resources\hats\3.png" />
<Resource Include="Resources\hats\30.png" />
<Resource Include="Resources\hats\31.png" />
<Resource Include="Resources\hats\32.png" />
<Resource Include="Resources\hats\33.png" />
<Resource Include="Resources\hats\34.png" />
<Resource Include="Resources\hats\35.png" />
<Resource Include="Resources\hats\36.png" />
<Resource Include="Resources\hats\37.png" />
<Resource Include="Resources\hats\38.png" />
<Resource Include="Resources\hats\39.png" />
<Resource Include="Resources\hats\4.png" />
<Resource Include="Resources\hats\40.png" />
<Resource Include="Resources\hats\41.png" />
<Resource Include="Resources\hats\42.png" />
<Resource Include="Resources\hats\43.png" />
<Resource Include="Resources\hats\44.png" />
<Resource Include="Resources\hats\45.png" />
<Resource Include="Resources\hats\46.png" />
<Resource Include="Resources\hats\47.png" />
<Resource Include="Resources\hats\48.png" />
<Resource Include="Resources\hats\49.png" />
<Resource Include="Resources\hats\5.png" />
<Resource Include="Resources\hats\50.png" />
<Resource Include="Resources\hats\51.png" />
<Resource Include="Resources\hats\52.png" />
<Resource Include="Resources\hats\53.png" />
<Resource Include="Resources\hats\54.png" />
<Resource Include="Resources\hats\55.png" />
<Resource Include="Resources\hats\56.png" />
<Resource Include="Resources\hats\57.png" />
<Resource Include="Resources\hats\58.png" />
<Resource Include="Resources\hats\59.png" />
<Resource Include="Resources\hats\6.png" />
<Resource Include="Resources\hats\60.png" />
<Resource Include="Resources\hats\61.png" />
<Resource Include="Resources\hats\62.png" />
<Resource Include="Resources\hats\63.png" />
<Resource Include="Resources\hats\64.png" />
<Resource Include="Resources\hats\65.png" />
<Resource Include="Resources\hats\66.png" />
<Resource Include="Resources\hats\67.png" />
<Resource Include="Resources\hats\68.png" />
<Resource Include="Resources\hats\69.png" />
<Resource Include="Resources\hats\7.png" />
<Resource Include="Resources\hats\70.png" />
<Resource Include="Resources\hats\71.png" />
<Resource Include="Resources\hats\72.png" />
<Resource Include="Resources\hats\73.png" />
<Resource Include="Resources\hats\74.png" />
<Resource Include="Resources\hats\75.png" />
<Resource Include="Resources\hats\76.png" />
<Resource Include="Resources\hats\77.png" />
<Resource Include="Resources\hats\78.png" />
<Resource Include="Resources\hats\79.png" />
<Resource Include="Resources\hats\8.png" />
<Resource Include="Resources\hats\80.png" />
<Resource Include="Resources\hats\81.png" />
<Resource Include="Resources\hats\82.png" />
<Resource Include="Resources\hats\83.png" />
<Resource Include="Resources\hats\84.png" />
<Resource Include="Resources\hats\85.png" />
<Resource Include="Resources\hats\86.png" />
<Resource Include="Resources\hats\87.png" />
<Resource Include="Resources\hats\88.png" />
<Resource Include="Resources\hats\89.png" />
<Resource Include="Resources\hats\9.png" />
<Resource Include="Resources\hats\90.png" />
<Resource Include="Resources\hats\91.png" />
<Resource Include="Resources\hats\92.png" />
<Resource Include="Resources\hats\93.png" />
<Resource Include="Resources\Pants\0.png" />
<Resource Include="Resources\Pants\1.png" />
<Resource Include="Resources\Pants\10.png" />
<Resource Include="Resources\Pants\11.png" />
<Resource Include="Resources\Pants\12.png" />
<Resource Include="Resources\Pants\13.png" />
<Resource Include="Resources\Pants\14.png" />
<Resource Include="Resources\Pants\15.png" />
<Resource Include="Resources\Pants\2.png" />
<Resource Include="Resources\Pants\3.png" />
<Resource Include="Resources\Pants\4.png" />
<Resource Include="Resources\Pants\5.png" />
<Resource Include="Resources\Pants\6.png" />
<Resource Include="Resources\Pants\7.png" />
<Resource Include="Resources\Pants\8.png" />
<Resource Include="Resources\Pants\9.png" />
<Resource Include="Resources\Players\aublack.png" />
<Resource Include="Resources\Players\aublackdead.png" />
<Resource Include="Resources\Players\aublue.png" />
Expand Down
2 changes: 2 additions & 0 deletions AUCapture-WPF/AUCapture-WPF.csproj.DotSettings
@@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeEditing/Localization/Localizable/@EntryValue">No</s:String></wpf:ResourceDictionary>
6 changes: 6 additions & 0 deletions AUCapture-WPF/Controls/PlayerControl.xaml
Expand Up @@ -9,6 +9,7 @@
d:DesignHeight="80" d:DesignWidth="45">
<UserControl.Resources>
<converters1:PlayerToImage x:Key="PlayerToImage" />
<converters1:PantsConverter x:Key="PantsConverter" />
</UserControl.Resources>
<Grid>

Expand All @@ -26,6 +27,11 @@
</MultiBinding>
</Image.Source>
</Image>
<Image Grid.Row="1" Margin="0 0 0 10" Stretch="Uniform">
<Image.Source>
<Binding ElementName="PlayerControlWindow" Path="PlayerPantsID" Converter="{StaticResource PantsConverter}"/>
</Image.Source>
</Image>
<Viewbox Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center"
VerticalAlignment="Center" Margin="0">
<Label HorizontalAlignment="Center" Padding="0" Margin="0" VerticalAlignment="Center"
Expand Down
18 changes: 18 additions & 0 deletions AUCapture-WPF/Controls/PlayerControl.xaml.cs
Expand Up @@ -18,6 +18,14 @@ public partial class PlayerControl : UserControl
DependencyProperty.Register("PlayerName",
typeof(string), typeof(PlayerControl));

public static readonly DependencyProperty PlayerHatDependencyProperty =
DependencyProperty.Register("PlayerHatID",
typeof(uint), typeof(PlayerControl));

public static readonly DependencyProperty PlayerPantsDependencyProperty =
DependencyProperty.Register("PlayerPantsID",
typeof(uint), typeof(PlayerControl));

public static readonly DependencyProperty ColorProperty =
DependencyProperty.Register("Color",
typeof(PlayerColor), typeof(PlayerControl));
Expand All @@ -32,6 +40,16 @@ public bool AliveStatus
get => (bool)GetValue(AliveProperty);
set => SetValue(AliveProperty, value);
}
public uint PlayerHatID
{
get => (uint)GetValue(PlayerHatDependencyProperty);
set => SetValue(PlayerHatDependencyProperty, value);
}
public uint PlayerPantsID
{
get => (uint)GetValue(PlayerPantsDependencyProperty);
set => SetValue(PlayerPantsDependencyProperty, value);
}
public string PlayerName
{
get => (string)GetValue(PlayerNameProperty);
Expand Down
25 changes: 25 additions & 0 deletions AUCapture-WPF/Converters/PantsConverter.cs
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media.Imaging;
using AmongUsCapture;

namespace AUCapture_WPF.Converters
{
class PantsConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var pantID = value as uint? ?? 0;
return new BitmapImage(new Uri($"pack://application:,,,/Resources/Pants/{pantID}.png"));
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value?.Equals(true.ToString()) ?? false;
}
}
}
2 changes: 1 addition & 1 deletion AUCapture-WPF/MainWindow.xaml
Expand Up @@ -180,7 +180,7 @@
<ItemsControl.ItemTemplate>
<DataTemplate>
<controls:PlayerControl PlayerName="{Binding Name}" Color="{Binding Color}"
AliveStatus="{Binding Alive}" />
AliveStatus="{Binding Alive}" PlayerPantsID="{Binding PantsID}" PlayerHatID="{Binding HatID}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
Expand Down
14 changes: 13 additions & 1 deletion AUCapture-WPF/MainWindow.xaml.cs
Expand Up @@ -109,6 +109,7 @@ public MainWindow()
GameMemReader.getInstance().GameStateChanged += GameStateChangedHandler;
GameMemReader.getInstance().ProcessHook += OnProcessHook;
GameMemReader.getInstance().PlayerChanged += UserForm_PlayerChanged;
GameMemReader.getInstance().PlayerCosmeticChanged += OnPlayerCosmeticChanged;
App.handler.OnReady += HandlerOnOnReady;
GameMemReader.getInstance().ChatMessageAdded += OnChatMessageAdded;
GameMemReader.getInstance().JoinedLobby += OnJoinedLobby;
Expand Down Expand Up @@ -180,6 +181,17 @@ public MainWindow()
//ApplyDarkMode();
}

private void OnPlayerCosmeticChanged(object? sender, PlayerCosmeticChangedEventArgs e)
{
var player = context.Players.First(x => x.Name == e.Name);
Console.WriteLine("Cosmetic change");
Dispatcher.Invoke((Action) (() =>
{
player.HatID = e.HatId;
player.PantsID = e.SkinId;
}));
}

private void SocketOnOnDisconnected(object? sender, EventArgs e)
{
context.ConnectionStatuses.First(x => x.ConnectionName == "Galactus").Connected = false;
Expand Down Expand Up @@ -385,7 +397,7 @@ private void UserForm_PlayerChanged(object sender, PlayerChangedEventArgs e)
{
Dispatcher.Invoke((Action) (() =>
{
context.Players.Add(new Player(e.Name, e.Color, !e.IsDead));
context.Players.Add(new Player(e.Name, e.Color, !e.IsDead, 0, 0));
}));
}
}
Expand Down

0 comments on commit 0c7b5de

Please sign in to comment.