DLL情報 - yu-ituki/ElinMod GitHub Wiki

■必須 or 頻出(かもしれない)dll

たぶん全部参照しても問題ないので面倒であれば全部参照しておくと良い気がする。
ベースのインストールパス: <Steamのインストールパス>/steamapps/common/Elin

  • ベースパス/Elin_Data/Managed/Elin.dll
    • Elin本体。こいつがなければ始まらない
  • ベースパス/Elin_Data/Managed/Plugins.dll
  • ベースパス/Elin_Data/Managed/Plugins.BaseCore.dll
  • ベースパス/Elin_Data/Managed/Plugins.UI.dll
  • ベースパス/Elin_Data/Managed/Plugins.Util.dll
    • noa猫様によるありがたいMod用ライブラリ郡とのこと。使わせていただこう。
  • ベースパス/Elin_Data/Managed/UnityEngine.dll
  • ベースパス/Elin_Data/Managed/UnityEngine.CoreModule.dll
  • ベースパス/Elin_Data/Managed/UnityEngine.UI.dll
    • UnityEngine本体。とりあえず必須。
  • ベースパス/BepInEx/core/0Harmony.dll
  • ベースパス/BepInEx/core/BepInEx.Core.dll
  • ベースパス/BepInEx/core/BepInEx.Unity.dll
  • ベースパス/BepInEx/core/BepInEx.Preloader.Core.dll
  • ベースパス/BepInEx/core/BepInEx.Preloader.Unity.dll
  • BepInEx系。必須。

以下任意系

  • ベースパス/Elin_Data/Managed/UnityEngine.InputLegacyModule.dll
    • UnityEngine.Input系のクラスが使える。キーやマウス駆動のModを作るなら
  • ベースパス/Elin_Data/Managed/NPOI.dll
  • ベースパス/Elin_Data/Managed/NPOI.OOXML.dll
  • ベースパス/Elin_Data/Managed/NPOI.OpenXml4Net.dll
  • ベースパス/Elin_Data/Managed/NPOI.OpenXmlFormats.dll
    • エクセルを扱うEPOIライブラリ。自作のSourceDataを作成するときなど。
    • 非ランタイムでScriptableObject化したリソースを読み込む場合は必要ないと思う。
  • ベースパス/Elin_Data/Managed/Plugins.Dungeon.dll
    • ダンジョンとかマップとかの生成機能が入ってる?不明
  • ベースパス/Elin_Data/Managed/Plugins.Sound.dll
    • SE再生など。本体組み込みのSEを鳴らしたければこれ。

■dllの展開方法

ILSpyの左ペインにDLLを放り込んで、DLL名を右クリック -> [Save Code] で .csproj が吐ける。 ILSpy↓
https://github.com/icsharpcode/ILSpy/releases
あとはVisualStudioで空の.Netクラスライブラリプロジェクトを作り、そこにcsprojを紐づけるだけ。
既存のModのdllも、Elin本体のソースもこれで開ける。
あとはそのプロジェクトの参照として、必要なdllを紐付ければビルド可能。