2024-03-07 21:04:59 +08:00
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
using System.Windows;
|
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
|
using System.Windows.Media;
|
|
|
|
|
|
using Zerolauncher.dialog;
|
|
|
|
|
|
using Zerolauncher.Manager;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Zerolauncher.controls
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// MemberControl.xaml 的交互逻辑
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public partial class MemberControl : UserControl
|
|
|
|
|
|
{
|
|
|
|
|
|
public int memberId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
private bool isMouseDown;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public MemberControl()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
isMouseDown = false;
|
|
|
|
|
|
// 鼠标按下事件
|
|
|
|
|
|
MouseDown += (s, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
RenderTransform = new TranslateTransform(3, 3);
|
|
|
|
|
|
isMouseDown = true;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 鼠标松开事件
|
|
|
|
|
|
MouseUp += (s, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!isMouseDown) return;
|
|
|
|
|
|
RenderTransform = new TranslateTransform(0, 0);
|
|
|
|
|
|
if (e.ChangedButton == MouseButton.Right) return;
|
2024-03-11 10:57:12 +08:00
|
|
|
|
bool needDialog;
|
|
|
|
|
|
if (!EngineManager.CreateGame(memberId, out needDialog)) MessageBox.Show("账号已启动!请勿重复启动", "提示");
|
|
|
|
|
|
if (needDialog) UpdateDialog.CreateDailog();
|
2024-03-07 21:04:59 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 鼠标离开事件
|
|
|
|
|
|
MouseLeave += (s, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
if (Mouse.LeftButton == MouseButtonState.Pressed)
|
|
|
|
|
|
{
|
|
|
|
|
|
RenderTransform = new TranslateTransform(0, 0);
|
|
|
|
|
|
isMouseDown = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 鼠标捕获丢失事件
|
|
|
|
|
|
LostMouseCapture += (s, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
RenderTransform = new TranslateTransform(0, 0);
|
|
|
|
|
|
isMouseDown = false;
|
|
|
|
|
|
};
|
|
|
|
|
|
ContextMenu = CreateContextMenu();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private ContextMenu CreateContextMenu()
|
|
|
|
|
|
{
|
|
|
|
|
|
ContextMenu contextMenu = new ContextMenu();
|
|
|
|
|
|
|
|
|
|
|
|
MenuItem editItem = new MenuItem { Header = "编辑" };
|
|
|
|
|
|
editItem.Click += editItem_Click;
|
|
|
|
|
|
contextMenu.Items.Add(editItem);
|
|
|
|
|
|
|
|
|
|
|
|
MenuItem delItem = new MenuItem { Header = "删除" };
|
|
|
|
|
|
delItem.Click += delItem_Click;
|
|
|
|
|
|
contextMenu.Items.Add(delItem);
|
|
|
|
|
|
|
|
|
|
|
|
MenuItem changeTeamItem = new MenuItem { Header = "移动到" };
|
|
|
|
|
|
contextMenu.Items.Add(changeTeamItem);
|
|
|
|
|
|
changeTeamItem.MouseEnter += (sender, args) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
// 清空ContextMenu的items
|
|
|
|
|
|
changeTeamItem.Items.Clear();
|
|
|
|
|
|
|
|
|
|
|
|
// 假设你有一个字符串数组
|
|
|
|
|
|
string[] items = TeamManager.GetAllTeamName();
|
|
|
|
|
|
|
|
|
|
|
|
// 遍历字符串数组,为每个元素创建一个MenuItem
|
|
|
|
|
|
for (int i = 0; i < items.Length; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
MenuItem menuItem = new MenuItem { Header = items[i] };
|
|
|
|
|
|
menuItem.Tag = i;
|
|
|
|
|
|
menuItem.Click += (sender, args) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
// 输出被点击的item的index
|
|
|
|
|
|
MenuItem menuItem = sender as MenuItem;
|
|
|
|
|
|
int i = (int)menuItem.Tag;
|
|
|
|
|
|
Trace.WriteLine("Clicked item index: " + i);
|
|
|
|
|
|
AccountManager.MoveAccount(memberId, i);
|
|
|
|
|
|
};
|
|
|
|
|
|
changeTeamItem.Items.Add(menuItem);
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
return contextMenu;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void delItem_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
2024-03-18 22:59:51 +08:00
|
|
|
|
MessageBoxResult result = MessageBox.Show($"即将删除账号{text.Content}", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
|
|
|
|
|
if (result == MessageBoxResult.OK)
|
|
|
|
|
|
{
|
|
|
|
|
|
AccountManager.DeleteAccount(memberId);
|
|
|
|
|
|
}
|
2024-03-07 21:04:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void editItem_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
2024-03-11 10:57:12 +08:00
|
|
|
|
//Trace.WriteLine("edit member " + memberId.ToString());
|
|
|
|
|
|
EditMemberDialog.CreateDailog(memberId);
|
2024-03-07 21:04:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|