File Details
DoIt!-0.68.zip
- B
- Apr 7, 2020
- 470.66 KB
- 1.7K
- 8.3.0+1
- Classic + 1
File Name
DoIt!-0.68.zip
Supported Versions
- 8.3.0
- 1.13.3
Changelog 0.65/0.66/0.67/0.68
* Implemented Classy.Hashtable, intended to be a better way to use lua tables as just a hash table.
* Added isEmpty() and contains() methods/functions to Classy.Array (for List and DataSet classes)
* Added merge() method/function to Classy.List
* Added the abstract class Classy.Field, which is a 2D array where any (x, y) integer point may have some value
* Added a Matrix class, still under construction.
* Added Classy.Job to the toc, was missing by mistake
* Removed Classy.DateTime, too abstract for this framework
* Renamed "constructor" local variables, in new functions and createInstance, to initializer. The initializer is essentially a way to pass arguments into the constructor.
Changelog 0.60/0.61/0.62
* Added Classy.getClass(className), an advance form of getglobal(""). For example "Classy.List", getglobal can not handle that string because of the period in the string.
* Added Classy.getClassName(object), get the class name of the given object.
* Moved map() to Classy.Array, so now Classy.DataSet can use it too.
* Cleaned up Classy.Array
* Cleaned-up Classy.List:map() and it's unit test Classy.UnitTests.ListMap()
Changelog 0.59
* Created an abstract class called Classy.Array, the prototypes for both Classy.List and Classy.DataSet inherit from this. It contains the length(), clone(), copy(), equals(), sort(), forEach() functions which are identical in both of these concrete classes.
* Added Classy.List:map(func, ...), returns the results after applying the given function to each item of the given list(s); see UnitTests.ListMap() as an example.
* Started designing Classy.NeuralNetwork, a simple neural network class
Changelog 0.56
* Added Classy.BinaryTree
* Cleaned up Classy.Tree
* Moved addon.createInstance to Classy.createInstance
* Moved addon.inheritFrom to Classy.inheritFrom
* Cleaned up class naming and checking (formally self._type) (now self._className)
* Added Classy.isClass(object, ["className"])
Changelog 0.54/0.55
* Cleaned up unit tests a bit, and took unit test functions out of the global namespace
* Code refactoring of DoIt.Events:watch() and unwatch()
* Fixed a small logic error in watch()/unwatch() error handling
* Added DoIt.Events:watch() and unwatch() functions. This uses onUpdate polling of a watchFunction's return value, generating an Observable change when this happens. Look at lines 40-46 in Events.lua as an example; this is where I use watch internally to create an isPlayerOnTaxi Observable (observing a change in return value from UnitOnTaxi("player")) and two events (onTaxiStart and onTaxiEnd), which uses the subscription to isPlayerOnTaxi to invoke these event handlers.
Changelog 0.52 / 0.53
* Removed DataSet:get(), DataSet:get(index) still exists. Use DataSet:clone() instead.
* Added DataSet:sort() / DataSet:sort(compareFunction)
Changelog 0.49 / 0.50 / 0.51
* Added DoIt.PInvoke that has an error handler argument and uses an xpcall()
* Renamed Classy.SingleArray to Classy.DataSet and Classy.Array to Classy.List
* Added copy, equals, union, intersection, and difference set functions to Classy.DataSet
* DoIt.Invoke() now returns the return value(s) of the function that is invoked
Changelog 0.46 / 0.47
* Added a forEach(self, func, ...) method for Classy.Array and Classy.SingleArray
* Added DoIt.ForEachPlayerFrame(func, ...), Iterates all player frames (in a group) and execute the function for each frame
* Added DoIt.ForEachRaidFrame(func, ...), Iterates all raid frames and execute the function for each frame
Changelog 0.45
* DoIt.GetObject renamed to DoIt.Get
* DoIt.InvokeInModule renamed to DoIt.Invoke
* DoIt.GetModule() was removed, this would of been prone to misuse (design wise).
Changelog 0.44
* DoIt.GetObject, get object's inside a module's internal "addon" table
* Example: DoIt.GetObject("BlizzardInterfaceDisplayManager", "FadeBlizzardUI"):set(true)
Changelog 0.43
* Added onTaxiStart and onTaxiEnd events
* Added module registration, as well as being able to specify an onLoad handler (triggered by its ADDON_LOADED event)
* Changed mouse move event handler, args 3 and 4 are now scaled delta values and not the old (x, y) location.

