RPG Maker MV
DoubleX RMMV Object Properties
Introduction
Traces all object properties meeting some conditions linked to the queried object
Designed as a bug diagnosis tool used by Javascript coders with debug experience
Features
*============================================================================ * ## Plugin Call Info * A path in the object property trace will stop if it'd be cyclic *---------------------------------------------------------------------------- * # Object manipulations * 1. trace_obj_prop(cond, label) * - Traces all object properties satisfying function cond linked to * this object * - Labels all traced object properties with function label * - cond and label are functions written in * Object Property Tracing Condition Function and * Object Property Tracing Label Function respectively * 2. _obj_prop_log[cond] * - Returns the log of all traced object properties satisfying * function cond linked to this object *============================================================================
/*------------------------------------------------------------------------
* Object Property Tracing Condition Function
* - Setups cond used by trace_obj_prop(cond, label)
*------------------------------------------------------------------------*/
/* cond must be a function taking the object property as the only argument
The below examples are added to help you setup your own cond functions */
// Checks if the currently traced object's indeed an object
cond_obj: function(obj) {
return typeof obj === "object";
}, // substitute cond with "cond_obj" to use this function
// Checks if the currently traced object's an array
cond_array: function(obj) {
return Array.isArray(obj);
}, // substitute cond with "cond_array" to use this function
// Add your own cond functions here
/*------------------------------------------------------------------------
* Object Property Tracing Label Function
* - Setups label used by trace_obj_prop(cond, label)
*------------------------------------------------------------------------*/
/* label must be a function taking the object property as the only argument
All label functions must return a string
The below examples are added to help you setup your own label functions */
// Always returns the entire object
label_obj: function(obj) {
return obj;
}, // substitute label with "label_obj" to use this function
// Always returns the type(including Array) of each traced object property
label_array: function(obj) {
if (Array.isArray(obj)) {
return "array";
}
return typeof obj;
} // substitute label with "label_array" to use this function
// Add your own label functions here
The Code
License Terms
Attribution 3.0 Unported - You must attribute the work in the manner specified by the author or licensor. Commerical use allowed.
Version History
* v1.00d(GMT 1500 27-1-2016): * 1. Fixed enumerating this plugin's functions via for in loops bug * v1.00c(GMT 0100 13-11-2015): * 1. Fixed tracing properties from null or non object object bug * v1.00b(GMT 1100 11-11-2015): * 1. Added descriptions that will be shown in the plugin manager * v1.00a(GMT 1500 27-10-2015): * 1. 1st version of this plugin finished
Credits & Thanks
DoubleX(Optional)
Terms & Conditions
// You shall keep this plugin's Plugin Info part's contents intact // // You shalln't claim that this plugin's written by anyone other than // // DoubleX or his aliases // // None of the above applies to DoubleX or his aliases //
Comments (3)
Leave a Reply
You must be logged in to post a comment.
DoubleX
[b]Updates[/b]
[code] * v1.00b(GMT 1100 11-11-2015):
* 1. Added descriptions that will be shown in the plugin manager [/code]
DoubleX
[b]Updates[/b]
[code] * v1.00c(GMT 0100 13-11-2015):
* 1. Fixed tracing properties from null or non object object bug [/code]
DoubleX
[b]Updates[/b]
[code] * v1.00d(GMT 1500 27-1-2016):
* 1. Fixed enumerating this plugin's functions via for in loops bug [/code]