| @@ -168,7 +168,7 @@ THUAI6 开发组成员与其他贡献者应当遵循以下流程: | |||
| - 小组内合理分工,避免个人任务量过重或过轻 | |||
| - 做好部会记录,及时完成工作任务,避免拖延到ddl | |||
| - 各组间多交流,相互了解各自的开发进度,加强协作,遇到困难互相帮助 | |||
| - 加油,奥里给 | |||
| - 加油,奥里给 ,冲冲冲 | |||
| ## 开发组成员 | |||
| @@ -0,0 +1,9 @@ | |||
| <Application x:Class="Client.App" | |||
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
| xmlns:local="clr-namespace:Client" | |||
| StartupUri="MainWindow.xaml"> | |||
| <Application.Resources> | |||
| </Application.Resources> | |||
| </Application> | |||
| @@ -0,0 +1,17 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Configuration; | |||
| using System.Data; | |||
| using System.Linq; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| namespace Client | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for App.xaml | |||
| /// </summary> | |||
| public partial class App : Application | |||
| { | |||
| } | |||
| } | |||
| @@ -0,0 +1,10 @@ | |||
| using System.Windows; | |||
| [assembly:ThemeInfo( | |||
| ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located | |||
| //(used if a resource is not found in the page, | |||
| // or application resource dictionaries) | |||
| ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located | |||
| //(used if a resource is not found in the page, | |||
| // app, or any theme specific resource dictionaries) | |||
| )] | |||
| @@ -0,0 +1,18 @@ | |||
| <Project Sdk="Microsoft.NET.Sdk"> | |||
| <PropertyGroup> | |||
| <OutputType>WinExe</OutputType> | |||
| <TargetFramework>net6.0-windows</TargetFramework> | |||
| <Nullable>enable</Nullable> | |||
| <UseWPF>true</UseWPF> | |||
| </PropertyGroup> | |||
| <ItemGroup> | |||
| <None Remove="Logo.png" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <Resource Include="Logo.png" /> | |||
| </ItemGroup> | |||
| </Project> | |||
| @@ -0,0 +1,25 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio Version 17 | |||
| VisualStudioVersion = 17.1.32328.378 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "Client.csproj", "{5AD8481D-90EF-410C-BD48-355DB97EEAB3}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| Release|Any CPU = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
| {5AD8481D-90EF-410C-BD48-355DB97EEAB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {5AD8481D-90EF-410C-BD48-355DB97EEAB3}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {5AD8481D-90EF-410C-BD48-355DB97EEAB3}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {5AD8481D-90EF-410C-BD48-355DB97EEAB3}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| EndGlobalSection | |||
| GlobalSection(ExtensibilityGlobals) = postSolution | |||
| SolutionGuid = {89A74B1B-445C-49EB-9C93-506DC243C227} | |||
| EndGlobalSection | |||
| EndGlobal | |||
| @@ -0,0 +1,67 @@ | |||
| <Window x:Class="Client.MainWindow" | |||
| 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:local="clr-namespace:Client" | |||
| mc:Ignorable="d" | |||
| Title="ClientVI" Height="738" Width="850" Background="White" ResizeMode="CanResizeWithGrip" WindowStyle="None" MouseLeftButtonDown="DragWindow" MinHeight="738" MinWidth="1100"> | |||
| <Window.Resources> | |||
| <ImageBrush x:Key="Logo" ImageSource="Logo.png"/> | |||
| </Window.Resources> | |||
| <Grid Name="MainGrid" Margin="0,0,0,0"> | |||
| <!--Title行删去了两个赋值语句,等之后补回来--> | |||
| <Grid.RowDefinitions> | |||
| <RowDefinition Height="Auto"/> | |||
| <RowDefinition Height="37*"/> | |||
| <RowDefinition Height="138*"/> | |||
| <RowDefinition Height="175*"/> | |||
| <RowDefinition Height="175*"/> | |||
| <RowDefinition Height="175*"/> | |||
| <RowDefinition Height="0*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="58*"/> | |||
| <ColumnDefinition Width="58*"/> | |||
| <ColumnDefinition Width="Auto"/> | |||
| <ColumnDefinition Width="362*"/> | |||
| <ColumnDefinition Width="71*"/> | |||
| <ColumnDefinition Width="0*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <!--给地图留好位置--> | |||
| <Grid x:Name="UnderLayerOfMap" Margin="6,16,35,14" Grid.RowSpan="5" Grid.Column="3" Grid.Row="1" /> | |||
| <Grid x:Name="UpperLayerOfMap" Margin="6,16,35,14" Grid.RowSpan="5" Grid.Column="3" Grid.Row="1" /> | |||
| <!--右上角蓝绿小按钮--> | |||
| <Button x:Name="PorC" Content="▶" Margin="0,16,0,0" Background="Green" BorderBrush="Green" FontFamily="Microsoft YaHei" Click="ClickToPauseOrContinue" Grid.Column="4" Grid.Row="2" HorizontalAlignment="Left" Width="24" Height="26" VerticalAlignment="Top"/> | |||
| <Button Name="Connect" Content="🔗" Margin="0,11,0,0" VerticalAlignment="Top" Background="Aqua" Click="ClickToConnect" Height="25" Grid.Column="4" HorizontalAlignment="Left" Width="25" Grid.Row="1"/> | |||
| <!--右上角的最大化、关闭、最小化按钮--> | |||
| <Button Name="MaxButton" Content="🗖" Background="White" FontFamily="Microsoft YaHei" BorderBrush="White" Click="ClickToMaxmize" Grid.Column="4" Height="38" VerticalAlignment="Center" Margin="0,0,47,0" HorizontalAlignment="Right" Width="44"/> | |||
| <Button Content="❎" Background="White" FontFamily="Microsoft YaHei" BorderBrush="White" Click="ClickToClose" Grid.Column="4" Height="38" VerticalAlignment="Center" Margin="0,0,1,0" HorizontalAlignment="Right" Width="44"/> | |||
| <Button Content="—" Background="White" FontFamily="Microsoft YaHei" BorderBrush="White" Click="ClickToMinimize" Grid.Column="4" Height="38" VerticalAlignment="Center" Margin="0,0,93,0" HorizontalAlignment="Right" Width="44"/> | |||
| <!--右侧“帮助”、“关于我们”按钮--> | |||
| <Button Content=" 帮
 助
(H)" Margin="66,50,0,0" Background="Ivory" Click="ClickForHelp" Grid.Row="2" Grid.Column="4" HorizontalAlignment="Left" Width="46" Height="80" VerticalAlignment="Top"/> | |||
| <Button Content="关
于
我
们
(F)" Margin="68,115,0,0" Background="Ivory" Click="ClickToVisitEESAST" Grid.Row="4" Grid.Column="4" Grid.RowSpan="2" HorizontalAlignment="Left" Width="38" Height="97" VerticalAlignment="Top" /> | |||
| <!--左上角的EESAST标志、THUAI6文字提示语以及其他按钮--> | |||
| <Image Stretch="Fill" Source="/Logo.png" HorizontalAlignment="Left" Width="39" Height="38" VerticalAlignment="Center"/> | |||
| <Label Content="THUAI6 Client for players " Margin="37,0,0,0" FontSize="15" Grid.ColumnSpan="2" Grid.Column="0" HorizontalAlignment="Left" Width="194" Height="32" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5"> | |||
| <Label.RenderTransform> | |||
| <TransformGroup> | |||
| <ScaleTransform/> | |||
| <SkewTransform/> | |||
| <RotateTransform Angle="-0.377"/> | |||
| <TranslateTransform/> | |||
| </TransformGroup> | |||
| </Label.RenderTransform> | |||
| </Label> | |||
| <Button Content="配置连接(C)" Height="35" Background="White" FontFamily="Microsoft YaHei" FontSize="16" BorderBrush="White" Click="ClickToSetConnect" Grid.Column="3" Grid.Row="0" Margin="320 | |||
| ,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="90"/> | |||
| <Button Content="我的AI(M)" Height="35" Width="82" Background="White" FontFamily="Microsoft YaHei" FontSize="16" BorderBrush="White" Click="ClickToEnterVS" Grid.Column="3" Grid.Row="0" Margin="223,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/> | |||
| <Button Content="获取更新(U)" Height="35" Background="White" FontFamily="Microsoft YaHei" FontSize="16" BorderBrush="White" Click="ClickForUpdate" Grid.Column="3" Grid.Row="0" Margin="120,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="93"/> | |||
| <Button Content="天梯信息(L)" Height="35" Background="White" FontFamily="Microsoft YaHei" FontSize="16" BorderBrush="White" Click="ClickToCheckLadder" Grid.Column="3" Grid.Row="0" Margin="20,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="91"/> | |||
| <!--一横一竖两条实线--> | |||
| <Border BorderThickness="1" Background="Black" BorderBrush="Black" HorizontalAlignment="Center" Margin="0,5,0,0" Width="2" Grid.RowSpan="5" Grid.Column="2" Grid.Row="1"/> | |||
| <Border BorderThickness="1" Background="Black" BorderBrush="Black" Height="2" Margin="67,37,1,0" VerticalAlignment="Top" Grid.ColumnSpan="3" Grid.Row="0" Grid.Column="1"/> | |||
| </Grid> | |||
| </Window> | |||
| @@ -0,0 +1,183 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Navigation; | |||
| using System.Windows.Shapes; | |||
| using System.Diagnostics; | |||
| // 留意初始化 | |||
| // 目前MainWindow还未复现的功能: | |||
| // private void ReactToCommandline(), | |||
| // private void Playback(string fileName, double pbSpeed = 2.0) | |||
| // 绘图函数private void DrawLaser(Point source, double theta, double range,double Width)//三个参数分别为攻击者的位置,攻击方位角(窗口坐标)和攻击半径 | |||
| // private void DrawProp(MessageToClient.Types.GameObjMessage data, string text), | |||
| // private void Attack(object sender,RoutedEventArgs e) | |||
| // 地图相关private void ZoomMap(),private void DrawMap() | |||
| // 交互:private void ClickToSetMode(object sender, RoutedEventArgs e) | |||
| // 最近要解决private void ConnectToServer(string[] comInfo) | |||
| // private void KeyBoardControl(object sender, KeyEventArgs e) | |||
| // private void GetMap(MessageToClient.Types.GameObjMessage obj) | |||
| // private void OnReceive() | |||
| // private bool CanSee(MessageOfCharacter msg) (以及两个重载函数) | |||
| // private void Refresh(object? sender, EventArgs e) | |||
| // private void Bonus() | |||
| namespace Client | |||
| { | |||
| /// <summary> | |||
| /// Interaction logic for MainWindow.xaml | |||
| /// </summary> | |||
| public partial class MainWindow : Window | |||
| { | |||
| public MainWindow() | |||
| { | |||
| InitializeComponent(); | |||
| SetStatusBar(); | |||
| isClientStocked = true; | |||
| isPlaybackMode = false; | |||
| WindowStartupLocation = WindowStartupLocation.CenterScreen; | |||
| } | |||
| private void SetStatusBar() | |||
| { | |||
| StatusBarsOfSurvivor = new StatusBarOfSurvivor[4]; | |||
| StatusBarsOfHunter = new StatusBarOfHunter(MainGrid, 3, 0); | |||
| StatusBarsOfCircumstance = new StatusBarOfCircumstance(MainGrid, 1, 0); | |||
| for (int i = 4; i < 8; i++) | |||
| { | |||
| StatusBarsOfSurvivor[i - 4] = new(MainGrid, i / 2 + 2, i % 2); | |||
| } | |||
| } | |||
| // 连接Server | |||
| private void ConnectToServer(string[] comInfo) | |||
| { | |||
| } | |||
| // 之后需要修改,现在只具有修改按钮形状的功能,并不能实现暂停/继续 | |||
| private void ClickToPauseOrContinue(object sender, RoutedEventArgs e) | |||
| { | |||
| if (!isClientStocked) | |||
| { | |||
| isClientStocked = true; | |||
| PorC.Content = "▶"; | |||
| } | |||
| else | |||
| { | |||
| isClientStocked = false; | |||
| PorC.Content = "⏸"; | |||
| } | |||
| } | |||
| // 未复现 | |||
| private void ClickToConnect(object sender, RoutedEventArgs e) | |||
| { | |||
| } | |||
| // 窗口最大化、关闭、最小化、拖拽 | |||
| private void ClickToMaxmize(object sender, RoutedEventArgs e) | |||
| { | |||
| if (WindowState != WindowState.Maximized) | |||
| WindowState = WindowState.Maximized; | |||
| else | |||
| WindowState = WindowState.Normal; | |||
| } | |||
| private void ClickToClose(object sender, RoutedEventArgs e) | |||
| { | |||
| Application.Current.Shutdown(); | |||
| } | |||
| private void ClickToMinimize(object sender, RoutedEventArgs e) | |||
| { | |||
| WindowState = WindowState.Minimized; | |||
| } | |||
| private void DragWindow(object sender, RoutedEventArgs e) | |||
| { | |||
| DragMove(); | |||
| } | |||
| // 寻求帮助、访问EESAST(部分功能未复原) | |||
| private void ClickForHelp(object sender, RoutedEventArgs e) | |||
| { | |||
| PleaseWait(); | |||
| } | |||
| private void ClickToVisitEESAST(object sender, RoutedEventArgs e) | |||
| { | |||
| try | |||
| { | |||
| _ = Process.Start("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "https://eesast.com"); | |||
| } | |||
| catch (Exception exc) | |||
| { | |||
| // ErrorDisplayer error = new("发生错误。以下是系统报告\n" + exc.ToString()); | |||
| // error.Show(); | |||
| } | |||
| } | |||
| // 配置连接(未复原)、我的AI(THUAI5未实现)、获取更新、天梯信息(可能需要网站协助) | |||
| private void ClickToSetConnect(object sender, RoutedEventArgs e) | |||
| { | |||
| // ConnectRegister crg = new(); | |||
| // crg.Show(); | |||
| } | |||
| private void ClickToEnterVS(object sender, RoutedEventArgs e) | |||
| { | |||
| // try | |||
| //{ | |||
| // if (!File.Exists("VSRoute.txt")) | |||
| // { | |||
| // File.Create("VSRoute.txt"); | |||
| // Exception ex = new("没有路径存储文件,已为您创建。请将VS路径输入该文件,并重新操作。"); | |||
| // throw ex; | |||
| // }//创建路径文件 | |||
| // using StreamReader sr = new("VSRoute.txt"); | |||
| // _ = Process.Start(sr.ReadLine()); | |||
| // } | |||
| // catch (Exception exc) | |||
| //{ | |||
| // ErrorDisplayer error = new("发生错误。以下是系统报告:\n" + exc.ToString()); | |||
| // error.Show(); | |||
| // } | |||
| PleaseWait(); | |||
| } | |||
| private void ClickForUpdate(object sender, RoutedEventArgs e) | |||
| { | |||
| PleaseWait(); | |||
| } | |||
| private void ClickToCheckLadder(object sender, RoutedEventArgs e) | |||
| { | |||
| PleaseWait(); | |||
| } | |||
| // 敬请期待函数 | |||
| private void PleaseWait() | |||
| { | |||
| try | |||
| { | |||
| throw new Exception("敬请期待"); | |||
| } | |||
| catch (Exception exc) | |||
| { | |||
| // ErrorDisplayer error = new(exc.Message); | |||
| // error.Show(); | |||
| } | |||
| } | |||
| private StatusBarOfSurvivor[] StatusBarsOfSurvivor; | |||
| private StatusBarOfHunter StatusBarsOfHunter; | |||
| private StatusBarOfCircumstance StatusBarsOfCircumstance; | |||
| private bool isClientStocked; | |||
| private bool isPlaybackMode; | |||
| private long playerID; | |||
| private long teamID; | |||
| } | |||
| } | |||
| @@ -0,0 +1,28 @@ | |||
| <UserControl x:Class="Client.StatusBarOfCircumstance" | |||
| 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:local="clr-namespace:Client" | |||
| mc:Ignorable="d" | |||
| d:DesignHeight="174" d:DesignWidth="180"> | |||
| <Grid Name="background" > | |||
| <Grid.RowDefinitions> | |||
| <RowDefinition Height="35*"/> | |||
| <RowDefinition Height="67*"/> | |||
| <RowDefinition Height="22*"/> | |||
| <RowDefinition Height="20*"/> | |||
| <RowDefinition Height="26*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="7*"/> | |||
| <ColumnDefinition Width="53*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="Time:
Round:" Grid.Row="0" Grid.ColumnSpan="2" FontSize="12" Margin="0,0,0,68" Grid.RowSpan="2"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="📱:
🏃:
🤺:
🗡:" Grid.Row="1" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="Scores:" Grid.Row="1" Grid.ColumnSpan="2" Margin="0,68,0,20" Grid.RowSpan="3"/> | |||
| <TextBox Name="star" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="" Grid.Row="3" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop" IsReadOnly="True" BorderBrush="Gray" Text="" FontSize="12" Margin="0,20,0,0" TextWrapping="Wrap" Grid.Row="3" Grid.Column="0" Grid.RowSpan="2"></TextBox> | |||
| <ProgressBar Name="skillprogress" Background="White" Margin="0,20,0,0" Grid.Row="3" Grid.Column="1" Grid.RowSpan="2"/> | |||
| </Grid> | |||
| </UserControl> | |||
| @@ -0,0 +1,34 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Shapes; | |||
| namespace Client | |||
| { | |||
| /// <summary> | |||
| /// StatusBarOfCircumstance.xaml 的交互逻辑 | |||
| /// </summary> | |||
| public partial class StatusBarOfCircumstance : UserControl | |||
| { | |||
| public StatusBarOfCircumstance(Grid parent, int Row, int Column) | |||
| { | |||
| InitializeComponent(); | |||
| parent.Children.Add(this); | |||
| Grid.SetColumn(this, Column); | |||
| Grid.SetColumnSpan(this, 2); | |||
| Grid.SetRow(this, Row); | |||
| Grid.SetRowSpan(this, 2); | |||
| initialized = false; | |||
| } | |||
| private bool initialized; | |||
| } | |||
| } | |||
| @@ -0,0 +1,28 @@ | |||
| <UserControl x:Class="Client.StatusBarOfHunter" | |||
| 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:local="clr-namespace:Client" | |||
| mc:Ignorable="d" | |||
| d:DesignHeight="174" d:DesignWidth="180"> | |||
| <Grid Name="background" > | |||
| <Grid.RowDefinitions> | |||
| <RowDefinition Height="35*"/> | |||
| <RowDefinition Height="67*"/> | |||
| <RowDefinition Height="22*"/> | |||
| <RowDefinition Height="20*"/> | |||
| <RowDefinition Height="26*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="7*"/> | |||
| <ColumnDefinition Width="53*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="👥null🤡null
Skill:" Grid.Row="0" Grid.ColumnSpan="2" FontSize="12" Margin="0,0,0,68" Grid.RowSpan="2"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="🏹:
🏃:
🤺:
🗡:" Grid.Row="1" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="Scores:" Grid.Row="1" Grid.ColumnSpan="2" Margin="0,68,0,20" Grid.RowSpan="3"/> | |||
| <TextBox Name="star" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="" Grid.Row="3" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop" IsReadOnly="True" BorderBrush="Gray" Text="" FontSize="12" Margin="0,20,0,0" TextWrapping="Wrap" Grid.Row="3" Grid.Column="0" Grid.RowSpan="2"></TextBox> | |||
| <ProgressBar Name="skillprogress" Background="White" Margin="0,20,0,0" Grid.Row="3" Grid.Column="1" Grid.RowSpan="2"/> | |||
| </Grid> | |||
| </UserControl> | |||
| @@ -0,0 +1,38 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Shapes; | |||
| namespace Client | |||
| { | |||
| /// <summary> | |||
| /// StatusBarOfHunter.xaml 的交互逻辑 | |||
| /// </summary> | |||
| public partial class StatusBarOfHunter : UserControl | |||
| { | |||
| public StatusBarOfHunter(Grid parent, int Row, int Column) | |||
| { | |||
| InitializeComponent(); | |||
| parent.Children.Add(this); | |||
| Grid.SetColumn(this, Column); | |||
| Grid.SetColumnSpan(this, 2); | |||
| Grid.SetRow(this, Row); | |||
| initialized = false; | |||
| } | |||
| private bool initialized; | |||
| } | |||
| } | |||
| @@ -0,0 +1,28 @@ | |||
| <UserControl x:Class="Client.StatusBarOfSurvivor" | |||
| 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:local="clr-namespace:Client" | |||
| mc:Ignorable="d" | |||
| d:DesignHeight="174" d:DesignWidth="90"> | |||
| <Grid Name="background" > | |||
| <Grid.RowDefinitions> | |||
| <RowDefinition Height="35*"/> | |||
| <RowDefinition Height="67*"/> | |||
| <RowDefinition Height="22*"/> | |||
| <RowDefinition Height="20*"/> | |||
| <RowDefinition Height="26*"/> | |||
| </Grid.RowDefinitions> | |||
| <Grid.ColumnDefinitions> | |||
| <ColumnDefinition Width="10*"/> | |||
| <ColumnDefinition Width="31*"/> | |||
| </Grid.ColumnDefinitions> | |||
| <TextBox Name="serial" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="👥null🧓null
Skill:" Grid.Row="0" Grid.ColumnSpan="2" FontSize="12"/> | |||
| <TextBox Name="status" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="🔧:
🏃:
♥:
🛡:" Grid.Row="1" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="scores" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="Scores:" Grid.Row="2" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="star" IsReadOnly="True" BorderBrush="White" TextWrapping="Wrap" Text="" Grid.Row="3" Grid.ColumnSpan="2"/> | |||
| <TextBox Name="prop" IsReadOnly="True" BorderBrush="Gray" Text="" FontSize="12" Margin="0" TextWrapping="Wrap" Grid.Row="4" Grid.Column="0"></TextBox> | |||
| <ProgressBar Name="skillprogress" Background="White" Margin="0" Grid.Row="4" Grid.Column="1"/> | |||
| </Grid> | |||
| </UserControl> | |||
| @@ -0,0 +1,32 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using System.Windows; | |||
| using System.Windows.Controls; | |||
| using System.Windows.Data; | |||
| using System.Windows.Documents; | |||
| using System.Windows.Input; | |||
| using System.Windows.Media; | |||
| using System.Windows.Media.Imaging; | |||
| using System.Windows.Shapes; | |||
| namespace Client | |||
| { | |||
| /// <summary> | |||
| /// StatusBarOfSurvivor.xaml 的交互逻辑 | |||
| /// </summary> | |||
| public partial class StatusBarOfSurvivor : UserControl | |||
| { | |||
| public StatusBarOfSurvivor(Grid parent, int Row, int Column) | |||
| { | |||
| InitializeComponent(); | |||
| parent.Children.Add(this); | |||
| Grid.SetColumn(this, Column); | |||
| Grid.SetRow(this, Row); | |||
| initialized = false; | |||
| } | |||
| private bool initialized; | |||
| } | |||
| } | |||