use fragment material and avatar star up also prevent capt. exp overflow

this took wayyyyyyyyyy longer than it shoud be
This commit is contained in:
rafi1212122
2023-06-05 11:05:27 +07:00
parent 130f83544c
commit 934e7475d7
10 changed files with 355 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
using Newtonsoft.Json;
namespace Common.Utils.ExcelReader
{
public class AvatarStarType : BaseExcelReader<AvatarStarType, AvatarStarTypeExcel>
{
public override string FileName { get { return "AvatarStarType.json"; } }
public StarInfo GetNextStar(int avatarType, int starUpType, StarInfo currentStarInfo)
{
AvatarStarTypeExcel? currStarTypeExcel = All.FirstOrDefault(x => x.AvatarType == avatarType && x.AvatarStarUpType == starUpType && x.Star == currentStarInfo.Star && x.SubStar == currentStarInfo.SubStar);
if (currStarTypeExcel is not null)
currentStarInfo.Cost = currStarTypeExcel.Upgrade;
AvatarStarTypeExcel? starTypeExcel = All.FirstOrDefault(x => x.AvatarType == avatarType && x.AvatarStarUpType == starUpType && x.Star == ((currentStarInfo.SubStar == 3 || currentStarInfo.Star < 3) ? currentStarInfo.Star + 1 : currentStarInfo.Star) && x.SubStar == ((currentStarInfo.SubStar < 3 && currentStarInfo.Star >= 3) ? currentStarInfo.SubStar + 1 : 0));
if (starTypeExcel is not null)
{
currentStarInfo.SubStar = starTypeExcel.SubStar;
currentStarInfo.Star = starTypeExcel.Star;
}
return currentStarInfo;
}
public struct StarInfo
{
public StarInfo(int star, int subStar)
{
Star = star;
SubStar = subStar;
}
public int Star { get; set; }
public int SubStar { get; set; }
public int Cost { get; set; } = 0;
}
}
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
public partial class AvatarStarTypeExcel
{
[JsonProperty("upgrade")]
public int Upgrade { get; set; }
[JsonProperty("IconPath")]
public string IconPath { get; set; }
[JsonProperty("DataImpl")]
public object DataImpl { get; set; }
[JsonProperty("Star")]
public int Star { get; set; }
[JsonProperty("SubStar")]
public int SubStar { get; set; }
[JsonProperty("avatarType")]
public int AvatarType { get; set; }
[JsonProperty("avatarStarUpType")]
public int AvatarStarUpType { get; set; }
}
}

View File

@@ -0,0 +1,51 @@
using Newtonsoft.Json;
namespace Common.Utils.ExcelReader
{
public class MaterialUseData : BaseExcelReader<MaterialUseData, MaterialUseDataExcel>
{
public override string FileName { get { return "MaterialUseData.json"; } }
public MaterialUseDataExcel? FromId(int id)
{
return All.Where(x => x.UseId == id).FirstOrDefault();
}
}
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
public partial class MaterialUseDataExcel
{
[JsonProperty("useType")]
public int UseType { get; set; }
[JsonProperty("MultiUse")]
public int MultiUse { get; set; }
[JsonProperty("MaterialUseConfirmType")]
public int MaterialUseConfirmType { get; set; }
[JsonProperty("paraStr")]
public string[] ParaStr { get; set; }
[JsonProperty("useTip")]
public HashName UseTip { get; set; }
[JsonProperty("useMin")]
public int UseMin { get; set; }
[JsonProperty("useMax")]
public int UseMax { get; set; }
[JsonProperty("AdditionDesc")]
public string AdditionDesc { get; set; }
[JsonProperty("EventID")]
public int EventId { get; set; }
[JsonProperty("DataImpl")]
public object DataImpl { get; set; }
[JsonProperty("useID")]
public int UseId { get; set; }
}
}

View File

@@ -84,6 +84,11 @@ namespace Common.Utils.ExcelReader
return new LevelData(level, exp);
}
public int GetMaxPossibleExp()
{
return All.Select(x => x.Exp).Sum() - 1;
}
}
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.

View File

@@ -0,0 +1,93 @@
using Newtonsoft.Json;
namespace Common.Utils.ExcelReader
{
public class RewardData : BaseExcelReader<RewardData, RewardDataExcel>
{
public override string FileName { get { return "RewardData.json"; } }
public RewardDataExcel? FromId(int id)
{
return All.Where(x => x.RewardId == id).FirstOrDefault();
}
}
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
public partial class RewardDataExcel
{
[JsonProperty("RewardExp")]
public int RewardExp { get; set; }
[JsonProperty("RewardHCoin")]
public int RewardHCoin { get; set; }
[JsonProperty("RewardStamina")]
public int RewardStamina { get; set; }
[JsonProperty("RewardFriendPoint")]
public int RewardFriendPoint { get; set; }
[JsonProperty("RewardDutyPoint")]
public int RewardDutyPoint { get; set; }
[JsonProperty("RewardItem1ID")]
public int RewardItem1Id { get; set; }
[JsonProperty("RewardItem1Level")]
public int RewardItem1Level { get; set; }
[JsonProperty("RewardItem1Num")]
public int RewardItem1Num { get; set; }
[JsonProperty("RewardItem2ID")]
public int RewardItem2Id { get; set; }
[JsonProperty("RewardItem2Level")]
public int RewardItem2Level { get; set; }
[JsonProperty("RewardItem2Num")]
public int RewardItem2Num { get; set; }
[JsonProperty("RewardItem3ID")]
public int RewardItem3Id { get; set; }
[JsonProperty("RewardItem3Level")]
public int RewardItem3Level { get; set; }
[JsonProperty("RewardItem3Num")]
public int RewardItem3Num { get; set; }
[JsonProperty("RewardItem4ID")]
public int RewardItem4Id { get; set; }
[JsonProperty("RewardItem4Level")]
public int RewardItem4Level { get; set; }
[JsonProperty("RewardItem4Num")]
public int RewardItem4Num { get; set; }
[JsonProperty("RewardItem5ID")]
public int RewardItem5Id { get; set; }
[JsonProperty("RewardItem5Level")]
public int RewardItem5Level { get; set; }
[JsonProperty("RewardItem5Num")]
public int RewardItem5Num { get; set; }
[JsonProperty("RewardItem6ID")]
public int RewardItem6Id { get; set; }
[JsonProperty("RewardItem6Level")]
public int RewardItem6Level { get; set; }
[JsonProperty("RewardItem6Num")]
public int RewardItem6Num { get; set; }
[JsonProperty("DataImpl")]
public object DataImpl { get; set; }
[JsonProperty("RewardID")]
public int RewardId { get; set; }
}
}