添加 CharacterBuilder;为 Item 添加了 Guid;开工库存系统

This commit is contained in:
milimoe 2024-11-14 00:26:25 +08:00
parent 98859605c7
commit 4658b36121
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E

View File

@ -1,8 +1,10 @@
using System.Diagnostics; using System.Diagnostics;
using System.Text; using System.Text;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Entity; using Milimoe.FunGame.Core.Entity;
using Oshima.Core.Utils; using Oshima.Core.Utils;
using Oshima.FunGame.OshimaModules; using Oshima.FunGame.OshimaModules;
using Oshima.FunGame.OshimaModules.Skills;
CharacterModule cm = new(); CharacterModule cm = new();
cm.Load(); cm.Load();
@ -11,11 +13,97 @@ sm.Load();
ItemModule im = new(); ItemModule im = new();
im.Load(); im.Load();
FunGameSimulation.InitCharacter(); FunGameSimulation.InitFunGame();
List<string> strings = FunGameSimulation.StartGame(false, false, true); //List<string> strings = FunGameSimulation.StartGame(false, false, true);
strings.ForEach(Console.WriteLine); //strings.ForEach(Console.WriteLine);
User user = Factory.GetUser(1, "Mili");
PluginConfig pc = new("saved", user.Id.ToString());
// 读取存档
pc.LoadConfig();
if (pc.Count == 0)
{
Character originalCharacter = FunGameSimulation.Characters[1].Copy();
Character exampleCharacter = originalCharacter.Copy();
exampleCharacter.Level = 30;
Skill xlzh = new
{
Character = exampleCharacter,
Level = 1
};
exampleCharacter.Skills.Add(xlzh);
Skill tczl = new
{
Character = exampleCharacter,
Level = 3
};
exampleCharacter.Skills.Add(tczl);
List<Item> = FunGameSimulation.GenerateMagicCards(3, Milimoe.FunGame.Core.Library.Constant.QualityType.Orange);
Item? = FunGameSimulation.ConflateMagicCardPack();
if ( != null)
{
exampleCharacter.Equip();
Console.WriteLine(.ToString(false, true));
}
Item[] = FunGameSimulation.Equipment.Where(i => i.Id.ToString().StartsWith("14")).ToArray();
Item sp = [Random.Shared.Next(.Length)].Copy();
exampleCharacter.Equip(sp);
Console.WriteLine(exampleCharacter.GetInfo());
pc.Add("original", originalCharacter);
user.Inventory.Characters.Add(exampleCharacter.GetName(), exampleCharacter);
Item mfk = FunGameSimulation.GenerateMagicCard();
user.Inventory.Items[mfk.Guid.ToString()] = mfk;
mfk = FunGameSimulation.GenerateMagicCard();
user.Inventory.Items[mfk.Guid.ToString()] = mfk;
mfk = FunGameSimulation.GenerateMagicCard();
user.Inventory.Items[mfk.Guid.ToString()] = mfk;
pc.Add("user", user);
}
else
{
user = pc.Get<User>("user") ?? Factory.GetUser();
Character originalCharacter = pc.Get<Character>("original") ?? Factory.GetCharacter();
Character exampleCharacter = user.Inventory.Characters.Values.First();
exampleCharacter.Respawn(originalCharacter);
Console.WriteLine(exampleCharacter.GetInfo());
}
// 保存存档
pc.SaveConfig();
//Item[] 武器 = FunGameSimulation.Equipment.Where(i => i.Id.ToString().StartsWith("11")).ToArray();
//Item[] 防具 = FunGameSimulation.Equipment.Where(i => i.Id.ToString().StartsWith("12")).ToArray();
//Item[] 鞋子 = FunGameSimulation.Equipment.Where(i => i.Id.ToString().StartsWith("13")).ToArray();
//Item[] 饰品 = FunGameSimulation.Equipment.Where(i => i.Id.ToString().StartsWith("14")).ToArray();
//Item? a = null, b = null, c = null, d = null;
//if (武器.Length > 0)
//{
// a = 武器[Random.Shared.Next(武器.Length)];
// exampleCharacter.Equip(a.Copy());
//}
//if (防具.Length > 0)
//{
// b = 防具[Random.Shared.Next(防具.Length)];
// exampleCharacter.Equip(b.Copy());
//}
//if (鞋子.Length > 0)
//{
// c = 鞋子[Random.Shared.Next(鞋子.Length)];
// exampleCharacter.Equip(c.Copy());
//}
//if (饰品.Length > 0)
//{
// d = 饰品[Random.Shared.Next(饰品.Length)];
// exampleCharacter.Equip(d.Copy());
// d = 饰品[Random.Shared.Next(饰品.Length)];
// exampleCharacter.Equip(d.Copy());
//}
//Character c = FunGameSimulation.Characters[1].Copy();
//foreach (Skill s in FunGameSimulation.Magics) //foreach (Skill s in FunGameSimulation.Magics)
//{ //{
// Skill s2 = s.Copy(); // Skill s2 = s.Copy();
@ -111,7 +199,7 @@ while (true)
builder.AppendLine($"总计冠军数:{stats.Wins}"); builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"总计前三数:{stats.Top3s}"); builder.AppendLine($"总计前三数:{stats.Top3s}");
builder.AppendLine($"总计败场数:{stats.Loses}"); builder.AppendLine($"总计败场数:{stats.Loses}");
List<string> names = [.. FunGameSimulation.TeamCharacterStatistics.OrderByDescending(kv => kv.Value.Winrates).Select(kv => kv.Key.GetName())]; List<string> names = [.. FunGameSimulation.TeamCharacterStatistics.OrderByDescending(kv => kv.Value.Winrates).Select(kv => kv.Key.GetName())];
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%#{names.IndexOf(character.GetName()) + 1}"); builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%#{names.IndexOf(character.GetName()) + 1}");
@ -158,7 +246,7 @@ while (true)
builder.AppendLine($"总计冠军数:{stats.Wins}"); builder.AppendLine($"总计冠军数:{stats.Wins}");
builder.AppendLine($"总计前三数:{stats.Top3s}"); builder.AppendLine($"总计前三数:{stats.Top3s}");
builder.AppendLine($"总计败场数:{stats.Loses}"); builder.AppendLine($"总计败场数:{stats.Loses}");
List<string> names = [.. FunGameSimulation.CharacterStatistics.OrderByDescending(kv => kv.Value.Winrates).Select(kv => kv.Key.GetName())]; List<string> names = [.. FunGameSimulation.CharacterStatistics.OrderByDescending(kv => kv.Value.Winrates).Select(kv => kv.Key.GetName())];
builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%#{names.IndexOf(character.GetName()) + 1}"); builder.AppendLine($"胜率:{stats.Winrates * 100:0.##}%#{names.IndexOf(character.GetName()) + 1}");
builder.AppendLine($"前三率:{stats.Top3rates * 100:0.##}%"); builder.AppendLine($"前三率:{stats.Top3rates * 100:0.##}%");