116 lines
4.1 KiB
C#
116 lines
4.1 KiB
C#
using System.Collections.Generic;
|
|
using GeometryTD.Definition;
|
|
|
|
namespace GeometryTD.UI
|
|
{
|
|
public class RepoFormUseCase : IUIUseCase
|
|
{
|
|
public RepoFormRawData CreateInitialModel()
|
|
{
|
|
BackpackInventoryData sample = BuildSampleInventory();
|
|
return new RepoFormRawData
|
|
{
|
|
Inventory = sample
|
|
};
|
|
}
|
|
|
|
private static BackpackInventoryData BuildSampleInventory()
|
|
{
|
|
BackpackInventoryData inventory = new BackpackInventoryData
|
|
{
|
|
Gold = 500
|
|
};
|
|
|
|
MuzzleCompItemData muzzle = new MuzzleCompItemData
|
|
{
|
|
InstanceId = 10001,
|
|
ConfigId = 1,
|
|
Name = "元素枪口",
|
|
Rarity = RarityType.Green,
|
|
Endurance = 90f,
|
|
AttackDamage = new[] { 20, 30, 40, 50, 80 },
|
|
DamageRandomRate = 0.05f,
|
|
AttackMethodType = AttackMethodType.NormalBullet,
|
|
Constraint = string.Empty,
|
|
Tags = new[] { TagType.Fire }
|
|
};
|
|
inventory.MuzzleComponents.Add(muzzle);
|
|
|
|
BearingCompItemData bearing = new BearingCompItemData
|
|
{
|
|
InstanceId = 20001,
|
|
ConfigId = 1,
|
|
Name = "元素轴承",
|
|
Rarity = RarityType.Green,
|
|
Endurance = 95f,
|
|
RotateSpeed = new[] { 10f, 12f, 13f, 14f, 15f },
|
|
AttackRange = new[] { 2f, 2f, 2f, 2f, 2f },
|
|
Constraint = string.Empty,
|
|
Tags = new[] { TagType.Fire }
|
|
};
|
|
inventory.BearingComponents.Add(bearing);
|
|
|
|
BaseCompItemData baseComp = new BaseCompItemData
|
|
{
|
|
InstanceId = 30001,
|
|
ConfigId = 1,
|
|
Name = "元素底座",
|
|
Rarity = RarityType.Green,
|
|
Endurance = 88f,
|
|
AttackSpeed = new[] { 2f, 1.5f, 1f, 0.8f, 0.7f },
|
|
AttackPropertyType = AttackPropertyType.Fire,
|
|
Constraint = string.Empty,
|
|
Tags = new[] { TagType.Fire }
|
|
};
|
|
inventory.BaseComponents.Add(baseComp);
|
|
|
|
DefenseTowerItemData tower = new DefenseTowerItemData
|
|
{
|
|
InstanceId = 90001,
|
|
Name = "测试防御塔-A",
|
|
Rarity = RarityType.Green,
|
|
Endurance = 92f,
|
|
MuzzleComponentInstanceId = muzzle.InstanceId,
|
|
BearingComponentInstanceId = bearing.InstanceId,
|
|
BaseComponentInstanceId = baseComp.InstanceId,
|
|
Stats = new DefenseTowerStatsData
|
|
{
|
|
AttackDamage = 30,
|
|
DamageRandomRate = 0.05f,
|
|
RotateSpeed = 12f,
|
|
AttackRange = 2f,
|
|
AttackSpeed = 1.5f,
|
|
AttackMethodType = AttackMethodType.NormalBullet,
|
|
AttackPropertyType = AttackPropertyType.Fire,
|
|
Tags = new[] { TagType.Fire, TagType.BurnSpread }
|
|
}
|
|
};
|
|
inventory.Towers.Add(tower);
|
|
|
|
inventory.Towers.Add(new DefenseTowerItemData
|
|
{
|
|
InstanceId = 90002,
|
|
Name = "测试防御塔-B",
|
|
Rarity = RarityType.Blue,
|
|
Endurance = 100f,
|
|
MuzzleComponentInstanceId = 0,
|
|
BearingComponentInstanceId = 0,
|
|
BaseComponentInstanceId = 0,
|
|
Stats = new DefenseTowerStatsData
|
|
{
|
|
AttackDamage = 50,
|
|
DamageRandomRate = 0.03f,
|
|
RotateSpeed = 20f,
|
|
AttackRange = 4f,
|
|
AttackSpeed = 1f,
|
|
AttackMethodType = AttackMethodType.NormalBullet,
|
|
AttackPropertyType = AttackPropertyType.Physics,
|
|
Tags = new[] { TagType.Pierce }
|
|
}
|
|
});
|
|
|
|
return inventory;
|
|
}
|
|
}
|
|
}
|