Releases: Emik03/KeepCoding
Releases · Emik03/KeepCoding
[Hotfix] Fixed NullRef caused by Sound
5.0.1 Version bump
Merged EditorOnly functionality with main
- Added
Bomb
andModules
property inModuleScript
. - Added
ICloneable
interface inBigInteger
. - Added
Manual
property inTPScript
. - Added right-to-left indexing in
BigInteger
- Added
Split()
with string overload inHelper
. - Added
SplitBy<T>()
which splits anIEnumerator
in two based on aFunc<T, bool>
. - Added
Suppress<T>()
inHelper
, allowing you to suppress exceptions specified from a givenAction
andFunc<T>
. - Added unary operators
+
,-
,++
, and--
inBigInteger
. - Added
Vanillas
inGame
. - Changed bomb and module hooks to be on
Awake
inModuleScript
. - Changed
Call<T>()
to useUnwrapToString()
inHelper
. - Changed dependency to game only being used in-game. It is now safe to call methods and properties from the game through this library within the Editor!
- Changed
OnSolvableSolved
,OnNeedySolved
, andOnModuleStrike
inModuleScript
to pass in the module's name instead of the module's Id. - Changed
IsInRange()
to be calledIsBetween()
inBigInteger
to remain consistent. - Changed
LoadVideoClips()
to beLoadAssets<T>()
, removing the coroutine aspect which returns the assets directly, and giving it a wider purpose, inPathManager
. - Fixed broken
Equals()
method onSound
. - Fixed module throwing exceptions when playing too many sounds due to a limitation with
KMAudioRef
-related play sound methods. - Removed
EditorOnly
build. The main dll uses quirky workarounds with dependencies to only use the game's code when it's run in-game, and return default values otherwise. - Removed
IRCConnection
class fromPathManager
.
[Hotfix] Changed LogMultiple to no longer use "in" keyword
Revert "Merge branch 'editoronly' into main" This reverts commit 95576cbd03c9f8b9605f5ae0aa0c8aab4a55668c, reversing changes made to a89063a170ef7a54486afb881744c36b8a55bde8.
Revamped Logging
- Added
AddStrikes
,SetStrikes
, andTimer
inGame
. - Added
Assert()
,Find()
, andStop()
extension methods inHelper
. - Added constructor overload with
Component
forModuleContainer
. - Added generic and type overloads of
GetPath()
inPathManager
. - Added
LastId
inModuleScript
. - Added logging when calling methods in
PathManager
. - Added logging when
ModuleScript
'sAwake()
andOnDestroy()
run. - Added new
Logger
class. Implemented by bothModuleScript
and allowsKeepCoding
to log itself. - Added
PlayStackable()
inAudioScript
. - Added
ToLogger
extension method inTypeHelper
. - Changed default parameter
priority
inPlay()
ofAudioScript
to 128. - Changed
HasStruck
's setter fromModuleScript
to be public. - Changed
Relative
to be public inAudioScript
. - Fixed end of fade being absolute volume instead of relative in
AudioScript
. - Fixed
ModuleScript
subtracting strikes even when strikes weren't issued in the event of an exception. - Renamed
DynamicAudio
toAudioScript
. - Renamed
ModuleId
toId
inModuleScript
. - Removed one of the
Dump
overloads inModuleScript
. - Removed serialization of
Volume
inAudioScript
.
[Hotfix] Added generic and type overloads to GetPath() to PathManager
3.2.1 Merge branch 'main' of https://github.com/Emik03/KeepCoding into main
Fixed GetPath accessibility
- Changed
ModuleScript
to solve the module instantly before calling the Twitch Plays autosolver, since an exception can be thrown with no way of handling it. - Fixed
DynamicAudio
receivingMissingComponentException
on Editor. - Fixed
GetPath()
being inaccessible inPathManager
.
Fixed AudioSource being inaccessible in DynamicAudio
- Added property
AudioSource
forDynamicAudio
that allows the field_audioSource
to be accessed. - Changed
DynamicAudio
to only create the component when called, and if null.
Solve automatically on unhandled exception and removed ModBundle class
- Added
Assign()
Action<KMSelectable>
overload toEventHelper
. - Added
Bomb
property inGame
. - Added
Call()
overload which callsDebug.Log()
by default inHelper
. - Added generics and type overloads in
GetModInfo()
,LoadLibrary()
andLoadVideoClips()
. - Added
IsPlaying
inDynamicAudio
. - Added
Logger()
inHelper
. - Added
NameOfAssembly<T>()
andNameOfAssembly()
inPathManager
. - Added null check in
Sound
constructors. - Added
StartOrRestart()
inRoutine
. - Changed
DynamicAudio
fields to all be private. - Changed
GetAllValues()
to be namedReflectAll()
inHelper
- Changed
HasComponent
to include an out parameter inHelper
. - Changed
ModuleContainer
properties to have shorter names. - Changed
ModuleScript
to automatically solve the module when an exception is thrown. - Changed
ModuleScript
to log theKeepCoding
version number. - Changed
TPScript
'sTwitchHelpMessage
to be private. - Fixed missing constants in
ComponentPool
. - Fixed non-generic
Routine
not having a default value inoneByOne
. - Removed
ModBundle
. The assembly name is used instead.
Ready for Modkit
Version numbers will from now on follow semantic versioning.
This update irons out the last few things needed before this library is fully ready to be used in a modkit.
- Added
OnModuleStrike
,OnRegularSolved
, andOnNeedySolved
toModuleScript
. - Added option to wait for other instances of itself on
Routine
. - Added
IRCConnection
subclass toGame
, allowing you to send twitch messages in the chat. - Changed library to be C# 8. This is to help people compile it in operating systems other than Windows.
- Removed interfaces
IModule
andITP<T>
.ITP
will still remain.
Major bug fixes
- Added a way for
ModuleScript
to get the currentTPScript
with the propertyTP
. - Added
ComponentPool
class. - Added
GeneratorSetting
class. - Added properties to wrap TP-reflected fields.
- Added sealed modifier to
ModBundle
. - Changed
Game
'sIsPacingEventsOn
toIsPacingEvents
. - Fixed major bug from
Mission
not getting localized strings before returning the string properties. - Fixed major bug from
PathManager
involving not includingDirectoryNotFoundException
inGetDisabledPath
.