clear New Account
This commit is contained in:
parent
e069c3ccbc
commit
b532d7ae05
@ -84,7 +84,7 @@ namespace Zerolauncher
|
||||
});
|
||||
DataStreamNew.Load();
|
||||
_ = WebApiManager.StartListener();
|
||||
AccountManager.initLoadData();
|
||||
AccountManager.InitLoadData();
|
||||
}
|
||||
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
|
||||
@ -29,7 +29,7 @@ namespace Zerolauncher
|
||||
|
||||
memberBG.ContextMenu = CreateContextMenu();
|
||||
int i = 0;
|
||||
foreach (var account in AccountManager.accountsList)
|
||||
foreach (var account in AccountManager.AccountsList)
|
||||
{
|
||||
var member = new MemberControl();
|
||||
member.memberId = i++;
|
||||
@ -48,7 +48,7 @@ namespace Zerolauncher
|
||||
//foreach (var btn in mLayout.Children.)
|
||||
mLayout.Children.Clear();
|
||||
int i = 0;
|
||||
foreach (var account in AccountManager.accountsList)
|
||||
foreach (var account in AccountManager.AccountsList)
|
||||
{
|
||||
var member = new MemberControl();
|
||||
member.memberId = i++;
|
||||
@ -124,7 +124,7 @@ namespace Zerolauncher
|
||||
|
||||
private void editTeamItem_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
EditTeamDialog.CreateDailog(AccountManager.teamName);
|
||||
EditTeamDialog.CreateDailog(AccountManager.TeamName);
|
||||
}
|
||||
|
||||
private void Button_Click_3(object sender, RoutedEventArgs e)
|
||||
|
||||
@ -3,34 +3,34 @@ using System.Diagnostics;
|
||||
|
||||
namespace Zerolauncher.Manager
|
||||
{
|
||||
internal class AccountManager
|
||||
internal static class AccountManager
|
||||
{
|
||||
static int teamId=0;
|
||||
static int _teamId;
|
||||
|
||||
public static string teamName = "";
|
||||
public static string TeamName = "";
|
||||
|
||||
public static List<AccountNew>? accountsList;
|
||||
public static List<AccountNew>? AccountsList;
|
||||
|
||||
public static void initLoadData()
|
||||
public static void InitLoadData()
|
||||
{
|
||||
teamId = AccountData.teamIndex;
|
||||
foreach (var pair in GroupsData.data)
|
||||
_teamId = AccountData.TeamIndex;
|
||||
foreach (var pair in GroupsData.Data)
|
||||
{
|
||||
Trace.WriteLine(pair.Key, pair.Value);
|
||||
}
|
||||
teamName = GroupsData.data[teamId];
|
||||
accountsList = AccountData.data[teamId];
|
||||
TeamName = GroupsData.Data[_teamId];
|
||||
AccountsList = AccountData.Data[_teamId];
|
||||
}
|
||||
|
||||
public static void ChangeTeam(int index)
|
||||
{
|
||||
teamId = TeamManager.Index2Key(index);
|
||||
teamId = AccountData.teamIndex;
|
||||
teamName = GroupsData.data[teamId];
|
||||
accountsList = AccountData.data[teamId];
|
||||
_teamId = TeamManager.Index2Key(index);
|
||||
_teamId = AccountData.TeamIndex;
|
||||
TeamName = GroupsData.Data[_teamId];
|
||||
AccountsList = AccountData.Data[_teamId];
|
||||
}
|
||||
|
||||
public static void saveEdit()
|
||||
public static void SaveEdit()
|
||||
{
|
||||
DataStreamNew.Save();
|
||||
MainWindow.Instance.ReloadBtn();
|
||||
@ -38,7 +38,7 @@ namespace Zerolauncher.Manager
|
||||
|
||||
public static bool AddAccount(AccountNew account)
|
||||
{
|
||||
account.groupId = teamId;
|
||||
account.groupId = _teamId;
|
||||
AccountData.AddAccount(account);
|
||||
|
||||
DataStreamNew.Save();
|
||||
@ -48,45 +48,53 @@ namespace Zerolauncher.Manager
|
||||
|
||||
public static bool AddAccounts(AccountNew account)
|
||||
{
|
||||
account.groupId = teamId;
|
||||
account.groupId = _teamId;
|
||||
AccountData.AddAccount(account);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void MoveAccount(int memberId, int newIndex)
|
||||
{
|
||||
var group_id = TeamManager.Index2Key(newIndex);
|
||||
var acc = accountsList[memberId];
|
||||
accountsList.RemoveAt(memberId);
|
||||
AccountData.CheckGroup(group_id);
|
||||
AccountData.data[group_id].Add(acc);
|
||||
var groupId = TeamManager.Index2Key(newIndex);
|
||||
if (AccountsList != null)
|
||||
{
|
||||
var acc = AccountsList[memberId];
|
||||
AccountsList.RemoveAt(memberId);
|
||||
if (!AccountData.CheckGroup(groupId)) return;
|
||||
AccountData.Data[groupId].Add(acc);
|
||||
}
|
||||
|
||||
DataStreamNew.Save();
|
||||
MainWindow.Instance.ReloadBtn();
|
||||
}
|
||||
|
||||
public static void DeleteAccount(int index) {
|
||||
var nick = accountsList[index].nickName;
|
||||
accountsList.RemoveAt(index);
|
||||
AccountData.dict.Remove(nick);
|
||||
if (AccountsList != null)
|
||||
{
|
||||
var nick = AccountsList[index].nickName;
|
||||
AccountsList.RemoveAt(index);
|
||||
AccountData.Dict.Remove(nick);
|
||||
}
|
||||
|
||||
DataStreamNew.Save();
|
||||
MainWindow.Instance.ReloadBtn();
|
||||
}
|
||||
|
||||
public static void editTeamName(string teamName0)
|
||||
public static void EditTeamName(string teamName0)
|
||||
{
|
||||
teamName = teamName0;
|
||||
GroupsData.data[teamId] = teamName;
|
||||
TeamName = teamName0;
|
||||
GroupsData.Data[_teamId] = TeamName;
|
||||
DataStreamNew.Save();
|
||||
}
|
||||
|
||||
public static bool DeleteTeam()
|
||||
{
|
||||
if (GroupsData.data.Keys.Count == 1)
|
||||
if (GroupsData.Data.Keys.Count == 1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
AccountData.RemoveGroup();
|
||||
ChangeTeam(GroupsData.data.Keys.First());
|
||||
ChangeTeam(GroupsData.Data.Keys.First());
|
||||
DataStreamNew.Save();
|
||||
MainWindow.Instance.ReloadBtn();
|
||||
return true;
|
||||
@ -94,18 +102,18 @@ namespace Zerolauncher.Manager
|
||||
|
||||
}
|
||||
|
||||
internal class TeamManager
|
||||
internal static class TeamManager
|
||||
{
|
||||
|
||||
public static int Index2Key(int index) { return GroupsData.data.ElementAt(index).Key; }
|
||||
public static int Index2Key(int index) { return GroupsData.Data.ElementAt(index).Key; }
|
||||
public static string[] GetAllTeamName()
|
||||
{
|
||||
return GroupsData.data.Values.ToArray();
|
||||
return GroupsData.Data.Values.ToArray();
|
||||
}
|
||||
|
||||
public static void addTeam(string teamName)
|
||||
public static void AddTeam(string teamName)
|
||||
{
|
||||
GroupsData.data.Add(GroupsData.data.Keys.LastOrDefault() + 1, teamName);
|
||||
GroupsData.Data.Add(GroupsData.Data.Keys.LastOrDefault() + 1, teamName);
|
||||
DataStreamNew.Save();
|
||||
}
|
||||
|
||||
@ -113,7 +121,7 @@ namespace Zerolauncher.Manager
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
|
||||
public static AccountNew? Nick2Acc(string nickName)
|
||||
{
|
||||
return AccountData.dict.ContainsKey(nickName)? AccountData.dict[nickName]:null;
|
||||
return AccountData.Dict.GetValueOrDefault(nickName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -213,29 +213,29 @@ namespace Zerolauncher.Manager
|
||||
}
|
||||
|
||||
|
||||
static class AccountData
|
||||
internal static class AccountData
|
||||
{
|
||||
public static int teamIndex;
|
||||
public static int TeamIndex;
|
||||
|
||||
public static Dictionary<int, List<AccountNew>> data = [];
|
||||
public static readonly Dictionary<int, List<AccountNew>> Data = [];
|
||||
|
||||
public static Dictionary<String, AccountNew> dict = [];
|
||||
public static readonly Dictionary<string, AccountNew> Dict = [];
|
||||
|
||||
public static void Init(DataItem data)
|
||||
public static void Init(DataItem dataItem)
|
||||
{
|
||||
data.ReSetOffset();
|
||||
teamIndex = data.ReadInt();
|
||||
var accountCount = data.ReadInt();
|
||||
for (int i = 0; i < accountCount; i++)
|
||||
dataItem.ReSetOffset();
|
||||
TeamIndex = dataItem.ReadInt();
|
||||
var accountCount = dataItem.ReadInt();
|
||||
for (var i = 0; i < accountCount; i++)
|
||||
{
|
||||
AddAccount(new AccountNew()
|
||||
{
|
||||
groupId = data.ReadInt(),
|
||||
providerId = data.ReadInt(),
|
||||
serverId = data.ReadInt(),
|
||||
userName = data.ReadStr(),
|
||||
userPWD = data.ReadStr(),
|
||||
nickName = data.ReadStr()
|
||||
groupId = dataItem.ReadInt(),
|
||||
providerId = dataItem.ReadInt(),
|
||||
serverId = dataItem.ReadInt(),
|
||||
userName = dataItem.ReadStr(),
|
||||
userPWD = dataItem.ReadStr(),
|
||||
nickName = dataItem.ReadStr()
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -255,41 +255,35 @@ namespace Zerolauncher.Manager
|
||||
|
||||
public static void AddAccount(AccountNew item)
|
||||
{
|
||||
int count = 0;
|
||||
while (dict.ContainsKey(item.nickName))
|
||||
var count = 0;
|
||||
while (Dict.ContainsKey(item.nickName))
|
||||
item.nickName += count++.ToString();
|
||||
CheckGroup(item.groupId);
|
||||
data[item.groupId].Add(item);
|
||||
if (CheckGroup(item.groupId)) Data[item.groupId].Add(item);
|
||||
}
|
||||
|
||||
public static bool CheckGroup(int groupId)
|
||||
{
|
||||
if (GroupsData.data.ContainsKey(groupId))
|
||||
{
|
||||
if (!data.ContainsKey(groupId)) data.Add(groupId, new List<AccountNew> { });
|
||||
if (!GroupsData.Data.ContainsKey(groupId)) return false;
|
||||
if (!Data.ContainsKey(groupId)) Data.Add(groupId, []);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void RemoveGroup()
|
||||
{
|
||||
GroupsData.data.Remove(teamIndex);
|
||||
foreach (var item in data[teamIndex])
|
||||
GroupsData.Data.Remove(TeamIndex);
|
||||
foreach (var item in Data[TeamIndex])
|
||||
{
|
||||
dict.Remove(item.nickName);
|
||||
Dict.Remove(item.nickName);
|
||||
}
|
||||
data.Remove(teamIndex);
|
||||
Data.Remove(TeamIndex);
|
||||
}
|
||||
|
||||
public static DataItem Out()
|
||||
{
|
||||
var res = new DataItem(NameSpace.Accounts, []);
|
||||
res.WriteInt(teamIndex);
|
||||
res.WriteInt(data.Count);
|
||||
foreach (var items in data.Values)
|
||||
{
|
||||
foreach (var item in items)
|
||||
res.WriteInt(TeamIndex);
|
||||
res.WriteInt(Data.Count);
|
||||
foreach (var item in Data.Values.SelectMany(items => items))
|
||||
{
|
||||
res.WriteInt(item.groupId);
|
||||
res.WriteInt(item.providerId);
|
||||
@ -298,33 +292,32 @@ namespace Zerolauncher.Manager
|
||||
res.WriteString(item.userPWD);
|
||||
res.WriteString(item.nickName);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
static class GroupsData
|
||||
internal static class GroupsData
|
||||
{
|
||||
public static Dictionary<int, String> data = [];
|
||||
public static void Init(DataItem data)
|
||||
public static readonly Dictionary<int, string> Data = [];
|
||||
public static void Init(DataItem dataItem)
|
||||
{
|
||||
int count = data.ReadInt();
|
||||
for (int i = 0; i < count; i++)
|
||||
var count = dataItem.ReadInt();
|
||||
for (var i = 0; i < count; i++)
|
||||
{
|
||||
GroupsData.data.Add(data.ReadInt(), data.ReadStr());
|
||||
Data.Add(dataItem.ReadInt(), dataItem.ReadStr());
|
||||
}
|
||||
}
|
||||
|
||||
public static void InitDefaultData()
|
||||
{
|
||||
data.Add(0, "队伍1");
|
||||
Data.Add(0, "队伍1");
|
||||
}
|
||||
|
||||
public static DataItem Out()
|
||||
{
|
||||
var res = new DataItem(NameSpace.Groups, []);
|
||||
res.WriteInt(data.Count);
|
||||
foreach (var item in data)
|
||||
res.WriteInt(Data.Count);
|
||||
foreach (var item in Data)
|
||||
{
|
||||
res.WriteInt(item.Key);
|
||||
res.WriteString(item.Value);
|
||||
|
||||
@ -59,7 +59,7 @@ namespace Zerolauncher.Manager
|
||||
|
||||
public static bool CreateGame(int memberId)
|
||||
{
|
||||
return CreateGame(AccountManager.accountsList[memberId]);
|
||||
return CreateGame(AccountManager.AccountsList[memberId]);
|
||||
}
|
||||
|
||||
public static int CheckGameState(AccountNew account)
|
||||
|
||||
@ -28,7 +28,7 @@ namespace Zerolauncher.dialog
|
||||
if (EditMemberDialog.member != null)
|
||||
{
|
||||
int index = (int)EditMemberDialog.member;
|
||||
var acc = AccountManager.accountsList[index];
|
||||
var acc = AccountManager.AccountsList[index];
|
||||
cb_pid.SelectedIndex = acc.providerId;
|
||||
cb_sid.SelectedIndex = acc.serverId;
|
||||
edit_acc.Text = acc.userName;
|
||||
@ -70,13 +70,13 @@ namespace Zerolauncher.dialog
|
||||
return;
|
||||
}
|
||||
int index = (int)EditMemberDialog.member;
|
||||
var acc = AccountManager.accountsList[index];
|
||||
var acc = AccountManager.AccountsList[index];
|
||||
acc.providerId = cb_pid.SelectedIndex;
|
||||
acc.serverId = cb_sid.SelectedIndex;
|
||||
acc.userName = edit_acc.Text;
|
||||
acc.userPWD = edit_pwd.Password;
|
||||
acc.nickName = edit_nick.Text;
|
||||
AccountManager.saveEdit();
|
||||
AccountManager.SaveEdit();
|
||||
EditMemberDialog.Close();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ namespace Zerolauncher.dialog
|
||||
MessageBox.Show("昵称不能为空喵!", "提示");
|
||||
return;
|
||||
}
|
||||
if (isEditModle) AccountManager.editTeamName(edit_name.Text); else TeamManager.addTeam(edit_name.Text);
|
||||
if (isEditModle) AccountManager.EditTeamName(edit_name.Text); else TeamManager.AddTeam(edit_name.Text);
|
||||
EditTeamDialog.Close();
|
||||
}
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ namespace Zerolauncher.dialog
|
||||
return;
|
||||
}
|
||||
MessageBox.Show("添加完成喵!", "提示");
|
||||
AccountManager.saveEdit();
|
||||
AccountManager.SaveEdit();
|
||||
AddMemebersDialog.Close();
|
||||
}
|
||||
else
|
||||
|
||||
Loading…
Reference in New Issue
Block a user