mirror of
https://github.com/milimoe/FunGame-Testing.git
synced 2025-04-23 12:49:34 +08:00
206 lines
6.7 KiB
C#
206 lines
6.7 KiB
C#
using Milimoe.FunGame.Core.Api.Utility;
|
|
using Milimoe.FunGame.Core.Entity;
|
|
using Milimoe.FunGame.Core.Library.Constant;
|
|
|
|
namespace Milimoe.FunGame.Testing.Desktop.Solutions
|
|
{
|
|
public partial class CharacterCreator : Form
|
|
{
|
|
private CharacterManager CharacterManager { get; }
|
|
private Character? EditCharacter { get; }
|
|
|
|
public CharacterCreator(CharacterManager manager, Character? character = null)
|
|
{
|
|
InitializeComponent();
|
|
CharacterManager = manager;
|
|
if (character != null)
|
|
{
|
|
Text = "角色编辑器";
|
|
BtnCreate.Text = "编辑";
|
|
EditCharacter = character;
|
|
TextName.Text = character.Name;
|
|
TextCode.Text = manager.LoadedCharacters.Where(kv => kv.Value == character).Select(kv => kv.Key).FirstOrDefault() ?? "";
|
|
TextFirstName.Text = character.FirstName;
|
|
TextNickName.Text = character.NickName;
|
|
TextATK.Text = character.InitialATK.ToString();
|
|
TextHP.Text = character.InitialHP.ToString();
|
|
TextMP.Text = character.InitialMP.ToString();
|
|
TextHR.Text = character.InitialHR.ToString();
|
|
TextMR.Text = character.InitialMR.ToString();
|
|
ComboPA.Text = CharacterSet.GetPrimaryAttributeName(character.PrimaryAttribute);
|
|
TextSTR.Text = character.InitialSTR.ToString();
|
|
TextGrowthSTR.Text = character.STRGrowth.ToString();
|
|
TextAGI.Text = character.InitialAGI.ToString();
|
|
TextGrowthAGI.Text = character.AGIGrowth.ToString();
|
|
TextINT.Text = character.InitialINT.ToString();
|
|
TextGrowthINT.Text = character.INTGrowth.ToString();
|
|
}
|
|
}
|
|
|
|
private void BtnCreate_Click(object sender, EventArgs e)
|
|
{
|
|
Character c;
|
|
if (EditCharacter != null)
|
|
{
|
|
c = EditCharacter;
|
|
}
|
|
else
|
|
{
|
|
c = Factory.GetCharacter();
|
|
}
|
|
string name;
|
|
|
|
if (TextName.Text.Trim() != "")
|
|
{
|
|
c.Name = TextName.Text.Trim();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("姓不能为空。");
|
|
return;
|
|
}
|
|
|
|
if (TextCode.Text.Trim() != "")
|
|
{
|
|
name = TextCode.Text.Trim();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("角色存档标识不能为空。");
|
|
return;
|
|
}
|
|
|
|
if (TextFirstName.Text.Trim() != "")
|
|
{
|
|
c.FirstName = TextFirstName.Text.Trim();
|
|
}
|
|
|
|
if (TextNickName.Text.Trim() != "")
|
|
{
|
|
c.NickName = TextNickName.Text.Trim();
|
|
}
|
|
|
|
if (TextATK.Text.Trim() != "" && double.TryParse(TextATK.Text.Trim(), out double atk))
|
|
{
|
|
c.InitialATK = atk;
|
|
}
|
|
|
|
if (TextHP.Text.Trim() != "" && double.TryParse(TextHP.Text.Trim(), out double hp))
|
|
{
|
|
c.InitialHP = hp;
|
|
}
|
|
|
|
if (TextMP.Text.Trim() != "" && double.TryParse(TextMP.Text.Trim(), out double mp))
|
|
{
|
|
c.InitialMP = mp;
|
|
}
|
|
|
|
if (TextHR.Text.Trim() != "" && double.TryParse(TextHR.Text.Trim(), out double hr))
|
|
{
|
|
c.InitialHR = hr;
|
|
}
|
|
|
|
if (TextMR.Text.Trim() != "" && double.TryParse(TextMR.Text.Trim(), out double mr))
|
|
{
|
|
c.InitialMR = mr;
|
|
}
|
|
|
|
if (ComboPA.Text.Trim() != "")
|
|
{
|
|
string pa = ComboPA.Text.Trim();
|
|
if (pa == "敏捷")
|
|
{
|
|
c.PrimaryAttribute = PrimaryAttribute.AGI;
|
|
}
|
|
else if (pa == "智力")
|
|
{
|
|
c.PrimaryAttribute = PrimaryAttribute.INT;
|
|
}
|
|
else
|
|
{
|
|
c.PrimaryAttribute = PrimaryAttribute.STR;
|
|
}
|
|
}
|
|
|
|
if (TextSTR.Text.Trim() != "" && double.TryParse(TextSTR.Text.Trim(), out double str))
|
|
{
|
|
c.InitialSTR = str;
|
|
}
|
|
|
|
if (TextGrowthSTR.Text.Trim() != "" && double.TryParse(TextGrowthSTR.Text.Trim(), out double strg))
|
|
{
|
|
c.STRGrowth = strg;
|
|
}
|
|
|
|
if (TextAGI.Text.Trim() != "" && double.TryParse(TextAGI.Text.Trim(), out double agi))
|
|
{
|
|
c.InitialAGI = agi;
|
|
}
|
|
|
|
if (TextGrowthAGI.Text.Trim() != "" && double.TryParse(TextGrowthAGI.Text.Trim(), out double agig))
|
|
{
|
|
c.AGIGrowth = agig;
|
|
}
|
|
|
|
if (TextINT.Text.Trim() != "" && double.TryParse(TextINT.Text.Trim(), out double @int))
|
|
{
|
|
c.InitialINT = @int;
|
|
}
|
|
|
|
if (TextGrowthINT.Text.Trim() != "" && double.TryParse(TextGrowthINT.Text.Trim(), out double intg))
|
|
{
|
|
c.INTGrowth = intg;
|
|
}
|
|
|
|
if (TextSPD.Text.Trim() != "" && double.TryParse(TextSPD.Text.Trim(), out double spd))
|
|
{
|
|
c.InitialSPD = spd;
|
|
}
|
|
|
|
if (EditCharacter != null)
|
|
{
|
|
MessageBox.Show("保存成功!");
|
|
Dispose();
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (CharacterManager.Add(name, c))
|
|
{
|
|
ShowDetail d = new(CharacterManager, null, null);
|
|
d.SetText(-1, c, c.GetInfo());
|
|
d.Text = "预览模式";
|
|
d.ShowDialog();
|
|
d.Dispose();
|
|
if (MessageBox.Show("添加成功!是否继续添加?", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
|
|
{
|
|
Dispose();
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("添加失败!");
|
|
}
|
|
}
|
|
|
|
TextName.Text = "";
|
|
TextCode.Text = "";
|
|
TextFirstName.Text = "";
|
|
TextNickName.Text = "";
|
|
TextATK.Text = "";
|
|
TextHP.Text = "";
|
|
TextMP.Text = "";
|
|
TextHR.Text = "";
|
|
TextMR.Text = "";
|
|
ComboPA.Text = "";
|
|
TextSTR.Text = "";
|
|
TextGrowthSTR.Text = "";
|
|
TextAGI.Text = "";
|
|
TextGrowthAGI.Text = "";
|
|
TextINT.Text = "";
|
|
TextGrowthINT.Text = "";
|
|
}
|
|
}
|
|
}
|