You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.9 KiB
69 lines
1.9 KiB
using BigFloatNumerics;
|
|
using System;
|
|
using System.Numerics;
|
|
using UnityEngine;
|
|
|
|
[CreateAssetMenu(fileName = "DevelopTheJungleDgProp", menuName = "ScriptableObject/GameMod/DevelopTheJungleDgProp")]
|
|
public class DevelopTheJungleDgProp : GameModProperty
|
|
{
|
|
[Serializable]
|
|
public struct GoodsCreator
|
|
{
|
|
public ItemProp itemProp;
|
|
|
|
public float startCount;
|
|
public float multiplierPerLevel;
|
|
public float adderPerLevel;
|
|
|
|
public BigInteger GetCount(uint level)
|
|
{
|
|
return Formula.Calculate(startCount, multiplierPerLevel, adderPerLevel, level);
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public struct EnemyCreator
|
|
{
|
|
[Serializable]
|
|
struct StatProperty
|
|
{
|
|
public float baseV;
|
|
public float multiplierPerLevel;
|
|
public float adderPerLevel;
|
|
}
|
|
|
|
public CharacterProperty property;
|
|
public uint countPerWave;
|
|
|
|
[SerializeField] StatProperty hpStat;
|
|
[SerializeField] StatProperty atkStat;
|
|
|
|
public BigFloat GetHp(uint level)
|
|
{
|
|
return Formula.Calculate(hpStat.baseV, hpStat.multiplierPerLevel, hpStat.adderPerLevel, level);
|
|
}
|
|
|
|
public BigFloat GetAtk(uint level)
|
|
{
|
|
return Formula.Calculate(atkStat.baseV, atkStat.multiplierPerLevel, atkStat.adderPerLevel, level);
|
|
}
|
|
}
|
|
|
|
public static string CodeName => "DevelopTheJungleDg";
|
|
public override string codeName => CodeName;
|
|
|
|
public uint openStage = 1;
|
|
public int waveCount = 1;
|
|
|
|
public EnemyCreator[] normalEnemyCreator;
|
|
|
|
public float limitTime = 1;
|
|
|
|
public GoodsCreator[] rewards;
|
|
|
|
public override GameModData CreateData(GameModPlayProperty playProperty)
|
|
{
|
|
Debug.Assert(playProperty is DevelopTheJungleDgPlayProp, "Invalid play property type.");
|
|
return new DevelopTheJungleDgData(this, playProperty as DevelopTheJungleDgPlayProp);
|
|
}
|
|
}
|