Releases: Emik03/KeepCoding
Releases · Emik03/KeepCoding
Changed Mission to be static
- Changed link on
ModBundle
error fromModuleScript
to be the new wiki page. - Changed
Mission
subclass insideGame
to be static.
Added subclass for obtaining mission information
- Added clarification for XML regarding TP variables.
- Added a
Force Solve
andForce Solve All
buttons within the inspector ofTPScript
. This allows you to verify the fact that the module gets solved before theIEnumerator
ends as Twitch Plays will automatically autosolve your module if this isn't the case, which is considered a mistake. - Added a non-generic
ITP
interface. - Added a
RequireComponent
attribute toTPScript
. - Added more properties in common with the
Tuple
type to theITuple
interface. - Added nested class
Mission
inGame
class, allowing you to obtain information about the current mission being played. - Changed
ModBundle
to be a dedicated component rather than as a public field. This makes it stand out more. - Changed
ModuleScript
andTPScript
's TP-based protected fields for reflection to public properties that encapsulate private fields. This means that the names of these properties are renamed. - Removed fields for Twitch Plays support to only be included in either
ModuleScript
orTPScript
, this is because the Twitch Plays mod only assumes that one of the script files has the variables, and will therefore set the values only on the last one it finds.
Added ability to get control type
- Added
ControlType
enum toGame
. - Added
IsLastInstantiated
andVersion
toIModule
. - Added
IsVR
toModuleScript
. - Added
KTInputManager
toGame
. - Added
Module
toITP
. - Changed
PathManager
to only suppress exceptionsUnauthorizedAccessException
,ArgumentException
, andArgumentNullException
when checking for disabled paths. - Changed
TPModule
'sModule
to be public.
Added module-cross communication services
- Added
Equals()
andGetHashCode()
methods which were previously missing in bothSound
andModuleContainer
. - Added
IModule
andITuple
interface for abstract classModuleScript
and the multipleTuple
types respectively. - Added
InsertNewlines()
toHelper
which automates placing line breaks on evenly-spaced intervals prioritizing whitespace easier. - Added
ModuleScript
'sRead<T>()
andWrite<T>()
methods. This allows different assemblies to access the same data without resorting to reflection. - Added
PrintHierarchy()
andPrintFullHierarchy()
toPathManager
, allowing you to diagnose issues related to seeing the structure of the scene, such as usingGetComponentsInParent
orGetComponentsInChildren
. - Changed
DynamicAudio
to be sealed. You can no longer derive from this class. - Changed
Helper
'sUnwrap
to include a try-catch forSecurityException
s. - Changed
ModuleScript
'sIsEditor
to be static. If you are referencingIsEditor
outside of a script file deriving fromModuleScript
, you need to now declare the type name instead of an instance. - Changed
PathManager
to throw an exception ifLoadVideoClips
returns an empty array of videos. - Changed
ModuleContainer
's constructor exception about bothKMBombModule
andKMNeedyModule
being null. - Changed
TPScript
's generic to beTModule
for clarity, as it's present throughout the whole class. If you have a generic method, you are likely able to rename it back toT
since it is no longer taken. - Removed
UnityComponentNotFoundException
sinceMissingComponentException
already exists.
[Hotfix] Changed BigInteger modulo extension to be non-generic
1.6.2 Version bump
Fixed TPScript
- Fixed major mistake with
TPScript
where the type constraint included the interfaceITP
, rather than includingITP
as an interface forTPScript
.
Added ITP interface, changed TypeHelper extensions
- Added
ITP
interface, which is an interface for Twitch Plays support. It is already inherited byTPScript
such that it doesn't need to be assigned. - Changed error message for
ModuleScript
'sPlaySound()
. - Changed
TPScript
's abstract methods to be public. - Changed
TypeHelper
's extension methods to be more easily callable.
Method fixes
- Fixed
Helper
'sIsNullOrEmpty()
always returning true unless the array was empty. - Fixed
ModuleScript
not throwing errors whenGet<T>()
returns null and optional parameterallowNull
is false. - Fixed
TPScript
'sTryWaitCancel()
returningstrikemessage
instead oftrywaitcancel
.
Added CreateDelegate extension method
- Added
CreateDelegate()
inEventHelper
. - Changed
BigInteger
'sIsInRange()
andModulo()
from object to generic. - Changed
Helper's
IsIterator()
,NameOfVariable()
,UnwrapToString()
, andGetAllValues()
from object to generic. - Changed
ModuleScript
'sLog()
from object to generic. - Changed
TPScript
'sEvaluate()
from object to generic. - Removed debug message from
ModuleScript
.
Added Apply for arrays
- Added overload of
Apply()
inHelper
that accepts arrays and passes in an integer as the index.