GFProgressionMath¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/math/gf_progression_math.gd - 模块:
Standard - 继承:
RefCounted - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
3.17.0
挂机与模拟经营项目的纯进度曲线数学工具。 负责价格曲线、收益曲线、里程碑倍率、软上限与分段式离线收益结算。 它不依赖 GFArchitecture,可直接与 JSON、CSV 或外部工具导出的配置字典配合使用。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | CurveMode |
enum CurveMode |
| 方法 | evaluate_curve |
static func evaluate_curve(level: int, curve_config: Dictionary) -> GFBigNumber: |
| 方法 | apply_milestone_multipliers |
static func apply_milestone_multipliers(value: Variant, level: int, milestones: Array) -> GFBigNumber: |
| 方法 | apply_soft_cap |
static func apply_soft_cap( value: Variant, soft_cap: Variant, power: float = _DEFAULT_SOFT_CAP_POWER ) -> GFBigNumber: |
| 方法 | settle_offline_progress |
static func settle_offline_progress( rate_per_second: Variant, offline_seconds: float, options: Dictionary = {} ) -> Dictionary: |
枚举¶
CurveMode¶
- API:
public
支持的基础曲线类型。
方法¶
evaluate_curve¶
- API:
public
根据配置计算某一级的曲线值。
参数:
| 名称 | 说明 |
|---|---|
level |
目标等级。 |
curve_config |
支持 base_value/start_level/mode/per_level/multiplier/phases/overrides。 |
返回:对应等级的曲线值。
结构:
curve_config: Dictionary with optionalbase_value,start_level,mode,per_level,multiplier,phases, andoverridesentries.
apply_milestone_multipliers¶
- API:
public
static func apply_milestone_multipliers(value: Variant, level: int, milestones: Array) -> GFBigNumber:
为基础值叠加里程碑倍率。
参数:
| 名称 | 说明 |
|---|---|
value |
基础数值。 |
level |
当前等级。 |
milestones |
里程碑数组;每项支持 level/multiplier。 |
返回:叠加后的数值。
结构:
value: Variant numeric value accepted by GFBigNumber.milestones: Array[Dictionary] where each entry may containlevel: intandmultiplier: Variant numeric value.
apply_soft_cap¶
- API:
public
static func apply_soft_cap( value: Variant, soft_cap: Variant, power: float = _DEFAULT_SOFT_CAP_POWER ) -> GFBigNumber:
对一个值应用幂函数型软上限。
参数:
| 名称 | 说明 |
|---|---|
value |
原始值。 |
soft_cap |
软上限起点。 |
power |
超出部分的幂指数;0.5 表示平方根衰减。 |
返回:软上限处理后的数值。
结构:
value: Variant numeric value accepted by GFBigNumber.soft_cap: Variant numeric value accepted by GFBigNumber.
settle_offline_progress¶
- API:
public
static func settle_offline_progress( rate_per_second: Variant, offline_seconds: float, options: Dictionary = {} ) -> Dictionary:
计算一段离线时间内的收益。
参数:
| 名称 | 说明 |
|---|---|
rate_per_second |
基础每秒产出。 |
offline_seconds |
离线时长(秒)。 |
options |
支持 max_seconds/storage_remaining/segments。 |
返回:包含产出与时间统计的字典。
结构:
rate_per_second: Variant numeric value accepted by GFBigNumber.options: Dictionary with optionalmax_seconds,storage_remaining, andsegments: Array[Dictionary].return: Dictionary withproduced: GFBigNumber,requested_seconds: float,settled_seconds: float,consumed_seconds: float,expired_seconds: float,wasted_seconds: float, andstorage_capped: bool.