RimWorld
ilyvion's Laboratory
Mostrando 11-20 de 24 aportaciones
< 1  2  3 >
Actualización: 11 SEP 2024 a las 22:47

Added

Actualización: 6 SEP 2024 a las 23:09

Added

  • Multi-tick version of the CacheValue class for caching values that take multiple ticks to calculate.

Actualización: 3 SEP 2024 a las 21:14

Changed

  • Multi-tick coroutines now immediately start coroutines that are added while coroutines are already being executed. This prevents an issue where a lot of calls to nested coroutines would postpone the execution of each coroutine by a tick, which unnecessarily paused coroutine execution when it wasn't necessary. If you need to pause execution immediately when a coroutine starts for some reason, you can immediately yield with e.g. ResumeImmediately.Singleton and it won't run proper until the next tick.

Actualización: 22 AGO 2024 a las 23:33

Added

  • Provide DrawIfUIHelpers to automate functionality. Now consumers only have to provide a closure that will get called at the right time, but also won't be called when the mod isn't compiled without the DEBUG symbol, so it becomes effectively free to pepper your code with it where you need it.

Actualización: 22 AGO 2024 a las 3:31

Added

  • Improved tab/tabrecords.
  • Util type DoOnDispose.

Actualización: 20 AGO 2024 a las 22:34

Added

  • It is now possible to cancel multi-tick coroutines in the middle of execution.

Fixed

  • Only register required version request when mismatch

Actualización: 19 AGO 2024 a las 23:58

Changed

  • Change the version check mechanism from using a method call to using a VersionCheckDef declared in a Defs XML file. The failing assembly won't even get to load to call VersionCheck.ShowRequiresAtLeastVersionMessageFor if we need it, making it useless, and this also makes it so that mods that only need XML features can still specify a version requirement without having to add a whole assembly jus for that.

Actualización: 19 AGO 2024 a las 19:52

Added

  • PatchOperationFindModById. Does what it says. Alternative to vanilla's PatchOperationFindMod but relies on mod id rather than on mod name, which, at least in theory, is more stable/less likely to change.

Actualización: 18 AGO 2024 a las 21:04

Added

  • MultiTickCoroutineManager: a GameComponent that orchestrates the registration and execution of, as the name suggests, multi-tick coroutines, i.e. tasks that span multiple ticks. Heavily modeled (as a concept, all code original) after the Unity Coroutine type. Makes use of the fact that C# allows you to write IEnumerables using yield (return|break) keywords, allowing natural 'break points' in a task. Created mainly to alleviate per-tick strain in the Colony Manager Redux, but I can see myself making use of this in many other situations going forward where you have too much work to perform for a single tick to handle well.

Actualización: 15 AGO 2024 a las 5:39

Added

  • Version check mechanism. Something to make me more comfortable with releasing mods that depend on this mod; even if something goes wrong, at least the user will get an explanation.
  • Import Widgets_Labels class' methods from Colony Manager Redux.
  • Import CacheValue(s) classes from Colony Manager Redux.
  • Utility methods/types for dealing with arrays and ArrayPools.
  • CustomBackCompatibility utility class for doing custom type replacements on game load.
  • EnumerableExtensions.MinAndMax for calculating both the min and the max value of an IEnumerable in a single pass.