[全民写端]#6添加Setting

简介: 写Setting类

首发于Enaium的个人博客


一. 写Setting类

package cn.enaium.coreium.setting;

import cn.enaium.coreium.module.Module;

import java.util.ArrayList;

public class Setting {
   

    private Module module;
    private String name;
    private boolean toggle;
    private double currentValueDouble, minValueDouble, maxValueDouble;
    private int currentValueInt, minValueInt, maxValueInt;
    private float currentValueFloat, minValueFloat, maxValueFloat;
    private ArrayList<String> modes;
    private String currentMode;
    private Category category;

    public enum Category {
   
        BOOLEAN,
        VALUE_INT,
        VALUE_DOUBLE,
        VALUE_FLOAT,
        MODE;
    }

    public Setting(Module module, String name, boolean toggle) {
   
        this.module = module;
        this.name = name;
        this.toggle = toggle;
        this.category = Category.BOOLEAN;
    }

    public Setting(Module module, String name, int currentValueInt, int minValueInt, int maxValueInt) {
   
        this.module = module;
        this.name = name;
        this.currentValueInt = currentValueInt;
        this.minValueInt = minValueInt;
        this.maxValueInt = maxValueInt;
        this.category = Category.VALUE_INT;
    }

    public Setting(Module module, String name, double currentValueDouble, double minValueDouble, double maxValueDouble) {
   
        this.module = module;
        this.name = name;
        this.currentValueDouble = currentValueDouble;
        this.minValueDouble = minValueDouble;
        this.maxValueDouble = maxValueDouble;
        this.category = Category.VALUE_DOUBLE;
    }

    public Setting(Module module, String name, float currentValueFloat, float minValueFloat, float maxValueFloat) {
   
        this.module = module;
        this.name = name;
        this.currentValueFloat = currentValueFloat;
        this.minValueFloat = minValueFloat;
        this.maxValueFloat = maxValueFloat;
        this.category = Category.VALUE_FLOAT;
    }

    public Setting(Module m, String n, String currentMode, ArrayList<String> options) {
   
        this.module = m;
        this.name = n;
        this.currentMode = currentMode;
        this.modes = options;
        this.category = Category.MODE;
    }

    public Module getModule() {
   
        return module;
    }

    public void setModule(Module module) {
   
        this.module = module;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public boolean isToggle() {
   
        return toggle;
    }

    public void setToggle(boolean toggle) {
   
        this.toggle = toggle;
    }

    public double getCurrentValueDouble() {
   
        return currentValueDouble;
    }

    public void setCurrentValueDouble(double currentValueDouble) {
   
        this.currentValueDouble = currentValueDouble;
    }

    public double getMinValueDouble() {
   
        return minValueDouble;
    }

    public void setMinValueDouble(double minValueDouble) {
   
        this.minValueDouble = minValueDouble;
    }

    public double getMaxValueDouble() {
   
        return maxValueDouble;
    }

    public void setMaxValueDouble(double maxValueDouble) {
   
        this.maxValueDouble = maxValueDouble;
    }

    public int getCurrentValueInt() {
   
        return currentValueInt;
    }

    public void setCurrentValueInt(int currentValueInt) {
   
        this.currentValueInt = currentValueInt;
    }

    public int getMinValueInt() {
   
        return minValueInt;
    }

    public void setMinValueInt(int minValueInt) {
   
        this.minValueInt = minValueInt;
    }

    public int getMaxValueInt() {
   
        return maxValueInt;
    }

    public void setMaxValueInt(int maxValueInt) {
   
        this.maxValueInt = maxValueInt;
    }

    public float getCurrentValueFloat() {
   
        return currentValueFloat;
    }

    public void setCurrentValueFloat(float currentValueFloat) {
   
        this.currentValueFloat = currentValueFloat;
    }

    public float getMinValueFloat() {
   
        return minValueFloat;
    }

    public void setMinValueFloat(float minValueFloat) {
   
        this.minValueFloat = minValueFloat;
    }

    public float getMaxValueFloat() {
   
        return maxValueFloat;
    }

    public void setMaxValueFloat(float maxValueFloat) {
   
        this.maxValueFloat = maxValueFloat;
    }

    public ArrayList<String> getModes() {
   
        return modes;
    }

    public void setModes(ArrayList<String> modes) {
   
        this.modes = modes;
    }

    public String getCurrentMode() {
   
        return currentMode;
    }

    public void setCurrentMode(String currentMode) {
   
        this.currentMode = currentMode;
    }

    public boolean isBoolean() {
   
        return this.category.equals(Category.BOOLEAN);
    }

    public boolean isValueInt() {
   
        return this.category.equals(Category.VALUE_INT);
    }

    public boolean isValueDouble() {
   
        return this.category.equals(Category.VALUE_DOUBLE);
    }

    public boolean isValueFloat() {
   
        return this.category.equals(Category.VALUE_FLOAT);
    }

    public boolean isMode() {
   
        return this.category.equals(Category.MODE);
    }
}

二. 写SettingManager

package cn.enaium.coreium.setting;

import cn.enaium.coreium.module.Module;

import java.util.ArrayList;

public class SettingManager {
   
    private ArrayList<Setting> settings;

    public SettingManager() {
   
        this.settings = new ArrayList();
    }

    public void addSetting(Setting s) {
   
        this.settings.add(s);
    }

    public ArrayList<Setting> getSettings() {
   
        return this.settings;
    }

    public ArrayList<Setting> getSettingsForModule(Module m) {
   
        ArrayList<Setting> settings = new ArrayList<Setting>();

        for (Setting s : this.settings) {
   
            if (s.getModule().equals(m))
                settings.add(s);
        }

        if (settings.isEmpty())
            return null;

        return settings;
    }
}

三. 添加在Start

    [...]
    public SettingManager settingManager;

    public void start() {
   
        [...]
        settingManager = new SettingManager();
        [...]
    }
目录
相关文章
|
9月前
|
人工智能 自然语言处理 计算机视觉
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
StyleStudio 是一种文本驱动的风格迁移模型,能够将参考图像的风格与文本提示内容融合。通过跨模态 AdaIN 机制、基于风格的分类器自由引导等技术,解决了风格过拟合、控制限制和文本错位等问题,提升了风格迁移的质量和文本对齐的准确性。
363 8
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
[全民写端]#8简化代码
简化端名和版本
111 0
[全民写端]#12绘制ClickGUI
先复制进去FontUtils
196 0
[全民写端]#11绘制主菜单
搜索GuiMainMenu这个类
110 0
|
大数据
《阿里云产品手册2022-2023 版》——中国政务大数据市场第一
《阿里云产品手册2022-2023 版》——中国政务大数据市场第一
164 0
|
9天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1197 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1125 87
|
6天前
|
机器学习/深度学习 物联网
Wan2.2再次开源数字人:Animate-14B!一键实现电影角色替换和动作驱动
今天,通义万相的视频生成模型又又又开源了!Wan2.2系列模型家族新增数字人成员Wan2.2-Animate-14B。
576 11

热门文章

最新文章