20 lines
650 B
C#
20 lines
650 B
C#
using UnityEngine;
|
|
using Random = System.Random;
|
|
|
|
namespace GeometryTD.CustomComponent
|
|
{
|
|
public static class OutGameDropRuleService
|
|
{
|
|
private const float DropChanceBase = 0.05f;
|
|
private const float DropChancePerPhase = 0.2f;
|
|
private const float DropChanceCap = 0.2f;
|
|
|
|
public static bool ShouldRollOutGameItem(int displayPhaseIndex, Random random)
|
|
{
|
|
int phaseIndex = Mathf.Max(1, displayPhaseIndex);
|
|
float dropChance = Mathf.Clamp(DropChanceBase + (phaseIndex - 1) * DropChancePerPhase, 0f, DropChanceCap);
|
|
return random.NextDouble() <= dropChance;
|
|
}
|
|
}
|
|
}
|