Skip to content

Releases: Emik03/KeepCoding

Added strong name key

20 Apr 14:05
1d0a980
Compare
Choose a tag to compare
Added strong name key Pre-release
Pre-release
  • Added strong name key. This means that multiple versions of this library can be loaded even if they have the same namespace name.
  • Fixed indexing into a tuple causing an out of range exception if the last element wasn't chosen.
  • Renamed namespace back to KeepCoding.

Added IEquatable interfaces to data types

20 Apr 05:15
Compare
Choose a tag to compare
  • Added IEquatable interface to Tuple, ModuleContainer, and Sound.
  • Added Length and UpperBound to Tuple.
  • Added sealed modifier to ModInfo.
  • Changed Tuple indexing to use bytes.

Added Game class

20 Apr 02:38
Compare
Choose a tag to compare
Added Game class Pre-release
Pre-release
  • Added Game class, wrapping PlayerSettings in it. If you use PlayerSettings, add a prefix "Game." to each instance. This class will be for every instance where the library needs to access the game's library directly.
  • Added is empty check to Version in ModuleScript.
  • Added TypeHelper class, taking Helper's "To" methods.
  • Changed PathManager constants to be inaccessible.
  • Changed parameter "copy local" to be disabled, making compiling the library from its source faster.
  • Changed recursive algorithm inside Unwrap() to be an overload of Unwrap(), allowing you to pass in an IEnumerable directly instead of wrapping the IEnumerable as an object and using pattern matching to reobtain it.
  • Fixed bug where DynamicAudio's Fade() would always mute when it ends.
  • Renamed extension method Backwards() method to Rev().
  • Renamed generic types in Work to be clearer.
  • Renamed extension method ToIEnumerable() to AsEnumerable().

Added destructoring tuple method

17 Apr 01:45
Compare
Choose a tag to compare
Pre-release
  • Added Destruct() to Tuple, allowing you to extract each index from the tuple class.
  • Moved EventHelper Assign's overrideBoolean to the first argument.
  • Renamed EventHelper Assign's overrideBoolean to overrideReturn.
  • Renamed Helper's Mutate to Apply.
  • Renamed ModuleScript's IsStrike to HasStruck.

Renamed project to KeepCoding

15 Apr 07:44
Compare
Choose a tag to compare
Pre-release
  • Added an error log if your library is out of date, only from the editor.
  • Added explicit casting from DynamicAudio to AudioSource.
  • Added explicit operators from ModuleContainer to either KMBombModule or KMNeedyModule.
  • Added implicit operators from KMBombModule and KMNeedyModule to ModuleContainer.
  • Added KMAudioRef extension methods to stop an array of sounds.
  • Added LoadVideoClips() in PathManager
  • Added loop argument to PlaySound().
  • Added more null checks and detailed exceptions, check the XML documentation for more details.
  • Added Mutate<TInput, TOutput>(), which can mutate any single item to anything else.
  • Added new Sound class, which encapsulates a sound (in-game or custom) and can attach it to a KMAudioRef.
  • Added NullCheck<T>, a fast way of evaluating and throwing a NullReference- or NullIteratorException if something's an error.
  • Added Sounds property in ModuleScript which encapsulates every sound played from PlaySound().
  • Added Values dictionary in ModInfo which retrieves all values in the form of a dictionary.
  • Changed ModInfo's properties to hide the setter.
  • Changed PlaySound() to return Sound arrays.
  • Changed private constants from PathManager to public.
  • Renamed library and namespace from KeepCodingAndNobodyExplodes to KeepCoding.

Added IsLastInstantiated

13 Apr 09:47
Compare
Choose a tag to compare
Pre-release
  • Added IsLastInstantiated to ModuleScript, allowing modules to determine if they are currently the last time that the module has been duplicated by the game.
  • Removed unnecessary logging from DynamicAudio when a sound is played using a string.

Added advanced audio handler

12 Apr 16:15
Compare
Choose a tag to compare
Pre-release
  • Added DynamicAudio class, which allows you to use Unity's AudioSource datatype without worrying about volume relativity from the game.
  • Added PlayerSettings class, which can grant you access to internal settings.
  • Added For<T>() in Helper, allowing you to do an in-line iteration whilst including the index.
  • Added Flatten() in Helper, allowing you to truncate any nested arrays into one long array.
  • Added HexToColor() in StructHelper allowing you to convert any hexadecimal code into a Color32 struct.
  • Fixed GetAllValues() from Helper so that properties and fields' values are correctly unwrapped.
  • Fixed Replace() from StructHelper not allowing null values.
  • Changed Tuple<T1, T2...> to inherit from tuples 1 smaller than itself, allowing you to cast or truncate the tuple.

Changed Form method

08 Apr 20:03
Compare
Choose a tag to compare
Changed Form method Pre-release
Pre-release
  • Added Slice<T>(), which returns a slice or subarray of an IEnumerable<T>.
  • Changed Form() to automatically call UnwrapToString() for each index.

Removed reflection to the game itself

06 Apr 10:26
Compare
Choose a tag to compare
Pre-release
  • Added ModInfo class, which is meant for deserializing modInfo.json files.
  • Added Helper.FirstValue() and Helper.LastValue() which returns the first non-null value from an anonymous function.
  • Added Helper.GetUpperBound() and Helper.IsNullOrEmpty() for IEnumerable<T> type.
  • Added null checks to Helper.Backwards<T>(), Helper.Call<T>(), and Helper.Replace<T>()
  • Added empty/null check for ModBundleName with instructions on how to set it up.
  • Changed exception from Version to be clearer and give instructions.
  • Changed ToOrdinal() to be compatible with negative numbers.
  • Changed caching system in PathManager to accept objects instead of strings.
  • Renamed Helper.ThrowIfNullOrEmpty() to Helper.AssertNotNullOrEmpty()
  • Replaced PathManager.GetModInfoVersion() and PathManager.GetModInfoPath() with PathManager.GetModInfo()

Fixed formatted filename

05 Apr 11:21
Compare
Choose a tag to compare
Pre-release
1.0.3-beta

Fixed formatted filename