Skip to content

MirrorChyan/MFAAvalonia

 
 

Repository files navigation

LOGO

MFAAvalonia

✨ 基于 AvaloniaMAAFramework 通用 GUI 项目 ✨

license .NET platform commit stars mirrorc

预览图

preview

使用需求

  • .NET 10.0
  • 一个基于MaaFramework的资源项目

说明

如何使用

自动安装

  • 下载项目中workflows/install.yml并修改项目名称,作者名,项目名,MAAxxx
  • 将修改后的install.yml替换MAA项目模板.github/workflows/install.yml
  • 推送新版本

手动安装

  • 下载最新发行版并解压
  • 将maafw项目中assets/resource中所有内容复制到MFAAvalonia/resource中
  • 将maafw项目中assets/interface.json文件复制到MFAAvalonia/中
  • 修改刚刚复制的interface.json文件
  • 下面是一个例子
{
 "resource": [
   {
     "name": "官服",
     "path": "{PROJECT_DIR}/resource/base"
   },
   {
     "name": "Bilibili服",
     "path": [
       "{PROJECT_DIR}/resource/base",
       "{PROJECT_DIR}/resource/bilibili"
     ]
   }
 ],
 "task": [
   {
     "name": "任务",
     "entry": "任务"
   }
 ]
}

修改为

{
  "name": "项目名称", //默认为null
  "version":  "项目版本", //默认为null
  "mirrorchyan_rid":  "项目ID(从Mirror酱下载的必要字段)", //默认为null , 比如 M9A
  "mirrorchyan_multiplatform":  false, //项目多平台字段(从Mirror酱下载的字段)默认为false
  "url":  "项目链接(目前应该只支持Github)", //默认为null , 比如 https://github.com/{Github账户}/{Github项目}
  "custom_title": "自定义标题", //默认为null, 使用该字段后,标题栏将只显示custom_title和version
  "resource": [
    {
      "name": "官服",
      "path": "{PROJECT_DIR}/resource/base"
    },
    {
      "name": "Bilibili服",
      "path": [
        "{PROJECT_DIR}/resource/base",
        "{PROJECT_DIR}/resource/bilibili"
      ]
    }
  ],
  "task": [
    {
      "name": "任务",
      "entry": "任务接口",
      "check": true,  //默认为false,任务默认是否被选中
      "doc": "文档介绍",  //默认为null,显示在任务设置选项底下,可支持富文本,格式在下方
      "repeatable": true,  //默认为false,任务可不可以重复运行
      "repeat_count": 1,  //任务默认重复运行次数,需要repeatable为true
    }
  ]
}

可以通过controller的数量来锁定控制,可以通过controller[0]来控制默认控制器

doc字符串格式:

使用类似[color:red]文本内容[/color]的标记来定义文本样式。

支持的标记包括:

  • [color:color_name]:颜色,例如[color:red]

  • [size:font_size]:字号,例如[size:20]

  • [b]:粗体。

  • [i]:斜体。

  • [u]:下划线。

  • [s]:删除线。

  • [align:left/center/right]:居左,居中或者居右,只能在一整行中使用。

实验性功能

  • MFAAvalonia 为interface和interface的task新增了advanced字段。
  • advanced字段的用法类似于option,其功能类似于支持通过UI输入框让用户自行编辑功能的pipeline_override
  • 下面是使用advanced的例子
{
  "task": [
        {    
            "name": "测试A",
            "entry": "任务A",
            "advanced": ["高级设置A","高级设置B"]
        }
  ],
  "advanced": {
    "高级设置A": {
      "field": "ce",
      "type": "string",
      "default": "cs.png",
      "pipeline_override": {
          "任务A": {
            "template": "{ce}"
          }
      }
    },
    "高级设置B": {
      "field": ["x","y"],
      "type": ["int", "int"],
      "default": ["1", "1"],
      "pipeline_override": {
          "任务A": {
            "roi": ["{x}","{y}",3,4]
          }
      }
    }
  }
}

注:field和type和default支持string | list类型,default默认为空。

注:上面json中注释内容为文档介绍用,实际运行时不能写入。

  • 运行

开发相关

  • 欢迎各位大佬贡献代码
  • MFAAvalonia 有interface多语言支持,在interface.json同目录下新建lang文件夹,里面内含zh-cn.json,zh-tw.jsonen-us.json后,doc和任务的name和选项的name可以使用key来指代。MFAAvalonia会自动根据语言来读取文件的key对应的value。如果没有则默认为key
  • MFAAvalonia 会读取resource文件夹(不区分大小写)的Announcement.md作为公告,更新资源时会自动下载一份Changelog作为公告
  • MFAAvalonia 可以通过启动参数-c 配置名称来指定以特定配置文件启动,无须后缀名.json

注:在MFA的v1.1.6版本中,移除了focus系列字段,改为any focus,原先的不再可用!

  • focus : string | object
    格式为
    "focus": {
      "start": "任务开始",  注:*string* | *string[]*    
      "succeeded": "任务成功",  注:*string* | *string[]* 
      "failed": "任务失败", 注:*string* | *string[]* 
      "toast": "弹窗提醒" 注:*string* 
    }
    
     "focus": "测试"
    
    等同于
    "focus": {
      "start": "测试"
    }
    

除了toast,其他的均支持使用类似[color:red]文本内容[/color]的标记来定义文本颜色。

许可证

MFAAvalonia 使用 GPL-3.0 许可证 开源。

致谢

开源项目

开发者

感谢所有为 MFAAvalonia 做出贡献的开发者。

Contributors to MFAAvalonia

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.4%
  • Other 1.6%