Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem









这个问题其实很久以前就有了,但因为没什么实际影响之前我就没管
试着修了一下,希望没有修出新的bug(
打开任何一个mod的GUI时都会这样:
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
```
//导致此错误的事件顺序 (最后的事件在最上方):
System.Collections.Generic.List`1[T].get_Item
UIInventory.get_owner
LayerInventory.OnDestroy
UnityEngine.Object:DestroyImmediate
ClassExtension:DestroyChildren
ModConfigGUI.UI.UIHelper:ReplaceComponents
ModConfigGUI.UI.UIHelper:AddLayer
ModConfigGUI.Patches.<>c__DisplayClass6_0:<OnInit_OnInstantiate_Postfix>b__1
UnityEngine.Events.UnityEvent:Invoke
UIButton:_OnPress
UIButton:<OnPointerDown>b__68_1
<_WaitForEndOfFrame>d__22:MoveNext
UnityEngine.SetupCoroutine:InvokeMoveNext
```
this是BaseUnityPluging派生类
另一个可行的方法就是检查是否有这个mod,然后通过反射调用你的函数, 但我觉得这个更麻烦。
不过引用也行吧,单独建个文件隔离一下,先检测是否有ModConfigGUI,有的话再调用那个文件里的方法,就不必须作为前置了
(这个操作在dnspy上好不好做我就不知道了
哦,你的是用反射改BaseUnityPlugin.Config吗
如果是的话,那确实有点烦人了...
我对用dnspy改没有概念
不过能用反射改就行,也挺方便(我是这么觉得的