【DreamQuest Mod之旅 01】建立制造mod的环境
在我今日正式开端之前,我从前测验给《雪居之地》里边一个比较大的mod叫做《snow fall》做汉化mod。因而我了解到一个关键词叫做“Harmony”,并测验搭建了一下汉化环境。可是我发现snow fall 或许说雪居之地好像不是很支撑中文mod,所以终究抛弃了做汉化mod的主意。
今日在b站测验查找了一下相关教程,一眼看到 宵夜97 兄的视频:BV1Ri4y1Q7cj
并借此测验给DreamQuest做mod,试试能不能做mod或许汉化之类的。
通过实践,我注意到:
1.BepInEx 的部分版别用在DreamQuest上会报过错,现在已知能够成功运转的版别是 BepInEx-Unity.Mono-win-x64-6.0.0-be.725+e1974e2,该版别是我在
https://builds.bepinex.dev/projects/bepinex_be 下载的#725。
2.UnityExplorer插件支撑的Unity版别是从5.2开端到2021中的大都版别,而DreamQuest是 4.6.5f1 开发的,因而(也可能是 bepInEX6 和 UnityExplorer之间的版别问题)不能收效。后来我找到了:https://github.com/originalnicodr/CinematicUnityExplorer 。这个插件能够正常载入,可是好像没有收效。
我新建项目的时分用的是.NET 3.5,而且增加了如下引证:
除了符号的,其他引证都在E:\Steam\steamapps\common\Dream Quest\Windows64_Data\Managed 下(都在 你的DreamQuest游戏根目录下)
using System;
using System.Collections.Generic;
using System.Text;
using BepInEx;
using BepInEx.Unity.Mono;
using UnityEngine;
namespace HelloMod
{
[BepInPlugin("oz.gamePlugin.hellomod", "HelloMod", "0.0.1")]
public class HelloMod:BaseUnityPlugin
{
void Start()
{
Debug.Log("Hello World");//在 DreamQuest中运用 Debug.log 无效
Logger.LogInfo("Hello World");//非静态类中Log的办法
Vector2 basicBtnSize = new Vector2(3, 0.6f);//DreamQuest(以下简称 DQ)中一个根底的按钮控件尺度
ShopDialogueText shopDialogueText = SDB.Text(8f, "Hello World", 48, Color.red);//运用DQ中供给一切UI的类 SDB 来创立一个Text
ShopDialogueButton helloWorldBtn = SDB.BasicButton(basicBtnSize, "Hello World", null);//运用DQ中供给一切UI的类 SDB 来创立一个根底按钮
helloWorldBtn.FontSize(48);//设置按钮的字号巨细(DreamQuest中默许的字体是CustomFont)
ShopDialogueAligned align = SDB.Align(new ShopDialogueObject[] { shopDialogueText, helloWorldBtn }, "VP", 0.2f);//将上述的文本控件进行对齐,VP是笔直对齐,HP是水平对齐
align.CenterTo(new Vector3(-4.08f, -2.63f, 0));//将对齐控件全体移动到某点
}
}
}