Skip to content

Releases: Emik03/KeepCoding

Changed Mission to be static

21 May 11:59
Compare
Choose a tag to compare
Pre-release
  • Changed link on ModBundle error from ModuleScript to be the new wiki page.
  • Changed Mission subclass inside Game to be static.

Added subclass for obtaining mission information

21 May 11:21
Compare
Choose a tag to compare
  • Added clarification for XML regarding TP variables.
  • Added a Force Solve and Force Solve All buttons within the inspector of TPScript. This allows you to verify the fact that the module gets solved before the IEnumerator 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 to TPScript.
  • Added more properties in common with the Tuple type to the ITuple interface.
  • Added nested class Mission in Game 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 and TPScript'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 or TPScript, 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

19 May 00:34
Compare
Choose a tag to compare
Pre-release
  • Added ControlType enum to Game.
  • Added IsLastInstantiated and Version to IModule.
  • Added IsVR to ModuleScript.
  • Added KTInputManager to Game.
  • Added Module to ITP.
  • Changed PathManager to only suppress exceptions UnauthorizedAccessException, ArgumentException, and ArgumentNullException when checking for disabled paths.
  • Changed TPModule's Module to be public.

Added module-cross communication services

12 May 12:24
Compare
Choose a tag to compare
  • Added Equals() and GetHashCode() methods which were previously missing in both Sound and ModuleContainer.
  • Added IModule and ITuple interface for abstract class ModuleScript and the multiple Tuple types respectively.
  • Added InsertNewlines() to Helper which automates placing line breaks on evenly-spaced intervals prioritizing whitespace easier.
  • Added ModuleScript's Read<T>() and Write<T>() methods. This allows different assemblies to access the same data without resorting to reflection.
  • Added PrintHierarchy() and PrintFullHierarchy() to PathManager, allowing you to diagnose issues related to seeing the structure of the scene, such as using GetComponentsInParent or GetComponentsInChildren.
  • Changed DynamicAudio to be sealed. You can no longer derive from this class.
  • Changed Helper's Unwrap to include a try-catch for SecurityExceptions.
  • Changed ModuleScript's IsEditor to be static. If you are referencing IsEditor outside of a script file deriving from ModuleScript, you need to now declare the type name instead of an instance.
  • Changed PathManager to throw an exception if LoadVideoClips returns an empty array of videos.
  • Changed ModuleContainer's constructor exception about both KMBombModule and KMNeedyModule being null.
  • Changed TPScript's generic to be TModule for clarity, as it's present throughout the whole class. If you have a generic method, you are likely able to rename it back to T since it is no longer taken.
  • Removed UnityComponentNotFoundException since MissingComponentException already exists.

[Hotfix] Changed BigInteger modulo extension to be non-generic

30 Apr 11:23
Compare
Choose a tag to compare
1.6.2

Version bump

Fixed TPScript

30 Apr 09:40
Compare
Choose a tag to compare
Fixed TPScript Pre-release
Pre-release
  • Fixed major mistake with TPScript where the type constraint included the interface ITP, rather than including ITP as an interface for TPScript.

Added ITP interface, changed TypeHelper extensions

30 Apr 08:26
Compare
Choose a tag to compare
  • Added ITP interface, which is an interface for Twitch Plays support. It is already inherited by TPScript such that it doesn't need to be assigned.
  • Changed error message for ModuleScript's PlaySound().
  • Changed TPScript's abstract methods to be public.
  • Changed TypeHelper's extension methods to be more easily callable.

Method fixes

25 Apr 13:33
Compare
Choose a tag to compare
Method fixes Pre-release
Pre-release
  • Fixed Helper's IsNullOrEmpty() always returning true unless the array was empty.
  • Fixed ModuleScript not throwing errors when Get<T>() returns null and optional parameter allowNull is false.
  • Fixed TPScript's TryWaitCancel() returning strikemessage instead of trywaitcancel.

Added CreateDelegate extension method

24 Apr 15:15
Compare
Choose a tag to compare
Pre-release
  • Added CreateDelegate() in EventHelper.
  • Changed BigInteger's IsInRange() and Modulo() from object to generic.
  • Changed Helper's IsIterator(), NameOfVariable(), UnwrapToString(), and GetAllValues() from object to generic.
  • Changed ModuleScript's Log() from object to generic.
  • Changed TPScript's Evaluate() from object to generic.
  • Removed debug message from ModuleScript.

Added Apply for arrays

20 Apr 18:49
c5c8064
Compare
Choose a tag to compare
Pre-release
  • Added overload of Apply() in Helper that accepts arrays and passes in an integer as the index.