You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1005 lines
51 KiB

11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
  1. <!DOCTYPE html>
  2. <!--[if IE]><![endif]-->
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <title>Class StateTransitionTransaction
  8. </title>
  9. <meta name="viewport" content="width=device-width">
  10. <meta name="title" content="Class StateTransitionTransaction
  11. ">
  12. <meta name="generator" content="docfx 2.59.4.0">
  13. <link rel="shortcut icon" href="../favicon.ico">
  14. <link rel="stylesheet" href="../styles/docfx.vendor.css">
  15. <link rel="stylesheet" href="../styles/docfx.css">
  16. <link rel="stylesheet" href="../styles/main.css">
  17. <link rel="stylesheet" href="../styles/fix.css">
  18. <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  19. <meta property="docfx:navrel" content="../toc.html">
  20. <meta property="docfx:tocrel" content="toc.html">
  21. <meta property="docfx:rel" content="../">
  22. <meta property="docfx:newtab" content="true">
  23. </head> <body data-spy="scroll" data-target="#affix" data-offset="120">
  24. <div id="wrapper">
  25. <header>
  26. <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
  27. <div class="container">
  28. <div class="navbar-header">
  29. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
  30. <span class="sr-only">Toggle navigation</span>
  31. <span class="icon-bar"></span>
  32. <span class="icon-bar"></span>
  33. <span class="icon-bar"></span>
  34. </button>
  35. <a class="navbar-brand" href="../index.html">
  36. <img id="logo" class="svg" src="../logo.svg" alt="">
  37. </a>
  38. </div>
  39. <div class="collapse navbar-collapse" id="navbar">
  40. <form class="navbar-form navbar-right" role="search" id="search">
  41. <div class="form-group">
  42. <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
  43. </div>
  44. </form>
  45. </div>
  46. </div>
  47. </nav>
  48. <div class="subnav navbar navbar-default">
  49. <div class="container hide-when-search" id="breadcrumb">
  50. <ul class="breadcrumb">
  51. <li></li>
  52. </ul>
  53. </div>
  54. </div>
  55. </header>
  56. <div class="container body-content">
  57. <div id="search-results">
  58. <div class="search-list">Search Results for <span></span></div>
  59. <div class="sr-items">
  60. <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
  61. </div>
  62. <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
  63. </div>
  64. </div>
  65. <div role="main" class="container body-content hide-when-search">
  66. <div class="sidenav hide-when-search">
  67. <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
  68. <div class="sidetoggle collapse" id="sidetoggle">
  69. <div id="sidetoc"></div>
  70. </div>
  71. </div>
  72. <div class="article row grid-right">
  73. <div class="col-md-10">
  74. <article class="content wrap" id="_content" data-uid="IPA.Loader.StateTransitionTransaction">
  75. <h1 id="IPA_Loader_StateTransitionTransaction" data-uid="IPA.Loader.StateTransitionTransaction" class="text-break">Class StateTransitionTransaction
  76. </h1>
  77. <div class="markdown level0 summary"><p>A class to represent a transaction for changing the state of loaded mods.</p>
  78. </div>
  79. <div class="markdown level0 conceptual"></div>
  80. <div class="inheritance">
  81. <h5>Inheritance</h5>
  82. <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">Object</a></div>
  83. <div class="level1"><span class="xref">StateTransitionTransaction</span></div>
  84. </div>
  85. <div class="implements">
  86. <h5>Implements</h5>
  87. <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
  88. </div>
  89. <div class="inheritedMembers">
  90. <h5>Inherited Members</h5>
  91. <div>
  92. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring#system-object-tostring">Object.ToString()</a>
  93. </div>
  94. <div>
  95. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">Object.Equals(Object)</a>
  96. </div>
  97. <div>
  98. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">Object.Equals(Object, Object)</a>
  99. </div>
  100. <div>
  101. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals#system-object-referenceequals(system-object-system-object)">Object.ReferenceEquals(Object, Object)</a>
  102. </div>
  103. <div>
  104. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode#system-object-gethashcode">Object.GetHashCode()</a>
  105. </div>
  106. <div>
  107. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype#system-object-gettype">Object.GetType()</a>
  108. </div>
  109. <div>
  110. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone#system-object-memberwiseclone">Object.MemberwiseClone()</a>
  111. </div>
  112. </div>
  113. <h6><strong>Namespace</strong>: <a class="xref" href="IPA.Loader.html">IPA.Loader</a></h6>
  114. <h6><strong>Assembly</strong>: IPA.Loader.dll</h6>
  115. <h5 id="IPA_Loader_StateTransitionTransaction_syntax">Syntax</h5>
  116. <div class="codewrapper">
  117. <pre><code class="lang-csharp hljs">public sealed class StateTransitionTransaction : IDisposable</code></pre>
  118. </div>
  119. <h3 id="properties">Properties
  120. </h3>
  121. <span class="small pull-right mobile-hide">
  122. <span class="divider">|</span>
  123. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_DisabledPlugins.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.DisabledPlugins%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  124. </span>
  125. <span class="small pull-right mobile-hide">
  126. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L58">View Source</a>
  127. </span>
  128. <a id="IPA_Loader_StateTransitionTransaction_DisabledPlugins_" data-uid="IPA.Loader.StateTransitionTransaction.DisabledPlugins*"></a>
  129. <h4 id="IPA_Loader_StateTransitionTransaction_DisabledPlugins" data-uid="IPA.Loader.StateTransitionTransaction.DisabledPlugins">DisabledPlugins</h4>
  130. <div class="markdown level1 summary"><p>Gets a list of plugins that are disabled according to this transaction&apos;s current state.</p>
  131. </div>
  132. <div class="markdown level1 conceptual"></div>
  133. <h5 class="decalaration">Declaration</h5>
  134. <div class="codewrapper">
  135. <pre><code class="lang-csharp hljs">public IEnumerable&lt;PluginMetadata&gt; DisabledPlugins { get; }</code></pre>
  136. </div>
  137. <h5 class="propertyValue">Property Value</h5>
  138. <table class="table table-bordered table-striped table-condensed">
  139. <thead>
  140. <tr>
  141. <th>Type</th>
  142. <th>Description</th>
  143. </tr>
  144. </thead>
  145. <tbody>
  146. <tr>
  147. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a>&gt;</td>
  148. <td></td>
  149. </tr>
  150. </tbody>
  151. </table>
  152. <h5 class="exceptions">Exceptions</h5>
  153. <table class="table table-bordered table-striped table-condensed">
  154. <thead>
  155. <tr>
  156. <th>Type</th>
  157. <th>Condition</th>
  158. </tr>
  159. </thead>
  160. <tbody>
  161. <tr>
  162. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  163. <td><p>if this object has been disposed</p>
  164. </td>
  165. </tr>
  166. </tbody>
  167. </table>
  168. <span class="small pull-right mobile-hide">
  169. <span class="divider">|</span>
  170. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_EnabledPlugins.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.EnabledPlugins%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  171. </span>
  172. <span class="small pull-right mobile-hide">
  173. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L51">View Source</a>
  174. </span>
  175. <a id="IPA_Loader_StateTransitionTransaction_EnabledPlugins_" data-uid="IPA.Loader.StateTransitionTransaction.EnabledPlugins*"></a>
  176. <h4 id="IPA_Loader_StateTransitionTransaction_EnabledPlugins" data-uid="IPA.Loader.StateTransitionTransaction.EnabledPlugins">EnabledPlugins</h4>
  177. <div class="markdown level1 summary"><p>Gets a list of plugins that are enabled according to this transaction&apos;s current state.</p>
  178. </div>
  179. <div class="markdown level1 conceptual"></div>
  180. <h5 class="decalaration">Declaration</h5>
  181. <div class="codewrapper">
  182. <pre><code class="lang-csharp hljs">public IEnumerable&lt;PluginMetadata&gt; EnabledPlugins { get; }</code></pre>
  183. </div>
  184. <h5 class="propertyValue">Property Value</h5>
  185. <table class="table table-bordered table-striped table-condensed">
  186. <thead>
  187. <tr>
  188. <th>Type</th>
  189. <th>Description</th>
  190. </tr>
  191. </thead>
  192. <tbody>
  193. <tr>
  194. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a>&gt;</td>
  195. <td></td>
  196. </tr>
  197. </tbody>
  198. </table>
  199. <h5 class="exceptions">Exceptions</h5>
  200. <table class="table table-bordered table-striped table-condensed">
  201. <thead>
  202. <tr>
  203. <th>Type</th>
  204. <th>Condition</th>
  205. </tr>
  206. </thead>
  207. <tbody>
  208. <tr>
  209. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  210. <td><p>if this object has been disposed</p>
  211. </td>
  212. </tr>
  213. </tbody>
  214. </table>
  215. <span class="small pull-right mobile-hide">
  216. <span class="divider">|</span>
  217. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_HasStateChanged.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.HasStateChanged%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  218. </span>
  219. <span class="small pull-right mobile-hide">
  220. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L40">View Source</a>
  221. </span>
  222. <a id="IPA_Loader_StateTransitionTransaction_HasStateChanged_" data-uid="IPA.Loader.StateTransitionTransaction.HasStateChanged*"></a>
  223. <h4 id="IPA_Loader_StateTransitionTransaction_HasStateChanged" data-uid="IPA.Loader.StateTransitionTransaction.HasStateChanged">HasStateChanged</h4>
  224. <div class="markdown level1 summary"><p>Gets whether or not the current state has changed.</p>
  225. </div>
  226. <div class="markdown level1 conceptual"></div>
  227. <h5 class="decalaration">Declaration</h5>
  228. <div class="codewrapper">
  229. <pre><code class="lang-csharp hljs">public bool HasStateChanged { get; }</code></pre>
  230. </div>
  231. <h5 class="propertyValue">Property Value</h5>
  232. <table class="table table-bordered table-striped table-condensed">
  233. <thead>
  234. <tr>
  235. <th>Type</th>
  236. <th>Description</th>
  237. </tr>
  238. </thead>
  239. <tbody>
  240. <tr>
  241. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  242. <td><p><span class="xref">true</span> if the current state of the transaction is different from its construction, <span class="xref">false</span> otherwise</p>
  243. </td>
  244. </tr>
  245. </tbody>
  246. </table>
  247. <h5 class="exceptions">Exceptions</h5>
  248. <table class="table table-bordered table-striped table-condensed">
  249. <thead>
  250. <tr>
  251. <th>Type</th>
  252. <th>Condition</th>
  253. </tr>
  254. </thead>
  255. <tbody>
  256. <tr>
  257. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  258. <td><p>if this object has been disposed</p>
  259. </td>
  260. </tr>
  261. </tbody>
  262. </table>
  263. <span class="small pull-right mobile-hide">
  264. <span class="divider">|</span>
  265. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_WillNeedRestart.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.WillNeedRestart%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  266. </span>
  267. <span class="small pull-right mobile-hide">
  268. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L31">View Source</a>
  269. </span>
  270. <a id="IPA_Loader_StateTransitionTransaction_WillNeedRestart_" data-uid="IPA.Loader.StateTransitionTransaction.WillNeedRestart*"></a>
  271. <h4 id="IPA_Loader_StateTransitionTransaction_WillNeedRestart" data-uid="IPA.Loader.StateTransitionTransaction.WillNeedRestart">WillNeedRestart</h4>
  272. <div class="markdown level1 summary"><p>Gets whether or not a game restart will be necessary to fully apply this transaction.</p>
  273. </div>
  274. <div class="markdown level1 conceptual"></div>
  275. <h5 class="decalaration">Declaration</h5>
  276. <div class="codewrapper">
  277. <pre><code class="lang-csharp hljs">public bool WillNeedRestart { get; }</code></pre>
  278. </div>
  279. <h5 class="propertyValue">Property Value</h5>
  280. <table class="table table-bordered table-striped table-condensed">
  281. <thead>
  282. <tr>
  283. <th>Type</th>
  284. <th>Description</th>
  285. </tr>
  286. </thead>
  287. <tbody>
  288. <tr>
  289. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  290. <td><p><span class="xref">true</span> if any mod who&apos;s state is changed cannot be changed at runtime, <span class="xref">false</span> otherwise</p>
  291. </td>
  292. </tr>
  293. </tbody>
  294. </table>
  295. <h5 class="exceptions">Exceptions</h5>
  296. <table class="table table-bordered table-striped table-condensed">
  297. <thead>
  298. <tr>
  299. <th>Type</th>
  300. <th>Condition</th>
  301. </tr>
  302. </thead>
  303. <tbody>
  304. <tr>
  305. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  306. <td><p>if this object has been disposed</p>
  307. </td>
  308. </tr>
  309. </tbody>
  310. </table>
  311. <h3 id="methods">Methods
  312. </h3>
  313. <span class="small pull-right mobile-hide">
  314. <span class="divider">|</span>
  315. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Clone.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  316. </span>
  317. <span class="small pull-right mobile-hide">
  318. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L247">View Source</a>
  319. </span>
  320. <a id="IPA_Loader_StateTransitionTransaction_Clone_" data-uid="IPA.Loader.StateTransitionTransaction.Clone*"></a>
  321. <h4 id="IPA_Loader_StateTransitionTransaction_Clone" data-uid="IPA.Loader.StateTransitionTransaction.Clone">Clone()</h4>
  322. <div class="markdown level1 summary"><p>Clones this transaction to be identical, but with unrelated underlying sets.</p>
  323. </div>
  324. <div class="markdown level1 conceptual"></div>
  325. <h5 class="decalaration">Declaration</h5>
  326. <div class="codewrapper">
  327. <pre><code class="lang-csharp hljs">public StateTransitionTransaction Clone()</code></pre>
  328. </div>
  329. <h5 class="returns">Returns</h5>
  330. <table class="table table-bordered table-striped table-condensed">
  331. <thead>
  332. <tr>
  333. <th>Type</th>
  334. <th>Description</th>
  335. </tr>
  336. </thead>
  337. <tbody>
  338. <tr>
  339. <td><a class="xref" href="IPA.Loader.StateTransitionTransaction.html">StateTransitionTransaction</a></td>
  340. <td><p>the new <a class="xref" href="IPA.Loader.StateTransitionTransaction.html">StateTransitionTransaction</a></p>
  341. </td>
  342. </tr>
  343. </tbody>
  344. </table>
  345. <h5 class="exceptions">Exceptions</h5>
  346. <table class="table table-bordered table-striped table-condensed">
  347. <thead>
  348. <tr>
  349. <th>Type</th>
  350. <th>Condition</th>
  351. </tr>
  352. </thead>
  353. <tbody>
  354. <tr>
  355. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  356. <td><p>if this object has been disposed</p>
  357. </td>
  358. </tr>
  359. </tbody>
  360. </table>
  361. <span class="small pull-right mobile-hide">
  362. <span class="divider">|</span>
  363. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Commit.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Commit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  364. </span>
  365. <span class="small pull-right mobile-hide">
  366. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L240">View Source</a>
  367. </span>
  368. <a id="IPA_Loader_StateTransitionTransaction_Commit_" data-uid="IPA.Loader.StateTransitionTransaction.Commit*"></a>
  369. <h4 id="IPA_Loader_StateTransitionTransaction_Commit" data-uid="IPA.Loader.StateTransitionTransaction.Commit">Commit()</h4>
  370. <div class="markdown level1 summary"><p>Commits this transaction to actual state, enabling and disabling plugins as necessary.</p>
  371. </div>
  372. <div class="markdown level1 conceptual"></div>
  373. <h5 class="decalaration">Declaration</h5>
  374. <div class="codewrapper">
  375. <pre><code class="lang-csharp hljs">public Task Commit()</code></pre>
  376. </div>
  377. <h5 class="returns">Returns</h5>
  378. <table class="table table-bordered table-striped table-condensed">
  379. <thead>
  380. <tr>
  381. <th>Type</th>
  382. <th>Description</th>
  383. </tr>
  384. </thead>
  385. <tbody>
  386. <tr>
  387. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></td>
  388. <td><p>a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a> which completes whenever all disables complete</p>
  389. </td>
  390. </tr>
  391. </tbody>
  392. </table>
  393. <h5 id="IPA_Loader_StateTransitionTransaction_Commit_remarks">Remarks</h5>
  394. <div class="markdown level1 remarks"><p>After this completes, this transaction will be disposed.</p>
  395. <p>
  396. The <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a> that is returned will error if <strong>any</strong> of the mods being <strong>disabled</strong>
  397. error. It is up to the caller to handle these in a sane way, like logging them. If nothing else, do something like this:
  398. <pre><code>// get your transaction...
  399. var complete = transaction.Commit();
  400. await complete.ContinueWith(t => {
  401. if (t.IsFaulted)
  402. Logger.log.Error($&quot;Error disabling plugins: {t.Exception}&quot;);
  403. });</code></pre>
  404. If you are running in a coroutine, you can use <a class="xref" href="IPA.Utilities.Async.Coroutines.html#IPA_Utilities_Async_Coroutines_WaitForTask_System_Threading_Tasks_Task_">WaitForTask(Task)</a> instead of <span class="xref">await</span>.
  405. </p>
  406. <p>
  407. If you are running on the Unity main thread, this will block until all enabling is done, and will return a task representing the disables.
  408. Otherwise, the task returned represents both, and <em>will not complete</em> until Unity has done (possibly) several updates, depending on
  409. the number of plugins being disabled, and the time they take.
  410. </p>
  411. </div>
  412. <h5 class="exceptions">Exceptions</h5>
  413. <table class="table table-bordered table-striped table-condensed">
  414. <thead>
  415. <tr>
  416. <th>Type</th>
  417. <th>Condition</th>
  418. </tr>
  419. </thead>
  420. <tbody>
  421. <tr>
  422. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  423. <td><p>if this object has been disposed</p>
  424. </td>
  425. </tr>
  426. <tr>
  427. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.invalidoperationexception">InvalidOperationException</a></td>
  428. <td><p>if the plugins&apos; state no longer matches this transaction&apos;s original state</p>
  429. </td>
  430. </tr>
  431. </tbody>
  432. </table>
  433. <span class="small pull-right mobile-hide">
  434. <span class="divider">|</span>
  435. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Boolean_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Disable(IPA.Loader.PluginMetadata%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  436. </span>
  437. <span class="small pull-right mobile-hide">
  438. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L164">View Source</a>
  439. </span>
  440. <a id="IPA_Loader_StateTransitionTransaction_Disable_" data-uid="IPA.Loader.StateTransitionTransaction.Disable*"></a>
  441. <h4 id="IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Boolean_" data-uid="IPA.Loader.StateTransitionTransaction.Disable(IPA.Loader.PluginMetadata,System.Boolean)">Disable(PluginMetadata, Boolean)</h4>
  442. <div class="markdown level1 summary"><p>Disables a plugin in this transaction.</p>
  443. </div>
  444. <div class="markdown level1 conceptual"></div>
  445. <h5 class="decalaration">Declaration</h5>
  446. <div class="codewrapper">
  447. <pre><code class="lang-csharp hljs">public bool Disable(PluginMetadata meta, bool autoDependents = true)</code></pre>
  448. </div>
  449. <h5 class="parameters">Parameters</h5>
  450. <table class="table table-bordered table-striped table-condensed">
  451. <thead>
  452. <tr>
  453. <th>Type</th>
  454. <th>Name</th>
  455. <th>Description</th>
  456. </tr>
  457. </thead>
  458. <tbody>
  459. <tr>
  460. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  461. <td><span class="parametername">meta</span></td>
  462. <td><p>the plugin to disable</p>
  463. </td>
  464. </tr>
  465. <tr>
  466. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  467. <td><span class="parametername">autoDependents</span></td>
  468. <td><p>whether or not to automatically disable all dependents of the plugin</p>
  469. </td>
  470. </tr>
  471. </tbody>
  472. </table>
  473. <h5 class="returns">Returns</h5>
  474. <table class="table table-bordered table-striped table-condensed">
  475. <thead>
  476. <tr>
  477. <th>Type</th>
  478. <th>Description</th>
  479. </tr>
  480. </thead>
  481. <tbody>
  482. <tr>
  483. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  484. <td><p><span class="xref">true</span> if the transaction&apos;s state was changed, <span class="xref">false</span> otherwise</p>
  485. </td>
  486. </tr>
  487. </tbody>
  488. </table>
  489. <h5 class="exceptions">Exceptions</h5>
  490. <table class="table table-bordered table-striped table-condensed">
  491. <thead>
  492. <tr>
  493. <th>Type</th>
  494. <th>Condition</th>
  495. </tr>
  496. </thead>
  497. <tbody>
  498. <tr>
  499. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  500. <td><p>if this object has been disposed</p>
  501. </td>
  502. </tr>
  503. <tr>
  504. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></td>
  505. <td><p>if <code data-dev-comment-type="paramref" class="paramref">meta</code> is not loadable</p>
  506. </td>
  507. </tr>
  508. </tbody>
  509. </table>
  510. <h5 id="IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Boolean__seealso">See Also</h5>
  511. <div class="seealso">
  512. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_">Disable(PluginMetadata, out IEnumerable&lt;PluginMetadata&gt;, Boolean)</a></div>
  513. </div>
  514. <span class="small pull-right mobile-hide">
  515. <span class="divider">|</span>
  516. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Disable(IPA.Loader.PluginMetadata%2CSystem.Collections.Generic.IEnumerable%7BIPA.Loader.PluginMetadata%7D%40%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  517. </span>
  518. <span class="small pull-right mobile-hide">
  519. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L179">View Source</a>
  520. </span>
  521. <a id="IPA_Loader_StateTransitionTransaction_Disable_" data-uid="IPA.Loader.StateTransitionTransaction.Disable*"></a>
  522. <h4 id="IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_" data-uid="IPA.Loader.StateTransitionTransaction.Disable(IPA.Loader.PluginMetadata,System.Collections.Generic.IEnumerable{IPA.Loader.PluginMetadata}@,System.Boolean)">Disable(PluginMetadata, out IEnumerable&lt;PluginMetadata&gt;, Boolean)</h4>
  523. <div class="markdown level1 summary"><p>Disables a plugin in this transaction.</p>
  524. </div>
  525. <div class="markdown level1 conceptual"></div>
  526. <h5 class="decalaration">Declaration</h5>
  527. <div class="codewrapper">
  528. <pre><code class="lang-csharp hljs">public bool Disable(PluginMetadata meta, out IEnumerable&lt;PluginMetadata&gt; enabledDependents, bool autoDependents = false)</code></pre>
  529. </div>
  530. <h5 class="parameters">Parameters</h5>
  531. <table class="table table-bordered table-striped table-condensed">
  532. <thead>
  533. <tr>
  534. <th>Type</th>
  535. <th>Name</th>
  536. <th>Description</th>
  537. </tr>
  538. </thead>
  539. <tbody>
  540. <tr>
  541. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  542. <td><span class="parametername">meta</span></td>
  543. <td><p>the plugin to disable</p>
  544. </td>
  545. </tr>
  546. <tr>
  547. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a>&gt;</td>
  548. <td><span class="parametername">enabledDependents</span></td>
  549. <td><p><span class="xref">null</span> if successful, otherwise a set of plugins that need to be disabled first</p>
  550. </td>
  551. </tr>
  552. <tr>
  553. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  554. <td><span class="parametername">autoDependents</span></td>
  555. <td><p>whether or not to automatically disable all dependents of the plugin</p>
  556. </td>
  557. </tr>
  558. </tbody>
  559. </table>
  560. <h5 class="returns">Returns</h5>
  561. <table class="table table-bordered table-striped table-condensed">
  562. <thead>
  563. <tr>
  564. <th>Type</th>
  565. <th>Description</th>
  566. </tr>
  567. </thead>
  568. <tbody>
  569. <tr>
  570. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  571. <td><p><span class="xref">true</span> if the transaction&apos;s state was changed, <span class="xref">false</span> otherwise</p>
  572. </td>
  573. </tr>
  574. </tbody>
  575. </table>
  576. <h5 id="IPA_Loader_StateTransitionTransaction_Disable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean__remarks">Remarks</h5>
  577. <div class="markdown level1 remarks"><p><code data-dev-comment-type="paramref" class="paramref">enabledDependents</code> will only be set when <code data-dev-comment-type="paramref" class="paramref">autoDependents</code> is <span class="xref">false</span>.</p>
  578. </div>
  579. <h5 class="exceptions">Exceptions</h5>
  580. <table class="table table-bordered table-striped table-condensed">
  581. <thead>
  582. <tr>
  583. <th>Type</th>
  584. <th>Condition</th>
  585. </tr>
  586. </thead>
  587. <tbody>
  588. <tr>
  589. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  590. <td><p>if this object has been disposed</p>
  591. </td>
  592. </tr>
  593. <tr>
  594. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></td>
  595. <td><p>if <code data-dev-comment-type="paramref" class="paramref">meta</code> is not loadable</p>
  596. </td>
  597. </tr>
  598. </tbody>
  599. </table>
  600. <span class="small pull-right mobile-hide">
  601. <span class="divider">|</span>
  602. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Dispose.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  603. </span>
  604. <span class="small pull-right mobile-hide">
  605. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L269">View Source</a>
  606. </span>
  607. <a id="IPA_Loader_StateTransitionTransaction_Dispose_" data-uid="IPA.Loader.StateTransitionTransaction.Dispose*"></a>
  608. <h4 id="IPA_Loader_StateTransitionTransaction_Dispose" data-uid="IPA.Loader.StateTransitionTransaction.Dispose">Dispose()</h4>
  609. <div class="markdown level1 summary"><p>Disposes and discards this transaction without committing it.</p>
  610. </div>
  611. <div class="markdown level1 conceptual"></div>
  612. <h5 class="decalaration">Declaration</h5>
  613. <div class="codewrapper">
  614. <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
  615. </div>
  616. <span class="small pull-right mobile-hide">
  617. <span class="divider">|</span>
  618. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Boolean_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Enable(IPA.Loader.PluginMetadata%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  619. </span>
  620. <span class="small pull-right mobile-hide">
  621. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L106">View Source</a>
  622. </span>
  623. <a id="IPA_Loader_StateTransitionTransaction_Enable_" data-uid="IPA.Loader.StateTransitionTransaction.Enable*"></a>
  624. <h4 id="IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Boolean_" data-uid="IPA.Loader.StateTransitionTransaction.Enable(IPA.Loader.PluginMetadata,System.Boolean)">Enable(PluginMetadata, Boolean)</h4>
  625. <div class="markdown level1 summary"><p>Enables a plugin in this transaction.</p>
  626. </div>
  627. <div class="markdown level1 conceptual"></div>
  628. <h5 class="decalaration">Declaration</h5>
  629. <div class="codewrapper">
  630. <pre><code class="lang-csharp hljs">public bool Enable(PluginMetadata meta, bool autoDeps = true)</code></pre>
  631. </div>
  632. <h5 class="parameters">Parameters</h5>
  633. <table class="table table-bordered table-striped table-condensed">
  634. <thead>
  635. <tr>
  636. <th>Type</th>
  637. <th>Name</th>
  638. <th>Description</th>
  639. </tr>
  640. </thead>
  641. <tbody>
  642. <tr>
  643. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  644. <td><span class="parametername">meta</span></td>
  645. <td><p>the plugin to enable</p>
  646. </td>
  647. </tr>
  648. <tr>
  649. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  650. <td><span class="parametername">autoDeps</span></td>
  651. <td><p>whether or not to automatically enable all dependencies of the plugin</p>
  652. </td>
  653. </tr>
  654. </tbody>
  655. </table>
  656. <h5 class="returns">Returns</h5>
  657. <table class="table table-bordered table-striped table-condensed">
  658. <thead>
  659. <tr>
  660. <th>Type</th>
  661. <th>Description</th>
  662. </tr>
  663. </thead>
  664. <tbody>
  665. <tr>
  666. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  667. <td><p><span class="xref">true</span> if the transaction&apos;s state was changed, <span class="xref">false</span> otherwise</p>
  668. </td>
  669. </tr>
  670. </tbody>
  671. </table>
  672. <h5 class="exceptions">Exceptions</h5>
  673. <table class="table table-bordered table-striped table-condensed">
  674. <thead>
  675. <tr>
  676. <th>Type</th>
  677. <th>Condition</th>
  678. </tr>
  679. </thead>
  680. <tbody>
  681. <tr>
  682. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  683. <td><p>if this object has been disposed</p>
  684. </td>
  685. </tr>
  686. <tr>
  687. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></td>
  688. <td><p>if <code data-dev-comment-type="paramref" class="paramref">meta</code> is not loadable</p>
  689. </td>
  690. </tr>
  691. </tbody>
  692. </table>
  693. <h5 id="IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Boolean__seealso">See Also</h5>
  694. <div class="seealso">
  695. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_">Enable(PluginMetadata, out IEnumerable&lt;PluginMetadata&gt;, Boolean)</a></div>
  696. </div>
  697. <span class="small pull-right mobile-hide">
  698. <span class="divider">|</span>
  699. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.Enable(IPA.Loader.PluginMetadata%2CSystem.Collections.Generic.IEnumerable%7BIPA.Loader.PluginMetadata%7D%40%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  700. </span>
  701. <span class="small pull-right mobile-hide">
  702. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L121">View Source</a>
  703. </span>
  704. <a id="IPA_Loader_StateTransitionTransaction_Enable_" data-uid="IPA.Loader.StateTransitionTransaction.Enable*"></a>
  705. <h4 id="IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean_" data-uid="IPA.Loader.StateTransitionTransaction.Enable(IPA.Loader.PluginMetadata,System.Collections.Generic.IEnumerable{IPA.Loader.PluginMetadata}@,System.Boolean)">Enable(PluginMetadata, out IEnumerable&lt;PluginMetadata&gt;, Boolean)</h4>
  706. <div class="markdown level1 summary"><p>Enables a plugin in this transaction.</p>
  707. </div>
  708. <div class="markdown level1 conceptual"></div>
  709. <h5 class="decalaration">Declaration</h5>
  710. <div class="codewrapper">
  711. <pre><code class="lang-csharp hljs">public bool Enable(PluginMetadata meta, out IEnumerable&lt;PluginMetadata&gt; disabledDeps, bool autoDeps = false)</code></pre>
  712. </div>
  713. <h5 class="parameters">Parameters</h5>
  714. <table class="table table-bordered table-striped table-condensed">
  715. <thead>
  716. <tr>
  717. <th>Type</th>
  718. <th>Name</th>
  719. <th>Description</th>
  720. </tr>
  721. </thead>
  722. <tbody>
  723. <tr>
  724. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  725. <td><span class="parametername">meta</span></td>
  726. <td><p>the plugin to enable</p>
  727. </td>
  728. </tr>
  729. <tr>
  730. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;<a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a>&gt;</td>
  731. <td><span class="parametername">disabledDeps</span></td>
  732. <td><p><span class="xref">null</span> if successful, otherwise a set of plugins that need to be enabled first</p>
  733. </td>
  734. </tr>
  735. <tr>
  736. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  737. <td><span class="parametername">autoDeps</span></td>
  738. <td><p>whether or not to automatically enable all dependencies</p>
  739. </td>
  740. </tr>
  741. </tbody>
  742. </table>
  743. <h5 class="returns">Returns</h5>
  744. <table class="table table-bordered table-striped table-condensed">
  745. <thead>
  746. <tr>
  747. <th>Type</th>
  748. <th>Description</th>
  749. </tr>
  750. </thead>
  751. <tbody>
  752. <tr>
  753. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  754. <td><p><span class="xref">true</span> if the transaction&apos;s state was changed, <span class="xref">false</span> otherwise</p>
  755. </td>
  756. </tr>
  757. </tbody>
  758. </table>
  759. <h5 id="IPA_Loader_StateTransitionTransaction_Enable_IPA_Loader_PluginMetadata_System_Collections_Generic_IEnumerable_IPA_Loader_PluginMetadata___System_Boolean__remarks">Remarks</h5>
  760. <div class="markdown level1 remarks"><p><code data-dev-comment-type="paramref" class="paramref">disabledDeps</code> will only be set when <code data-dev-comment-type="paramref" class="paramref">autoDeps</code> is <span class="xref">false</span>.</p>
  761. </div>
  762. <h5 class="exceptions">Exceptions</h5>
  763. <table class="table table-bordered table-striped table-condensed">
  764. <thead>
  765. <tr>
  766. <th>Type</th>
  767. <th>Condition</th>
  768. </tr>
  769. </thead>
  770. <tbody>
  771. <tr>
  772. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  773. <td><p>if this object has been disposed</p>
  774. </td>
  775. </tr>
  776. <tr>
  777. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.argumentexception">ArgumentException</a></td>
  778. <td><p>if <code data-dev-comment-type="paramref" class="paramref">meta</code> is not loadable</p>
  779. </td>
  780. </tr>
  781. </tbody>
  782. </table>
  783. <span class="small pull-right mobile-hide">
  784. <span class="divider">|</span>
  785. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.IsDisabled(IPA.Loader.PluginMetadata)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  786. </span>
  787. <span class="small pull-right mobile-hide">
  788. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L91">View Source</a>
  789. </span>
  790. <a id="IPA_Loader_StateTransitionTransaction_IsDisabled_" data-uid="IPA.Loader.StateTransitionTransaction.IsDisabled*"></a>
  791. <h4 id="IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata_" data-uid="IPA.Loader.StateTransitionTransaction.IsDisabled(IPA.Loader.PluginMetadata)">IsDisabled(PluginMetadata)</h4>
  792. <div class="markdown level1 summary"><p>Checks if a plugin is disabled according to this transaction&apos;s current state.</p>
  793. </div>
  794. <div class="markdown level1 conceptual"></div>
  795. <h5 class="decalaration">Declaration</h5>
  796. <div class="codewrapper">
  797. <pre><code class="lang-csharp hljs">public bool IsDisabled(PluginMetadata meta)</code></pre>
  798. </div>
  799. <h5 class="parameters">Parameters</h5>
  800. <table class="table table-bordered table-striped table-condensed">
  801. <thead>
  802. <tr>
  803. <th>Type</th>
  804. <th>Name</th>
  805. <th>Description</th>
  806. </tr>
  807. </thead>
  808. <tbody>
  809. <tr>
  810. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  811. <td><span class="parametername">meta</span></td>
  812. <td><p>the plugin to check</p>
  813. </td>
  814. </tr>
  815. </tbody>
  816. </table>
  817. <h5 class="returns">Returns</h5>
  818. <table class="table table-bordered table-striped table-condensed">
  819. <thead>
  820. <tr>
  821. <th>Type</th>
  822. <th>Description</th>
  823. </tr>
  824. </thead>
  825. <tbody>
  826. <tr>
  827. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  828. <td><p><span class="xref">true</span> if the plugin is disabled, <span class="xref">false</span> otherwise</p>
  829. </td>
  830. </tr>
  831. </tbody>
  832. </table>
  833. <h5 id="IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata__remarks">Remarks</h5>
  834. <div class="markdown level1 remarks"><p>This should be roughly equivalent to <code>DisabledPlugins.Contains(meta)</code>, but more performant.</p>
  835. <p>This should also always return the inverse of <a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata_">IsEnabled(PluginMetadata)</a> for valid plugins.</p>
  836. </div>
  837. <h5 class="exceptions">Exceptions</h5>
  838. <table class="table table-bordered table-striped table-condensed">
  839. <thead>
  840. <tr>
  841. <th>Type</th>
  842. <th>Condition</th>
  843. </tr>
  844. </thead>
  845. <tbody>
  846. <tr>
  847. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  848. <td><p>if this object has been disposed</p>
  849. </td>
  850. </tr>
  851. </tbody>
  852. </table>
  853. <h5 id="IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata__seealso">See Also</h5>
  854. <div class="seealso">
  855. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_DisabledPlugins">DisabledPlugins</a></div>
  856. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata_">IsEnabled(PluginMetadata)</a></div>
  857. </div>
  858. <span class="small pull-right mobile-hide">
  859. <span class="divider">|</span>
  860. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata_.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction.IsEnabled(IPA.Loader.PluginMetadata)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  861. </span>
  862. <span class="small pull-right mobile-hide">
  863. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L74">View Source</a>
  864. </span>
  865. <a id="IPA_Loader_StateTransitionTransaction_IsEnabled_" data-uid="IPA.Loader.StateTransitionTransaction.IsEnabled*"></a>
  866. <h4 id="IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata_" data-uid="IPA.Loader.StateTransitionTransaction.IsEnabled(IPA.Loader.PluginMetadata)">IsEnabled(PluginMetadata)</h4>
  867. <div class="markdown level1 summary"><p>Checks if a plugin is enabled according to this transaction&apos;s current state.</p>
  868. </div>
  869. <div class="markdown level1 conceptual"></div>
  870. <h5 class="decalaration">Declaration</h5>
  871. <div class="codewrapper">
  872. <pre><code class="lang-csharp hljs">public bool IsEnabled(PluginMetadata meta)</code></pre>
  873. </div>
  874. <h5 class="parameters">Parameters</h5>
  875. <table class="table table-bordered table-striped table-condensed">
  876. <thead>
  877. <tr>
  878. <th>Type</th>
  879. <th>Name</th>
  880. <th>Description</th>
  881. </tr>
  882. </thead>
  883. <tbody>
  884. <tr>
  885. <td><a class="xref" href="IPA.Loader.PluginMetadata.html">PluginMetadata</a></td>
  886. <td><span class="parametername">meta</span></td>
  887. <td><p>the plugin to check</p>
  888. </td>
  889. </tr>
  890. </tbody>
  891. </table>
  892. <h5 class="returns">Returns</h5>
  893. <table class="table table-bordered table-striped table-condensed">
  894. <thead>
  895. <tr>
  896. <th>Type</th>
  897. <th>Description</th>
  898. </tr>
  899. </thead>
  900. <tbody>
  901. <tr>
  902. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
  903. <td><p><span class="xref">true</span> if the plugin is enabled, <span class="xref">false</span> otherwise</p>
  904. </td>
  905. </tr>
  906. </tbody>
  907. </table>
  908. <h5 id="IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata__remarks">Remarks</h5>
  909. <div class="markdown level1 remarks"><p>This should be roughly equivalent to <code>EnabledPlugins.Contains(meta)</code>, but more performant.</p>
  910. <p>This should also always return the inverse of <a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata_">IsDisabled(PluginMetadata)</a> for valid plugins.</p>
  911. </div>
  912. <h5 class="exceptions">Exceptions</h5>
  913. <table class="table table-bordered table-striped table-condensed">
  914. <thead>
  915. <tr>
  916. <th>Type</th>
  917. <th>Condition</th>
  918. </tr>
  919. </thead>
  920. <tbody>
  921. <tr>
  922. <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.objectdisposedexception">ObjectDisposedException</a></td>
  923. <td><p>if this object has been disposed</p>
  924. </td>
  925. </tr>
  926. </tbody>
  927. </table>
  928. <h5 id="IPA_Loader_StateTransitionTransaction_IsEnabled_IPA_Loader_PluginMetadata__seealso">See Also</h5>
  929. <div class="seealso">
  930. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_EnabledPlugins">EnabledPlugins</a></div>
  931. <div><a class="xref" href="IPA.Loader.StateTransitionTransaction.html#IPA_Loader_StateTransitionTransaction_IsDisabled_IPA_Loader_PluginMetadata_">IsDisabled(PluginMetadata)</a></div>
  932. </div>
  933. <h3 id="implements">Implements</h3>
  934. <div>
  935. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">System.IDisposable</a>
  936. </div>
  937. <h3 id="extensionmethods">Extension Methods</h3>
  938. <div>
  939. <a class="xref" href="IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetField__2___0_System_String___1_">ReflectionUtil.SetField&lt;T, U&gt;(T, String, U)</a>
  940. </div>
  941. <div>
  942. <a class="xref" href="IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetField__2___1_System_String_">ReflectionUtil.GetField&lt;U, T&gt;(T, String)</a>
  943. </div>
  944. <div>
  945. <a class="xref" href="IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetProperty__2___0_System_String___1_">ReflectionUtil.SetProperty&lt;T, U&gt;(T, String, U)</a>
  946. </div>
  947. <div>
  948. <a class="xref" href="IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetProperty__2___1_System_String_">ReflectionUtil.GetProperty&lt;U, T&gt;(T, String)</a>
  949. </div>
  950. <div>
  951. <a class="xref" href="IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_InvokeMethod__2___1_System_String_System_Object___">ReflectionUtil.InvokeMethod&lt;U, T&gt;(T, String, Object[])</a>
  952. </div>
  953. </article>
  954. </div>
  955. <div class="hidden-sm col-md-2" role="complementary">
  956. <div class="sideaffix">
  957. <div class="contribution">
  958. <ul class="nav">
  959. <li>
  960. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/new/master/docs/override/new?filename=IPA_Loader_StateTransitionTransaction.md&amp;value=---%0Auid%3A%20IPA.Loader.StateTransitionTransaction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
  961. </li>
  962. <li>
  963. <a href="https://github.com/nike4613/BeatSaber-IPA-Reloaded/blob/055778cc9d21c84349ea929f513db5e728767192/IPA.Loader/Loader/StateTransitionTransaction.cs/#L12" class="contribution-link">View Source</a>
  964. </li>
  965. </ul>
  966. </div>
  967. <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
  968. <h5>In This Article</h5>
  969. <div></div>
  970. </nav>
  971. </div>
  972. </div>
  973. </div>
  974. </div>
  975. <footer>
  976. <div class="grad-bottom"></div>
  977. <div class="footer">
  978. <div class="container">
  979. <span class="pull-right">
  980. <a href="#top">Back to top</a>
  981. </span>
  982. <span>Generated by <strong>DocFX</strong></span>
  983. </div>
  984. </div>
  985. </footer>
  986. </div>
  987. <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
  988. <script type="text/javascript" src="../styles/docfx.js"></script>
  989. <script type="text/javascript" src="../styles/main.js"></script>
  990. </body>
  991. </html>