[]
如果属性值需要依赖公式的计算结果动态变化,可以通过标注@FormulaProperty 注解的方式设置。
注意,标注@FormulaProperty 的字段类型必须是 Object。
在运行的时候,公式的计算结果会自动赋值给对应字段。
@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@FormulaProperty
private Object formulaProperty;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
在设计器中效果如下:
如果需要更细致的控制,可以通过@FormulaProperty的其他属性来控制
1.提供备选列表。
设置@FormulaProperty 的 recommendedValues
使用“|”分隔多个候选项
代码
@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@FormulaProperty(recommendedValues = "学生|教师|工人")
private Object formulaProperty;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
效果
2.支持输入多行文本。
设置@FormulaProperty 的 acceptsReturn
代码
@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@FormulaProperty(acceptsReturn = true)
private Object formulaProperty;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
效果
3.支持多语言。
所有公式属性,默认会开启多语言支持,可以通过设置 @FormulaProperty 的 canSelectResource = false 关闭多语言支持。