ICustomScale

基本信息

属性 值
全限定名 betterachievements.api.components.page.ICustomScale
类型 接口(AchievementPage 自定义缩放)
源文件 src/main/java/betterachievements/api/components/page/ICustomScale.java

功能

AchievementPage 实现后,可以覆盖 GuiBetterAchievements 默认的缩放行为 —— 控制初始缩放、缩放上下限,以及是否在打开页面时重置缩放。

方法签名

方法 返回类型 说明
resetScaleOnLoad() boolean 若返回 true,切到该页时把当前 scale 重置为 setScale() 的返回值
setScale() float 该页打开时使用的初始缩放(注释:The default minecraft value is 1.0F)
getMaxScale() float 该页允许的最大缩放(默认 2.0F)
getMinScale() float 该页允许的最小缩放(默认 1.0F)

调用点

GuiBetterAchievements.initGui() 打开页面时:

if (page instanceof ICustomScale) this.scale = ((ICustomScale) page).setScale();

GuiBetterAchievements.handleMouseClick 切换页面时:

if (page instanceof ICustomScale && ((ICustomScale) page).resetScaleOnLoad())
    this.scale = ((ICustomScale) page).setScale();

GuiBetterAchievements.doZoom(page) 滚轮缩放时:

float minZoom = customScale ? ((ICustomScale) page).getMinScale() : GuiBetterAchievements.minZoom;
float maxZoom = customScale ? ((ICustomScale) page).getMaxScale() : GuiBetterAchievements.maxZoom;
this.scale = MathHelper.clamp_float(this.scale, minZoom, maxZoom);

相关条目