Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetExpByLevel ¶
func GetExpByLevel(provider LevelProvider, level int) (exp int)
根据等级获取 刚升到这个等级的累计经验 合理处理边界情况,不报错 含义和LevelProvider.GetExpByLevel不一样
Types ¶
type ArrayLevelProvider ¶
type ArrayLevelProvider []int
使用数组储存 等级-经验 信息 key+2 表示升级到该等级需要的累计经验
func NewArrayLevelProvider ¶
func NewArrayLevelProvider(maxLevel int) ArrayLevelProvider
maxLevel表示需要表示的最大等级 maxLevel需要>=1
func (ArrayLevelProvider) GetExpByLevel ¶
func (provider ArrayLevelProvider) GetExpByLevel(lv int) int
func (ArrayLevelProvider) MaxLevel ¶
func (provider ArrayLevelProvider) MaxLevel() int
func (ArrayLevelProvider) SetExpByLevel ¶
func (provider ArrayLevelProvider) SetExpByLevel(lv int, exp int)
type LevelExpResult ¶
type LevelExpResult struct { Exp int //规整经验(已处理负经验问题和满经验问题,请返回后重新写回当前经验) Level int //等级 CurrentLevelExcessExp int // 当前等级溢出经验(满级时,这个值为0) NextLevelAllNeedExp int // 从lv 0 exp升到 lv+1 0exp需要的经验(满级时,这个值为0) IsMaxLevel bool //是否满级 }
func GetLevelByExp ¶
func GetLevelByExp(provider LevelProvider, exp int) (result LevelExpResult)
根据经验获取等级, 合理处理边界情况,不报错 负累计经验重置为0 累计经验超过满级时,将累计经验重置为 满级经验
type LevelProvider ¶
type LevelProvider interface { //到达这个等级lv需要的累计经验 //默认等级1,需要0累计经验 //输入范围 [1,MaxLevel()] ,两端包含 GetExpByLevel(lv int) int //最大等级(到达这个等级以后,不能升级了) //对某一个实例,这个值不应该变化 MaxLevel() int }
func MaxLevelLimitProvider ¶
func MaxLevelLimitProvider(inProvider LevelProvider, MaxLevel int) (outProvider LevelProvider, err error)
Click to show internal directories.
Click to hide internal directories.