using CommonLang; using pomelo.connector; using pomelo.player; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using XmdsBattleClientBot.Bot; namespace XmdsBattleClientWin32.WinForm { public partial class FormCreateRole : Form { private readonly BotClient bot; public CommonAI.Data.XmdsUnitPro SelectedPro { get { return (CommonAI.Data.XmdsUnitPro)combo_Pro.SelectedItem; } } public pomelo.player.PlayerBasic SelectedPlayer { get { if (list_Roles.SelectedItems.Count > 0) { var item = list_Roles.SelectedItems[0]; return item.Tag as pomelo.player.PlayerBasic; } return null; } } public FormCreateRole(BotClient bot) { this.bot = bot; InitializeComponent(); // init roles // { foreach (var p in bot.Client.LoginHandler.LastEntryResponse.s2c_players) { add_player(p); } } // init pro // { var prolist = Enum.GetValues(typeof(CommonAI.Data.XmdsUnitPro)); foreach (object p in prolist) { combo_Pro.Items.Add(p); } var pro = CUtils.RandomEnumValue(bot.Random); combo_Pro.SelectedItem = pro; } random_name(); if (bot.Client.LoginHandler.LastEntryResponse.s2c_players.Count == 0) { tabControl1.SelectedTab = tabPage_CreateRole; } else { tabControl1.SelectedTab = tabPage_SelectRole; } } private void add_player(PlayerBasic p) { var item = list_Roles.Items.Add(p.name); item.SubItems.Add(p.level.ToString()); item.SubItems.Add(((CommonAI.Data.XmdsUnitPro)p.pro).ToString()); item.Tag = p; item.Selected = true; } private void random_name() { var pro = SelectedPro; if (pro == CommonAI.Data.XmdsUnitPro.None) { pro = CommonAI.Data.XmdsUnitPro.Sword; } this.bot.gate_GetRandomName((int)pro, (msg) => { txt_RoleName.Text = msg.s2c_name; }, FormBot.on_error); } private void on_create_role(CreatePlayerResponse msg) { FormBot.log.Info("on_create_role : " + msg.s2c_player.name); tabControl1.SelectedTab = tabPage_SelectRole; var p = msg.s2c_player; add_player(p); } private void btn_RandomName_Click(object sender, EventArgs e) { random_name(); } private void btn_CreateRole_Click(object sender, EventArgs e) { var pro = SelectedPro; if (pro == CommonAI.Data.XmdsUnitPro.None) { pro = CommonAI.Data.XmdsUnitPro.Sword; } string name = txt_RoleName.Text; bot.gate_CreateRole((int)pro, name, on_create_role, (err) => { MessageBox.Show(err.Message); random_name(); }); } private void btn_Enter_Click(object sender, EventArgs e) { var player = SelectedPlayer; if (player != null) { bot.gate_BindPlayer(player.id, on_gate_bind_player, FormBot.on_error); } } private void on_gate_bind_player(BindPlayerResponse e) { FormBot.log.Info("on_gate_bind_player : " + e.s2c_player.name); this.Close(); } } }